Cómo configurar tarjeta de red en Ubuntu

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.

  Cómo instalar un servidor DHCP en Ubuntu Server

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 
3.1/5 - (17 votos)

7 comentarios en «Cómo configurar tarjeta de red en Ubuntu»

  1. 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

    1. 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.

  2. 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.

  3. 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

  4. 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

Deja una respuesta