NetworkManager

редактировать
NetworkManager
NetworkManager - это системный демон с различными доступными графическими интерфейсами NetworkManager - системный демон с различными доступными графическими интерфейсами
Автор (ы) Red Hat
Разработчик (и) в основном Red Hat
Первоначальный выпуск19 ноября 2004 г.; 15 лет назад (2004-11-19)
Стабильный выпуск 1.22.6 / 31 января 2020 г.; 8 месяцев назад (2020-01-31)
Репозиторий Измените это в Викиданных
Написано наC с помощью GObject
Операционная система SUS / POSIX
Платформа Unix-подобная
Тип
Лицензия GNU GPL
Веб-сайтwiki.gnome.org / Projects / NetworkManager

NetworkManager - это демон , который находится поверх libudev и других интерфейсов ядра Linux (и пары других демонов) и предоставляет интерфейс высокого уровня для настройки сетевых интерфейсов.

Содержание
  • 1 Обоснование
  • 2 Как это работает
    • 2.1 Конфигурация сетевых интерфейсов без NetworkManager
    • 2.2 Конфигурация сетевых интерфейсов с помощью NetworkManager
      • 2.2.1 Архитектура программного обеспечения
        • 2.2.1.1 Графические интерфейсы и интерфейсы командной строки
    • 2.3 Помощник по настройке мобильного широкополосного доступа
  • 3 История
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
Обоснование

NetworkManager - это программное обеспечение, призванное упростить использование компьютерных сетей. NetworkManager доступен для ядра Linux и других Unix- подобных операционных систем.

Принципы работы
Ядро Linux: драйверы сетевых устройств и сетевой стек. Служебные программы не показаны, они взаимодействуют через SCI с различными компонентами ядра.

Для соединения компьютеров друг с другом были разработаны различные протоколы связи, например IEEE 802.3 (Ethernet), IEEE 802.11 («беспроводной»), IEEE 802.15.1 (Bluetooth), PPPoE, PPPoA и многие другие. Каждый участвующий компьютер должен иметь подходящее оборудование, например сетевая карта или беспроводная сетевая карта, и это оборудование должно быть настроено соответствующим образом, чтобы иметь возможность устанавливать соединение.

В случае монолитного ядра все драйверы устройств являются его частью. Доступ к оборудованию (а также его настройка) осуществляется через драйвер устройства. В случае Linux ядро ​​представляет для каждого драйвера устройства представление в виде файла устройства . Все файлы устройств находятся в каталоге / dev, и традиционно файлы устройств для оборудования Ethernet назывались eth0, eth1и т. Д. Начиная с systemd, они имеют разные названия: enp4s0и т. д. (Эта абстракция называется концепцией все является файлом.)

Все, что находится в пользовательском пространстве, обращается к оборудованию через свое устройство файл. Утилита конфигурации для настройки оборудования и программ, таких как веб-браузер / SSH / NTP -client / и т. Д. отправлять и получать сетевые пакеты.

Конфигурация сетевых интерфейсов без NetworkManager

В Linux и всех Unix-подобных операционных системах утилиты ifconfig и более новые ip(из iproute2 -bundle) используются для настройки оборудования IEEE 802.3 и IEEE 802.11. Эти утилиты настраивают ядро ​​напрямую, и конфигурация применяется немедленно. После загрузки пользователю необходимо снова настроить их.

Для применения одной и той же статической конфигурации после каждой загрузки используются программы PID1: System V init выполняет сценарии оболочки и двоичные программы, systemd анализирует свои собственные файлы конфигурации (и запускает программы). Конфигурация загрузки для сетевых интерфейсов хранится в /etc/network/interfaces для дистрибутивов Debian Linux и его производных или ifcfg файлы в / etc / sysconfig / network-scripts /для Fedora и его производных, и DNS -серверы в /etc/resolv.conf. / etc / network / interfacesили / etc / sysconfig / network-scripts / ifcfg- *может определять статический IP-адрес или dhclient , а также здесь можно настроить все виды VPN.

В случае, если конфигурация должна быть изменена, DHCP -протокол проходит долгий путь, чтобы сделать это автоматически, незаметно для пользователя.

Конфигурация сетевых интерфейсов с помощью NetworkManager

  • NetworkManager доступна через dbus.
  • Конфигурация хранится в /etc/NetworkManager/NetworkManager.conf

Однако динамические конфигурации (т.е., не хранящиеся в статическом файле конфигурации, а взятые извне хоста и потенциально изменяющиеся после загрузки) становятся все более распространенной конфигурацией, особенно по мере того, как мы перешли от физически больших серверов к более портативным хостам, которые могут быть подключены и отключены ( или перемещен из точки доступа WiFi в точку доступа WiFi) по желанию пользователя. Bootp был одним из первых протоколов, используемых для этого, и по сей день его потомок DHCP все еще очень распространен. Многие Unix-подобные системы включают программу, вызываемую для обработки этой динамической конфигурации. При относительно статической или простой динамической конфигурации хорошо работает статическая конфигурация, измененная с помощью. Однако по мере усложнения сетей и их топологий центральный диспетчер всей информации о конфигурации сети становится все более важным.

Архитектура программного обеспечения

NetworkManager состоит из двух компонентов:

  1. NetworkManager демон, фактическое программное обеспечение, которое управляет соединениями и сообщает об изменениях в сети
  2. несколько графических интерфейсов для различных поверхностей, таких как GNOME Shell, Панель GNOME, Рабочие области KDE Plasma, Cinnamon и т. Д.

Оба компонента предназначены разработчиками для разумной переносимости, и апплет доступен для окружения рабочего стола, которые реализуют Freedesktop.org протокол системной панели, включая GNOME, KDE Plasma Workspaces, Enlightenment (программное обеспечение) и Xfce. Поскольку компоненты обмениваются данными через D-Bus, приложения могут быть написаны так, чтобы они были осведомлены о ссылке или полностью заменяли предоставленный апплет. Одним из примеров является KNetworkManager, интерфейс KDE для NetworkManager, разработанный Novell для SUSE Linux.

Графический интерфейс и интерфейсы командной строки
nm-applet
nm-applet - это GNOME апплет для NetworkManager.
nmcli
nmcli - это встроенный в NetworkManager интерфейс командной строки, добавленный в 2010. nmcli позволяет легко отображать текущее состояние NetworkManager, управлять соединениями и устройствами, контролировать соединения.
nmtui
nmtui - это встроенный текстовый пользовательский интерфейс. nmtui относительно прост по сравнению с nmcli, который позволяет пользователям только добавлять / редактировать соединение, активировать соединение и устанавливать имя хоста системы.
cnetworkmanager
интерфейс командной строки cnetworkmanager для NetworkManager.

Помощник по настройке мобильного широкополосного доступа

Антти Кайянмяки объявил о разработке помощника по настройке мобильного широкополосного доступа для NetworkManager в апреле 2008 года; он стал доступен в NetworkManager версии 0.7.0. Вместе с пакетом информации о провайдере мобильной широкополосной связи легко настраивается соединение.

История

Red Hat инициировала проект NetworkManager в 2004 году с целью облегчить пользователям Linux возможность справляться с современными сетевыми потребностями, в частности беспроводной сетью. NetworkManager использует гибкий подход к выбору сети, пытаясь использовать наилучшее доступное соединение при сбоях или когда пользователь перемещается между беспроводными сетями. Он предпочитает соединения Ethernet над «известными» беспроводными сетями, которые предпочтительнее беспроводных сетей с SSID, к которым пользователь никогда не подключался. При необходимости пользователю предлагается ввести ключи WEP или WPA.

Проект NetworkManager был одним из первых основных компонентов рабочего стола Linux, широко использовавших D-Bus и HAL. Однако с июня 2009 г. NetworkManager больше не зависит от HAL, а с версии 0.9.10 (примерно 2014 г.) также не требуется, чтобы демон D-Bus работал для работы с правами root.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-31 04:54:25
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте