NetworkManager es un demonio que se encuentra sobre libudev y otras interfaces del kernel de Linux (y un par de otros demonios) y proporciona una interfaz de alto nivel para la configuración de las interfaces de red.
Autor (es) original (es) | sombrero rojo |
---|---|
Desarrollador (es) | principalmente Red Hat |
Versión inicial | 19 de noviembre de 2004 |
Lanzamiento estable | 1.30.4 [1] / 19 de abril de 2021 |
Repositorio | |
Escrito en | C con GObject |
Sistema operativo | SUS / POSIX [ cita requerida ] |
Plataforma | Similar a Unix [ cita requerida ] |
Tipo |
|
Licencia | GNU GPL |
Sitio web | wiki |
Razón fundamental
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 kernel de Linux y otros sistemas operativos similares a Unix . [ cita requerida ]
Cómo funciona
Para conectar ordenadores entre sí, se han desarrollado varios protocolos de comunicación , por ejemplo, IEEE 802.3 (Ethernet), IEEE 802.11 ("inalámbrico"), IEEE 802.15.1 (Bluetooth), PPPoE , PPPoA y muchos más. Cada computadora participante debe tener el hardware adecuado, por ejemplo , tarjeta de red o tarjeta de red inalámbrica y este hardware debe configurarse en consecuencia para poder establecer una conexión.
En el caso de un kernel monolítico, todos los controladores de dispositivo son parte de él. Se accede al hardware (y también se configura) a través de su controlador de dispositivo. En el caso de Linux, el kernel presenta para cada controlador de dispositivo una representación en forma de archivo de dispositivo . Todos los archivos de dispositivo se encuentran en el /dev
directorio y, tradicionalmente, los archivos de dispositivo para el hardware Ethernet se han nombrado eth0
, eth1
etc. Desde systemd, se nombran de manera diferente:, enp4s0
etc. (Esta abstracción se llama el concepto de todo es un archivo ).
Cualquier cosa en el espacio de usuario accede al hardware a través de su archivo de dispositivo. La utilidad de configuración para configurar el hardware y programas como el navegador web / SSH / NTP -client / etc. para enviar y recibir paquetes de red.
Configuración de interfaces de red sin NetworkManager
En Linux y todos los sistemas operativos similares a 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 kernel directamente y la configuración se aplica inmediatamente. Después del arranque, el usuario debe configurarlos 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 conf (y ejecuta programas). La configuración de arranque para las interfaces de red se almacena en /etc/network/interfaces
las distribuciones Debian Linux y sus derivados o ifcfg
archivos en /etc/sysconfig/network-scripts/
para Fedora y sus derivados, y DNS -servers en /etc/resolv.conf
. /etc/network/interfaces
o /etc/sysconfig/network-scripts/ifcfg-*
puede definir una dirección IP estática o dhclient
para ser utilizada, y aquí también se pueden configurar todo tipo de VPN .
En caso de que haya que cambiar la configuración, el protocolo DHCP es muy útil para hacerlo de forma automática, sin que el usuario se dé cuenta.
Configuración de interfaces de red con NetworkManager
- NetworkManager es accesible a través de dbus .
- La configuración se almacena en
/etc/NetworkManager/NetworkManager.conf
Sin embargo, las configuraciones dinámicas (es decir, no almacenadas en un archivo de configuración estática sino tomadas desde fuera del host y potencialmente cambiantes después del arranque) han sido una configuración cada vez más común, especialmente porque hemos pasado de servidores físicamente grandes a hosts más portátiles que se puede enchufar y desenchufar (o mover de un punto de acceso WiFi a un punto de acceso WiFi) a voluntad del usuario. 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 similares a Unix incluyen un programa llamado dhclient para manejar esta configuración dinámica. Dada una configuración dinámica relativamente estática o 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 ]
Arquitectura de software
NetworkManager tiene dos componentes:
- el demonio NetworkManager , el software real que administra las conexiones e informa los cambios en la red
- varios interfaces gráficos para diversos entornos de escritorio gráficos, como GNOME Shell , GNOME Panel , KDE Plasma Workspaces , Cinnamon , etc.
Ambos componentes están pensados por los desarrolladores para que sean razonablemente portátiles, y el subprograma está disponible para entornos de escritorio que implementan el protocolo de bandeja del sistema Freedesktop.org , [2] 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 " compatibles con los enlaces " o para reemplazar el subprograma proporcionado por completo. Un ejemplo es KNetworkManager, una interfaz de KDE para NetworkManager desarrollada por Novell para SUSE Linux .
Interfaces gráficas de front-end y línea de comandos
La GUI muestra todos los AP disponibles . El usuario simplemente necesita hacer clic en el deseado.
Interfaz gráfica para GNOME Shell 3.10
- nm-applet
- nm-applet es el applet de GNOME para NetworkManager.
- nmcli
- nmcli es la interfaz de línea de comandos incorporada de NetworkManager agregada en 2010. [3] nmcli permite mostrar fácilmente el estado actual de NetworkManager, administrar conexiones y dispositivos, monitorear conexiones.
- nmtui
- nmtui es una interfaz de usuario integrada basada en texto . [4] nmtui es relativamente básico en comparación con nmcli, que solo permite a los usuarios agregar / editar una conexión, activar una conexión y establecer el nombre de host del sistema.
- cnetworkmanager
- Interfaz de línea de comandos cnetworkmanager para NetworkManager. [5]
Asistente de configuración de banda ancha móvil
Antti Kaijanmäki anunció el desarrollo de un asistente de configuración de banda ancha móvil para NetworkManager en abril de 2008; [6] estuvo disponible en la versión 0.7.0 de NetworkManager. Junto con el paquete mobile-broadband-provider-info, la conexión se configura fácilmente.
Historia
Red Hat inició el proyecto NetworkManager en 2004 con el objetivo de permitir que los usuarios de Linux se ocuparan más fácilmente de 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 interrupciones o cuando el usuario se desplaza entre redes inalámbricas. Prefiere las conexiones Ethernet a las redes inalámbricas "conocidas", que se prefieren a las redes inalámbricas con SSID a las que el usuario nunca se ha conectado. Se solicita al usuario las claves WEP o WPA según sea necesario.
El proyecto NetworkManager fue uno de los primeros componentes principales de escritorio de 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 (ca. 2014), tampoco requiere que el demonio D-Bus se esté ejecutando para la operación raíz. [7]
Ver también
- Linux en el escritorio
- BlueZ
- Administrador de llaveros de GNOME
- usbserial
- Wicd - administrador de red escrito en Python
- wpa_supplicant
- wvdial
- netifd : pequeño demonio con la capacidad de escuchar eventos de netlink; no requiere D-Bus , no depende de GLib , se dirige a dispositivos integrados
- ConnMan : demonio para administrar las conexiones a Internet dentro de los dispositivos integrados
Referencias
- ^ "Etiqueta 1.30.4" .
- ^ Pennington, estragos. "Especificación del protocolo de la bandeja del sistema" . Standards.freedesktop.org . Consultado el 4 de febrero de 2012 .
- ^ "Piezas iniciales de nmcli, gitweb" . cgit.freedesktop.org . Consultado el 28 de mayo de 2015 .
- ^ "Configuración de red mediante una interfaz de usuario de texto (nmtui) - Portal del cliente de Red Hat" . Red Hat . Consultado el 16 de noviembre de 2017 .
- ^ "cnetworkmanager - Interfaz de línea de comandos para NetworkManager" . Vidner.net. Archivado desde el original el 24 de julio de 2011 . Consultado el 4 de febrero de 2012 .
- ^ "Anunciar en la lista de administradores de red" . Mail.gnome.org. 2008-04-10 . Consultado el 4 de febrero de 2012 .
- ^ "Construiremos una casa de ensueño de Net" . Blogs.gnome.org . Consultado el 28 de mayo de 2015 .
enlaces externos
- Página de inicio de NetworkManager
- Base de datos de proveedores de servicios
- NetworkManager en freedesktop.org
- Estado de NetworkManager en la lista de correo freebsd-gnome
- Página original de NetworkManager en redhat.com a través de WaybackMachine
- Anuncio del primer lanzamiento público de NetworkManager
- Cómo utilizar una interfaz WiFi con NetworkManager