NetworkManager — это демон , работающий поверх libudev и других интерфейсов ядра Linux (и нескольких других демонов) и предоставляющий высокоуровневый интерфейс для настройки сетевых интерфейсов.
NetworkManager — это программная утилита, призванная упростить использование компьютерных сетей . NetworkManager доступен для Linux-ядерных и других Unix-подобных операционных систем . [ требуется ссылка ]
Для соединения компьютеров друг с другом были разработаны различные протоколы связи , например, IEEE 802.3 (Ethernet), IEEE 802.11 («беспроводной»), IEEE 802.15.1 (Bluetooth), PPPoE , PPPoA и многие другие. Каждый участвующий компьютер должен иметь подходящее оборудование, например, сетевую карту или беспроводную сетевую карту , и это оборудование должно быть настроено соответствующим образом, чтобы иметь возможность установить соединение.
В случае монолитного ядра все драйверы устройств являются его частью. Доступ к оборудованию (и его настройка) осуществляется через его драйвер устройства утилитой конфигурации для настройки оборудования, а также программами, такими как веб-браузер / SSH / NTP -клиент и т. д. для отправки и получения сетевых пакетов.
В Linux и всех Unix-подобных операционных системах утилиты ifconfig
и более новые ip
(из пакета iproute2 ) используются для настройки оборудования IEEE 802.3 и IEEE 802.11 . Эти утилиты настраивают ядро напрямую, и конфигурация применяется немедленно. После загрузки пользователю необходимо настроить их снова.
Для применения той же статической конфигурации после каждой загрузки используются программы PID1: System V init выполняет скрипты оболочки и двоичные программы, systemd анализирует свои собственные conf-файлы (и выполняет программы). Конфигурация загрузки сетевых интерфейсов хранится в /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 сделает это автоматически, даже не заметив этого со стороны пользователя.
/etc/NetworkManager/NetworkManager.conf
Но поскольку мы перешли от физически больших серверов к более портативным хостам, которые можно подключать и отключать (или перемещать из одной точки доступа WiFi в другую) по усмотрению пользователя, динамические конфигурации (т. е. не хранящиеся в статическом файле конфигурации, а взятые извне хоста и потенциально изменяющиеся после загрузки) стали более распространенной конфигурацией. Bootp был одним из первых протоколов, используемых для этого, и по сей день его потомок DHCP все еще очень распространен. Многие Unix-подобные системы включают программу dhclient для обработки этой динамической конфигурации. Учитывая относительно статическую или простую динамическую конфигурацию, статическая конфигурация, измененная dhclient, работает хорошо. Однако по мере того, как сети и их топологии становятся более сложными, центральный менеджер для всей информации о конфигурации сети становится все более необходимым. [ необходима цитата ]
NetworkManager состоит из двух компонентов:
Оба компонента, по замыслу разработчиков, должны быть достаточно переносимыми, а апплет доступен для сред рабочего стола , которые реализуют протокол Freedesktop.org System Tray Protocol, [3] включая GNOME, KDE Plasma Workspaces, Enlightenment (программное обеспечение) и Xfce . Поскольку компоненты взаимодействуют через D-Bus, приложения могут быть написаны так, чтобы быть « осведомленными о ссылках », или полностью заменять предоставленный апплет. Одним из примеров является KNetworkManager, KDE-интерфейс для NetworkManager, разработанный Novell для SUSE Linux .
Антти Кайянмяки объявил о разработке помощника по настройке мобильного широкополосного доступа для NetworkManager в апреле 2008 года; [7] он стал доступен в версии NetworkManager 0.7.0. Вместе с пакетом mobile-broadband-provider-info соединение легко настраивается.
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. [8]