Кіріспе
Бағдарламалық қамтамасыздама
NetworkManager – libudev және Linux ядросының басқа интерфейстерінің (сондай-ақ бірнеше басқа демонның) үстінде жұмыс істейтін, желілік интерфейстерді конфигурациялау үшін жоғары деңгейдегі интерфейс ұсынатын демон.
Негізгі себептері
NetworkManager – компьютерлік желілерді пайдалануды жеңілдетуге бағытталған бағдарламалық құрал. NetworkManager Linux ядролық және басқа Unix сияқты операциялық жүйелерде қолжетімді.
Қалай жұмыс істейді
Компьютерлерді бір-бірімен байланыстыру үшін әртүрлі коммуникациялық протоколдар жасалған, мысалы, IEEE 802.3 (Ethernet), IEEE 802.11 («сымсыз»), IEEE 802.15.1 (Bluetooth), PPPoE, PPPoA және тағы да көптеген протоколдар бар. Қайсыбір компьютер қатысса, оның тиісті аппараттық құралдары болуы керек, мысалы, желілік карта немесе сымсыз желілік карта, және бұл аппараттық құралдар қосылыс орнату үшін тиісінше конфигурациялануы керек. Монолиттік ядро болған жағдайда, барлық құрылғы драйверлері оның құрамына кіреді. Аппараттық құралға оның құрылғы драйвері арқылы қол жеткізіледі (сондай-ақ конфигурацияланады). Linux жүйесінде ядро әрбір құрылғы драйверін құрылғы файлы түрінде көрсетеді. Барлық құрылғы файлдары /dev каталогында орналасқан, ал дәстүрлі түрде Ethernet аппараттық құралдары eth0, eth1 және т.б. деп аталды. Systemd пайдаланғаннан бастап, олар басқаша аталады: enp4s0 және т.б. (Бұл абстракция «барлығы файл» деген түсінік деп аталады). Пайдаланушы кеңістігіндегі кез келген бағдарлама аппараттық құралға оның құрылғы файлы арқылы қол жеткізеді. Аппараттық құралды конфигурациялау үшін конфигурациялық утилита, сондай-ақ желілік пакеттерді жіберу және қабылдау үшін веб-браузер/SSH/NTP клиенті/т.б. сияқты бағдарламалар қолданылады.
NetworkManager- дісіз желі интерфейстерін баптау
Linux және барлық Unix сияқты операциялық жүйелерде, ifconfig және жаңа ip (iproute2 жинағынан) құралдары IEEE 802.3 және IEEE 802.11 аппараттық құрылғыларын конфигурациялау үшін қолданылады. Бұл құралдар ядроны тікелей конфигурациялайды және конфигурация дереу қолданылады. Жүктеліп болғаннан кейін пайдаланушы оларды қайтадан конфигурациялауы керек. Әрбір жүктелуден кейін бірдей статикалық конфигурацияны қолдану үшін PID1 бағдарламалары пайдаланылады: System V init қабықша скрипттерін және екілік бағдарламаларды іске қосады, ал systemd өзінің conf файлдарын талдайды (және бағдарламаларды іске қосады). Желілік интерфейстердің жүктелу кезіндегі конфигурациясы Debian Linux дистрибутивтері мен оның туындылары үшін /etc/network/interfaces, Fedora және оның туындылары үшін /etc/sysconfig/network scripts/ ifcfg файлдарында, ал 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 сияқты жүйелерде осы динамикалық конфигурацияны басқару үшін dhclient бағдарламасы бар. Шамалы статикалық немесе қарапайым динамикалық конфигурация болғанда, dhclient арқылы өзгертілген статикалық конфигурация жақсы жұмыс істейді. Дегенмен, желілер мен олардың топологиясы күрделенген сайын, барлық желі конфигурациясы ақпаратын басқару үшін орталық менеджердің қажеттілігі арта түседі.
But as we've transitioned from physically large servers to more portable hosts that may be plugged and unplugged (or moved from WiFi hotspot to WiFi hotspot) at the user's discretion, dynamic configurations (i. e., not stored in a static configuration file but taken from outside the host, and potentially changing after boot) have become a more prevalent configuration. Bootp was an early protocol used for this, and to this day its descendant DHCP is still very common. Many Unix like systems include a program called dhclient to handle this dynamic configuration. Given a relatively static or simple dynamic configuration, static configuration modified by dhclient works well. However, as networks and their topologies get more complex, a central manager for all the network configuration information becomes more essential.
Мобильді кең жолақты конфигурациялау көмекшісі
Антти Кайянмаки 2008 жылдың сәуірінде NetworkManager үшін мобильді кеңжолақты қосылымды конфигурациялауға көмектесетін құралды жасауды жариялады; ол NetworkManager нұсқасы 0.7.0-де қолжетімді болды. «mobile broadband provider info» жинағымен бірге қосылымды оңай орнатуға болады.
Тарих
Red Hat 2004 жылы NetworkManager жобасын Linux пайдаланушыларына қазіргі заманғы желілік қажеттіліктермен, әсіресе сымсыз желілермен оңай жұмыс істеуге мүмкіндік беру мақсатымен бастады. NetworkManager желіні таңдауда мүмкіндікті пайдаланады, яғни желі үзілгенде немесе пайдаланушы сымсыз желілер арасында көшкенде ең жақсы қолжетімді қосылымды пайдалануға тырысады. Ол пайдаланушы ешқашан қосылмаған SSID-тері бар сымсыз желілерге қарағанда, «таныс» сымсыз желілерге де, олардан бұрын Ethernet қосылымдарын артық көреді. Қажет болған жағдайда пайдаланушыдан WEP немесе WPA кілттері сұралады. NetworkManager жобасы D-Bus және HAL-ды кеңінен пайдаланған алғашқы негізгі Linux десктоп құрамдастарының бірі болды. Бірақ 2009 жылдың маусымынан бастап NetworkManager HAL-ға тәуелді емес, ал 0.9.10 нұсқасынан бастап (шамамен 2014 жыл), root операциялары үшін D-Bus демонының жұмыс істеуін қажет етпейді.