NetworkManager es un demonio que se encuentra encima de libudev y otras interfaces del kernel de Linux (y un par de demonios más) y proporciona una interfaz de alto nivel para la configuración de las interfaces de red.
NetworkManager es una utilidad de software que tiene como objetivo simplificar el uso de redes informáticas . NetworkManager está disponible para sistemas operativos basados en el núcleo Linux y otros sistemas operativos similares a Unix . [ cita requerida ]
Para conectar ordenadores entre sí se han desarrollado varios protocolos de comunicación , como por ejemplo IEEE 802.3 (Ethernet), IEEE 802.11 ("inalámbrico"), IEEE 802.15.1 (Bluetooth), PPPoE , PPPoA y muchos más. Cada ordenador participante debe disponer del hardware adecuado, por ejemplo, una tarjeta de red o una tarjeta de red inalámbrica , y este hardware debe estar configurado en consecuencia para poder establecer una conexión.
En el caso de un núcleo monolítico, todos los controladores de dispositivos forman parte de él. Se accede al hardware (y también se lo configura) a través de su controlador de dispositivo mediante la utilidad de configuración para configurar el hardware, y programas como el navegador web / SSH / cliente NTP /etc. para enviar y recibir paquetes de red.
En Linux y todos los sistemas operativos tipo Unix, las utilidades ifconfig
y las más nuevas ip
(del paquete iproute2 ) se utilizan para configurar el hardware IEEE 802.3 e IEEE 802.11 . Estas utilidades configuran el núcleo directamente y la configuración se aplica inmediatamente. Después del arranque, el usuario debe configurarlas nuevamente.
Para aplicar la misma configuración estática después de cada arranque, se utilizan los programas PID1: System V init ejecuta scripts de shell y programas binarios, systemd analiza sus propios archivos de configuración (y ejecuta programas). La configuración de arranque para las interfaces de red se almacena en /etc/network/interfaces
para las distribuciones Debian Linux y sus derivados o ifcfg
en archivos /etc/sysconfig/network-scripts/
para Fedora y sus derivados, y los servidores DNS en /etc/resolv.conf
. /etc/network/interfaces
o /etc/sysconfig/network-scripts/ifcfg-*
puede definir una dirección IP estática o dhclient
para su uso, y también se pueden configurar aquí todo tipo de VPN .
En caso de que sea necesario cambiar la configuración, el protocolo DHCP ayuda en gran medida a hacerlo de forma automática, sin que el usuario lo note.
/etc/NetworkManager/NetworkManager.conf
Pero a medida que hemos pasado de servidores físicamente grandes a hosts más portátiles que pueden enchufarse y desenchufarse (o moverse de un punto de acceso WiFi a otro) a discreción del usuario, las configuraciones dinámicas (es decir, no almacenadas en un archivo de configuración estática sino tomadas desde fuera del host y que pueden cambiar después del arranque) se han convertido en una configuración más frecuente. Bootp fue uno de los primeros protocolos utilizados para esto y, hasta el día de hoy, su descendiente DHCP sigue siendo muy común. Muchos sistemas tipo Unix incluyen un programa llamado dhclient para manejar esta configuración dinámica. Dada una configuración relativamente estática o dinámica simple, la configuración estática modificada por dhclient funciona bien. Sin embargo, a medida que las redes y sus topologías se vuelven más complejas, un administrador central para toda la información de configuración de la red se vuelve más esencial. [ cita requerida ]
NetworkManager tiene dos componentes:
Los desarrolladores han pensado que ambos componentes sean razonablemente portables y el subprograma está disponible para entornos de escritorio que implementan el protocolo de bandeja del sistema Freedesktop.org , [3] incluyendo GNOME, KDE Plasma Workspaces, Enlightenment (software) y Xfce . Como los componentes se comunican a través de D-Bus, las aplicaciones se pueden escribir para que sean " conscientes de enlaces " o para reemplazar por completo el subprograma proporcionado. Un ejemplo es KNetworkManager, una interfaz de KDE para NetworkManager desarrollada por Novell para SUSE Linux .
Antti Kaijanmäki anunció en abril de 2008 el desarrollo de un asistente de configuración de banda ancha móvil para NetworkManager; [7] se puso a disposición en la versión 0.7.0 de NetworkManager. Junto con el paquete mobile-broadband-provider-info la conexión se configura fácilmente.
Red Hat inició el proyecto NetworkManager en 2004 con el objetivo de permitir a los usuarios de Linux lidiar más fácilmente con las necesidades de redes modernas, particularmente las redes inalámbricas . NetworkManager adopta un enfoque oportunista para la selección de redes, intentando utilizar la mejor conexión disponible cuando se producen cortes de suministro o cuando el usuario se desplaza entre redes inalámbricas. Prefiere las conexiones Ethernet sobre las redes inalámbricas "conocidas", que son las preferidas sobre las redes inalámbricas con SSID a las que el usuario nunca se ha conectado. Se le solicita al usuario las claves WEP o WPA según sea necesario.
El proyecto NetworkManager fue uno de los primeros componentes importantes del escritorio Linux en utilizar D-Bus y HAL de forma extensiva. Sin embargo, desde junio de 2009, NetworkManager ya no depende de HAL y, desde la versión 0.9.10 (aproximadamente en 2014), tampoco requiere que el demonio D-Bus esté en ejecución para la operación de root. [8]