Hace unos años Canonical, la empresa que desarrolla y mantiene Ubuntu, cambió la herramienta para configurar la tarjeta de red.
La nueva herramienta para configurar la tarjeta de red en Ubuntu, Netplan se basa en un sistema de configuración basado en YAML que hace que el proceso de configuración sea muy simple.
El objetivo fué sustituir el antiguo archivo de configuración /etc/network/interfaces que usábamos para configurar las interfaces de red en Ubuntu y que se sigue usando en otras distribuciones de Linux.
En este artículo, explicaremos cómo realizar una configuración básica de red en Ubuntu y para ello, usaremos la terminal para configurar la tarjeta de red de una forma ágil y rápida.
¿Cómo funciona Netplan?
Netplan lee la configuración de red de /etc/netplan/*.yaml
Durante el arranque, Netplan genera archivos de configuración específicos del back-end en /run
para transferir el control de los dispositivos a un demonio de red en particular.
Netplan actualmente funciona con los siguientes renderizadores compatibles:
- Network-Manager
- systemd-networkd
Configurar tarjeta de red utilizando Netplan
Comenzaremos buscando el nombre de la interfaz de red activa que deseamos configurar. Para hacer esto, ejecutaremos el siguiente comando:
ip a
El primer paso será crear el archivo de configuración de Netplan. Haciendo uso del siguiente comando se generará el archivo con la configuración necesaria.
sudo netplan generate
El archivo que debemos editar se ubica en /etc/netplan/
por lo tanto listaremos los archivos y encontraremos un YAML que cambiaremos para configurar tarjeta de red.
ls /etc/netplan/
A continuación ejecutaremos el editor de texto Nano para cambiar los parametros del archivo de configuración YAML:
sudo nano /etc/netplan/*.yaml
Al abrir el archivo de configuración veremos los parametros de red que editaremos según nuestras necesidades. Deberemos tener especial cuidado con los espacios y nunca usaremos tabulador ya que el archivo de configuración fallará.
network:
Version: 2
Renderer: NetworkManager/networkd
ethernets:
DEVICE_NAME:
Dhcp4: yes/no
Addresses: [IP_ADDRESS/NETMASK]
Gateway: GATEWAY
Nameservers:
Addresses: [NAMESERVER_1, NAMESERVER_2]
A continuación mostramos dos ejemplos de configuraciones de red para ver que aspecto final deberá tener el archivo de configuración.
Configuración de red estática:
A continuación se muestra un ejemplo de una configuración de red con dirección IP estática usando Netplan. La dirección IP la especificará el usuario en el archivo de configuración.
Configuración de red dinámica:
A continuación se muestra un ejemplo de una configuración de red con dirección IP dinámica usando Netplan. La IP se configurará automáticamente a través del servidor DHCP.
Probar que la sintaxys es correcta
Antes de aplicar los cambios, probaremos el archivo de configuración ejecutando el siguiente comando:
sudo netplan try
Aplicar los cambios
Deberá imprimirse en pantalla configuracion aceptada y podremos aplicar la configuración con la certeza de que no fallará. Para ello introduciremos el siguiente comando:
sudo netplan apply
Reiniciar el servicio
Cuando la configuración se haya aplicado, reiniciaremos el servicio “Network-Manager” si estamos en la versión de escritorio o “system-networkd” si estamos en la versión server.
sudo systemctl restart network-manager
sudo systemctl restart systemd-networkd
Soy técnico informático me encanta la tecnología, la informática, redes y seguridad. Apoyo el software libre y escribo en Linuxbasico.
Hola Iñaki, muchas gracias por el aporte, voy a ponerlo en practica; hasta el momento he tenido dificultades en proveer de Ip estático porque cada escritor aplica una estructura diferente al argumento de netplan, he probado muchos sin éxito.
Desde supuesto IP incorrecto hasta errores de indentacion, me gustaría saber que puedo mejorar y porqué la variedad de formas para el mismo algoritmo.
Gracias
Buenas Manuel,
la verdad que yaml es un poco puñetero. En mi opinión no creo que haya una forma mejor o peor. Yo mismo suelo recurrir a Google para buscar una forma correcta para respetar las indentaciones. Es por eso que decidimos crear una entrada para tener un lugar de referencia.
Espero que tengas un buen día.
Holaa He probado a seguir todos los pasos del tutorial y el ultimo me da fallo porque creo que hay una pequeña errata. He probado:
sudo systemctl restart systemd-networkd
y ya no me da error.
Buenos días Lucía, he comprobado el comando y efectivamente había una errata. Actualmente el comando está corregido. ¡Gracias por comentar!
Hola,
amigo tengo una duda con respecto a la configuracion del puerto ethernet, el cual quisiera que tubiera doble segmentacion me explico
ethe1
Ip: 192.168.1.2
Mascara: 255.255.255.0
puertaenlace: 192.168.1.1
Ip: 192.168.2.2
Mascara: 255.255.255.0
Hola. ¿y si el servidor DNS no estuviera en 192.168.0.20 y fuera uno como el que usamos casi todos los usuarios el de google 8.8.8.8 o incluso los DNS’s del propio proveedor de fibra?
Yo lo he solucionado con [8.8.8.8] eso si, RESPETANDO QUE DEBE IR ENTRE CORCHETES., pero ¿podría ponerle los DNS’s del operador? Supongo que si, pero como me ha funcionado y ahora al arrancar me respeta la configuración la voy a dejar y en otro momento haré pruebas. Ya te contaré. Ah! y muchas gracias pues hasta que no he leido tu aporte no lo habia logrado. Un abrazo
gracias , muy bueno
me ahora instale linux