Cómo cambiar de NetworkManager a systemd en Linux
Como dijo su autor, como un sistema que "nunca se completa, nunca se perfecciona, pero siempre sigue el progreso tecnológico", systemd no es solo un proceso de inicialización, también está diseñado para ser un sistema y servicio más amplio. plataforma de gestión, un ecosistema creciente de procesos, bibliotecas y herramientas del sistema central.
Parte de systemd es systemd-networkd, que es responsable de la configuración de la red en el ecosistema systemd. Con systemd-networkd, puede configurar redes DHCP/IP estáticas básicas para dispositivos de red. También puede configurar funciones de red virtual como puentes, túneles y VLAN. Actualmente, Systemd-networkd no admite redes inalámbricas directamente, pero puede usar el servicio wpa_supplicant para configurar un adaptador inalámbrico y luego asociarlo con SystemD-Network D.
NetworkManager sigue siendo el predeterminado en muchas distribuciones de Linux. Administrador de configuración de red. En comparación con NetworkManager, systemd-networkd todavía está en desarrollo activo y carece de algunas funciones. Por ejemplo, no puede mantener su computadora conectada a través de múltiples interfaces en todo momento como NetworkManager. No proporciona funciones de enlace ifup/ifdown para scripts avanzados. Sin embargo, systemd-networkd se integra bien con otros componentes de systemd, como resolve para resolución de nombres de dominio, timesyncd para NTP y udevd para nombres. Con el tiempo, systemd-networkd jugará un papel cada vez más importante en los entornos systemd.
Si está satisfecho con el progreso de systemd-networkd, cambiar de NetworkManager a systemd-networkd es algo que debe considerar. Si está firmemente en contra de systemd y está satisfecho con NetworkManager o los servicios básicos de red, no hay problema.
Pero para aquellos que quieran probar systemd-networkd, pueden continuar leyendo y aprender cómo cambiar de NetworkManager a systemd-networkd en Linux en esta guía.
Requisitos
Systemd 210 y versiones posteriores proporcionan systemd-networkd d. Por lo tanto, distribuciones de Linux como Debian 8 "Jessie" (systemd 215), Fedora 21 (systemd 217), Ubuntu. 15.04 (systemd 219) o posterior son compatibles con systemd-networkd D D.
Para otras distribuciones, verifique su versión de systemd antes de comenzar con el siguiente paso.
$ systemctl -version
Cambiar de NetworkManager a Systemd-networkd
Cambiar de NetworkManager a systemd-networkd (y viceversa) es realmente muy simple.
Primero, deshabilite el servicio NetworkManager como se muestra a continuación, luego habilite systemd-networkd D..
$ sudo systemctl enable network manager $ sudo systemctl enable systemd-networkd
También debe habilitar el servicio systemd-resolve, que utiliza systemd-networkd para la resolución de nombres de dominio. El servicio también implementa un servidor DNS de almacenamiento en caché.
$ sudo system CTL enable systemd-resolved $ sudo system CTL start systemd-resolved
Cuando se inicia, systemd-resolved creará su propio resolv.conf en el directorio /run/systemd . Sin embargo, es más común almacenar información de resolución de DNS en /etc/resolv.conf. Muchas aplicaciones también dependerán de /etc/resolv.conf, por lo que, por compatibilidad, cree un enlace simbólico a /etc/resolv.conf, como se muestra. abajo.
$ sudo RM/etc/resolv . conf $ sudo ln-s/run/systemd/resolve/resolv . conf/etc/resolv
Utilice systemd-networkd para configurar. la conexión de red Para utilizar systemd-networkd para configurar los servicios de red, debe utilizar un archivo de texto que especifique la información de configuración. Ampliación de la red. Estos archivos de configuración de red se guardan en /etc/systemd/network y se cargan desde aquí. Cuando hay varios archivos, systemd-networkd los carga y procesa uno por uno en orden alfabético.
Primero cree el directorio /etc/systemd/network.
$ sudo mkdir /etc/systemd/network
Red DHCP
Primero, configure la red DHCP. Para hacer esto, primero cree el siguiente archivo de configuración. El nombre del archivo puede ser arbitrario, pero recuerde que los archivos se procesan en orden alfabético.
$ sudo VI /etc/systemd/network/20-DHCP red
[Coincidencia]Nombre = enp 3 *[Red]DHCP =Sí
. Como se mencionó anteriormente, cada archivo de configuración de red consta de una o más "secciones", cada una de las cuales comienza con [XXX]. Cada sección contiene uno o más pares clave-valor. La sección [Coincidencia] determina qué dispositivos de red están configurados para este perfil. Por ejemplo, este archivo hace coincidir todos los dispositivos de red (como enp3s0, enp3s1, enp3s2, etc.) con interfaces coincidentes y luego habilita la configuración de red DHCP especificada en la sección [Red].
Red IP estática
Si desea asignar una dirección IP estática a un dispositivo de red, cree el siguiente archivo de configuración.
$ sudo VI/etc/systemd/network/10-static-enp3s 0 red
[partido][red] dirección=192.168.10.50/24 puerta de enlace=192.168.10.1 DNS = 8 8 8 . 8.8. El punto sutil aquí es que el nombre de la interfaz enp3s0 realmente coincide con las reglas de patrón definidas en la configuración DHCP anterior. Sin embargo, según el orden léxico, el archivo "10-static-enp3s0.network" se procesa antes que "20-dhcp.network" y la configuración estática de la interfaz enp3s0 tiene mayor prioridad que la configuración dhcp.
Después de crear el archivo de configuración, reinicie el servicio systemd-networkd o reinicie el ordenador.
$ sudo systemctl restart systemd-networkd
Ejecute el siguiente comando para comprobar el estado del servicio:
$ systemctl status systemd-networkd $ systemctl status systemd-resolved
p>Configurar dispositivos de red virtuales usando systemd-networkd también le permite configurar dispositivos de red virtuales como puentes, VLAN, túneles, VXLAN, vinculación, etc. Debes configurar estos dispositivos virtuales mediante un archivo. netdev como extensión.
Aquí muestro cómo configurar una interfaz puente.
Puente Linux Si desea crear un puente Linux (br0) y agregar la interfaz física (eth1) al puente, puede crear la siguiente configuración.
$ sudo VI/etc/systemd/network/bridge-br0
[NetDev] Name=br0Kind=bridge
Luego use configurar la interfaz de puente. br0 e interfaz esclava eth1. Los archivos de red son los siguientes.
$ sudo VI/etc/systemd/network/bridge-br0-slave network
[Coincidencia]Nombre = eth 1[Red]Puente = br0
$ sudo VI/etc/systemd/network/bridge-br0 . network
[Coincidencia]Nombre = br0[Red]Dirección = 192.168.10.100/24 puerta de enlace = 192.168.10.1 DNS = 8 . 8 . 8. 8
Finalmente, reinicie systemd-networkd.
$ sudo systemctl restart systemd-networkd
Puedes utilizar la herramienta brctl para verificar que se haya creado el puente br0.
Resumen Cuando systemd promete ser el administrador del sistema de Linux, no es sorprendente que exista algo como systemd-networkd para administrar la configuración de la red. Pero en esta etapa, systemd-networkd parece ser más adecuado para entornos de servidor con configuraciones de red relativamente estables. Para entornos de escritorio/portátiles donde tienen varias interfaces cableadas/inalámbricas ad hoc, NetworkManager sigue siendo la mejor opción.
Si desea obtener más información sobre systemd-networkd, puede consultar el manual oficial para obtener una lista completa de soporte y puntos clave.