stringtranslate.com

NetworkManager

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

Обоснование

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

Как это работает

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

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

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

Настройка сетевых интерфейсов без NetworkManager

В 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 сделает это автоматически, даже не заметив этого со стороны пользователя.

Настройка сетевых интерфейсов с помощью NetworkManager

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

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

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

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

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

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

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

Антти Кайянмяки объявил о разработке помощника по настройке мобильного широкополосного доступа для 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]

Смотрите также

Ссылки

  1. ^ "1.50.0". 2 октября 2024 г. Получено 2 октября 2024 г.
  2. ^ "CONTRIBUTING.md · main · NetworkManager / NetworkManager · GitLab". 23 мая 2024 г.
  3. ^ Пеннингтон, Хавок. "Спецификация протокола системного трея". Standards.freedesktop.org . Получено 2012-02-04 .
  4. ^ "Начальные части nmcli, gitweb". cgit.freedesktop.org . Получено 28.05.2015 .
  5. ^ "Настройка сети с использованием текстового пользовательского интерфейса (nmtui) - Red Hat Customer Portal". Red Hat . Архивировано из оригинала 2017-11-16 . Получено 2017-11-16 .
  6. ^ "cnetworkmanager - Интерфейс командной строки для NetworkManager". Vidner.net. Архивировано из оригинала 2011-07-24 . Получено 2012-02-04 .
  7. ^ "Объявление в networkmanager-list". Mail.gnome.org. 2008-04-10 . Получено 2012-02-04 .
  8. ^ "Мы построим дом мечты из сети". Blogs.gnome.org. 20 июня 2014 г. Получено 28.05.2015 г.

Внешние ссылки