Solución:
De forma predeterminada, la versión de escritorio de Ubuntu se envía con Network Manager. En la mayoría de los entornos de escritorio, hace un buen trabajo. En este caso, el archivo netplan debe entregar la red a Network Manager. Normalmente, el archivo relevante es /etc/netplan/01-network-manager-all.yaml
Se lee:
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
En la edición de servidor de Ubuntu, dado que no se instala ningún entorno de escritorio de forma predeterminada; es decir, Gnome, Unity, Wayland, KDE, etc., Network Manager no es posible y, por lo tanto, no está instalado. En las versiones 17.10 y posteriores, la red se maneja solo con netplan. El archivo relevante típico es /etc/netplan/01-netcfg.yaml
Suele leer:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: yes
… donde enp0s3 es su interfaz relevante. Esto permitirá una conexión a Internet por DHCP hasta que se pueda realizar una configuración completa y adicional editando el archivo yaml y siguiendo con:
sudo netplan apply
Por lo que puedo decir, ha habido 3 enfoques para las redes en Linux:
1) El más antiguo usa el /etc/network/interfaces
archivo y ifup
/ifdown
scripts para administrar estas interfaces.
2) Después de eso vino el network-manager
daemon (a menudo escrito Network-Manager
) que tiene interfaces GUI disponibles.
3) Y más recientemente el systemd-networkd
demonio (a veces abreviado simplemente ‘networkd’) que se basa en systemd
archivos de unidad.
Para ver cómo se administra su red, primero debe saber si su sistema se está inicializando con systemd
o el mayor init
ya que es el primer proceso. (Debian y Ubuntu, por ejemplo, ahora usan systemd
en lugar de init
).
Puede comprobar si su sistema utiliza systemd
con este:
pidof systemd && echo "systemd" || echo "other"
Entonces, si NO estás corriendo systemd
, entonces claramente puedes descartar systemd-networkd
.
Si estas corriendo systemd
, luego verifique qué demonios de servicio de red se están ejecutando con estos dos comandos:
sudo service systemd-networkd status
sudo service network-manager status
Ya verás Active: active (running)
o Active: inactive (dead)
reportado para cada uno.
Tenga en cuenta que también puede ejecutar estos comandos más nuevos, pero obviamente si no tiene systemd, no funcionarán para usted:
systemctl status systemd-netword
systemctl status network-manager
Pero aún no has terminado …
Finalmente, incluso si uno de estos dos demonios se está ejecutando, eso no significa que sus interfaces de hardware de red estén siendo administradas por ellos, ya que existen excepciones.
Primero, cualquier interfaz definida en /etc/network/interfaces
son ignorados por network-manager. (man 5 NetworkManager
)
Próximo, systemd-networkd
solo administrará direcciones de red y rutas para cualquier enlace para el que encuentre un archivo .network con un [Match] sección. (man 8 systemd-networkd
).