Pregunta:
Estoy aprendiendo sobre redes Linux en mi estación de trabajo Kubuntu 18.04, y veo que tanto NetworkManager
como networkd-dispatcher
están ejecutando:
oleg@eclectic:~$ sudo ps -ef | grep -i net
root 56 2 0 Oct11 ? 00:00:00 [netns]
root 1097 1 0 Oct11 ? 00:00:02 /usr/sbin/NetworkManager --no-daemon
root 1098 1 0 Oct11 ? 00:00:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
root 1250 1 0 Oct11 ? 00:00:02 /usr/sbin/inetd
root 1593 1097 0 Oct11 ? 00:00:00 /sbin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper...
NetworkManager
parece estar configurado para manejar "todo" por netplan
:
oleg@eclectic:~$ cat /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
Creo que netplan
entregaría todo a networkd
si NetworkManager
no estuviera instalado.
También hay un montón de archivos en /etc/network/
, y no estoy seguro de qué los está manejando. Muchos paquetes parecen usar este directorio:
oleg@eclectic:~$ dpkg -S /etc/network
avahi-daemon, ifupdown2, wpasupplicant, openvpn, postfix, netbase, avahi-autoipd, wireless-tools, clamav-freshclam: /etc/network
Mis pensamientos iniciales después de networkd
Google son que NetworkManager
y networkd
están ejecutando, pero netplan
genera una configuración de modo que solo uno está haciendo algo. Pero no sé cómo podría verificar esto, averiguar la cadena de operaciones o configurarla para que se adapte a mis nefastos planes para dummy0.
Pregunta: ¿Cómo funcionan exactamente juntos NetworkManager, networkd y netplan? En otras palabras, cuando la computadora se inicia, ¿qué procesos se transfieren a qué otros procesos? ¿Cómo ifupdown2
herramientas de paquetes como net-tools
, ifupdown2
e iproute2
y directorios como /etc/network/
en todo esto? Y finalmente, ¿cómo puedo resolver esto yo mismo y aprender los detalles usando la línea de comando?
Actualización: no estoy buscando una descripción general de alto nivel. Más bien, quiero saber cómo estos componentes interactúan, entran en conflicto o evitan conflictos en el nivel del kernel o similar.
Respuesta:
systemd-networkd
cuando está habilitado respeta las configuraciones en /etc/systemd/network
Mientras que NetworkManager
seguirá algunas reglas automáticas, como que intentará conectarse a una conexión por cable si encuentra una.
Ambos están habilitados y deshabilitados como servicios de systemd
y systemd usando udev crea los archivos de dispositivo para los adaptadores de red. En general, probablemente no debería tener ambos habilitados al mismo tiempo, pero si lo hace, debe tener cuidado de que sus configuraciones no entren en conflicto.
netplan
antes de que se netplan
cualquiera de los administradores de red, crea configuraciones para cualquiera de ellos basándose en su propia configuración. De esta manera, netplan es realmente una abstracción de la configuración y si usa systemd-networkd o NetworkManager es parte de la configuración.
iproute2
es un paquete de herramientas para configurar interfaces de red en la línea de comando. Incluye una configuración de enlaces similar a los administradores de red y el antiguo ifconfig. Mientras que net-tools
, ipupdown
e ifupdown2
usan configuraciones de red en / etc / network / interfaces para configurar y desconfigurar interfaces.
ifupdown
o sus otras versiones se pueden usar para administrar redes, pero no es automático, pero se puede usar un servicio systemd para iniciarlo en el arranque.
ifupdown2
usa gráficos de dependencia similares a los que hace systemd
pero con interfaces de red. Además, actúa como una abstracción de otras herramientas como iproute2