Establecer una dirección IP estática en Ubuntu Server 20.04

Publicado por P. Ruiz en

Antes de 2017, Ubuntu Server basaba su configuración de red en los parámetros almacenados en el archivo de configuración /etc/network/interfaces, una estructura heredada directamente de Debian.

Sin embargo, a partir de la versión 17.10, Canonical introduce una nueva herramienta de configuración de red llamada NetPlan, que pretende facilitar el trabajo a desarrolladores y usuarios en general.

El funcionamiento de NetPlan se basa en un archivo con la descripción de los adaptadores de red que necesitemos definir. El archivo estará escrito en YAML (siglas de YAML Ain’t Markup Language), un archivo de texto plano con un formato específico para la serialización que resulta fácilmente comprensible para las personas.

Por lo tanto, a partir de la versión 17.10, deberemos utilizar archivos de configuración con extensión yaml, almacenados en la ruta /etc/netplan.

De forma predeterminada, sólo tenemos un archivo que, en nuestro caso, se llama 00-installer-config.yaml.

Establecer-una-direccion-IP-estatica-en-Ubuntu-Server-20-04-001

En cuanto a la sintaxis que debemos emplear en estos archivos, hoy trataremos de arrojar algo de luz sobre ella.

La configuración inicial de NetPlan

Para comprobar el valor inicial que tiene el archivo 00-installer-config.yaml, basta con escribir una orden como esta:

cat /etc/netplan/00-installer-config.yaml

Contenido del archivo 00-installer-config.yaml.

Establecer-una-direccion-IP-estatica-en-Ubuntu-Server-20-04-002

En el caso de Ubuntu Server, la configuración predeterminada de NetPlan será similar a esta:

network:
  ethernets:
    enp0s3:
      dhcp4: true
  version: 2

Explicado de forma sencilla, lo que establece es que el adaptador de red que estamos definiendo es enp0s3 y que utilizará DHCP. Es decir, que su dirección IP será asignada desde otro dispositivo de nuestra red, normalmente el router que nos facilita el acceso a Internet, que actuará como servidor DHCP.

En ocasiones, también puede aparecer una línea más, parecida a esta:

renderer: networkd

Esto indicará que el demonio systemd-networkd es el encargado de administrar la red. Sin embargo, si realizas esta tarea en un sistema de escritorio, aparece NetworkManager, porque este es el programa que ofrece los servicios de detección y configuración automáticas en la interfaz gráfica.

Establecer una dirección IP fija en NetPlan

La mayoría de las veces, un servidor necesita disponer de una dirección IP fija. Imagina, por ejemplo, que quieres redireccionar algún puerto desde el router, usar SSH para administrar el servidor de forma remota, o alguna tarea por el estilo.

En estos casos, cuando utilicemos Ubuntu Server 20.04 LTS, deberemos editar el archivo de configuración correspondiente (en nuestro ejemplo, 00-installer-config.yaml) y realizar las modificaciones oportunas.

Para lograrlo, puedes usar el editor de textos nano:

sudo nano /etc/netplan/00-installer-config.yaml

Como de costumbre, escribimos el comando y pulsamos la tecla Intro.

Establecer-una-direccion-IP-estatica-en-Ubuntu-Server-20-04-003

Una vez que nos encontramos en la ventana de trabajo de nano, lo primero será cambiar el valor dhcp4: true por dhcp4: false o dhcp4: no. Después, escribiremos los valores de configuración de la red, que serán parecidos a estos:

network:
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: [192.168.1.10/24]
      gateway4: 192.168.1.1
      nameservers:
         addresses: [208.67.222.222]
  version: 2

Como habrás imaginado, las líneas que aparecen bajo dhcp4: no, establecen los valores estáticos que necesitamos:

  • addresses: [192.168.1.10/24]: Establece que la dirección IP de equipo será siempre 192.168.1.10. Como es lógico, deberás adecuar este valor a tus propias necesidades. También indica que la máscara de red utiliza 24 bits (lo que equivale a 255.255.255.0). Este valor también puede cambiar según las características de tu red.
  • gateway4: 192.168.1.1: Determina que la dirección de la puerta de enlace para TCP/IPv4. En nuestro caso, el dispositivo que nos facilita el acceso a Internet. Para este ejemplo, 192.168.1.1, aunque su valor también dependerá de la dirección que tenga este dispositivo en tu instalación.
  • nameservers: Configura la dirección (o direcciones) de Internet donde se encuentra el servidor DNS que usaremos para convertir los nombres de dominio en direcciones IP. En este caso utilizaremos el servidor primario de OpenDNS.

En el caso de que necesitemos definir más de un servidor DNS, podemos incluir varias direcciones separadas por comas:

addresses: [208.67.222.222,208.67.220.220]

Cuando hayamos completado la configuración, estaremos listos para salir de la edición del archivo.

Para lograrlo, sólo tenemos que pulsar la combinación de teclas Control + X.

Establecer-una-direccion-IP-estatica-en-Ubuntu-Server-20-04-004

Al hacerlo, el editor nos pregunta si queremos guardar los cambios.

Para responder de forma afirmativa, pulsamos la tecla S.

Establecer-una-direccion-IP-estatica-en-Ubuntu-Server-20-04-005

Entonces, el editor nos permite elegir entre sobrescribir el contenido del archivo original, o elegir un nombre o ubicación diferente.

Para sobrescribir, basta con pulsar la tecla Intro.

Establecer-una-direccion-IP-estatica-en-Ubuntu-Server-20-04-006

Aplicar los cambios

De vuelta en el prompt del sistema, estaremos listos para aplicar los cambios del archivo de configuración. Algo que podemos conseguir ejecutando el siguiente comando:

sudo netplan apply

Escribimos el comando y pulsamos la tecla Intro.

Establecer-una-direccion-IP-estatica-en-Ubuntu-Server-20-04-007

Y, por último, para comprobar que los cambios han surtido efecto, podemos consultar la configuración actual de la red:

ip addr

Como antes, escribimos el comando y pulsamos la tecla Intro.

Establecer-una-direccion-IP-estatica-en-Ubuntu-Server-20-04-008

Como puedes comprobar, la configuración coincide con los valores que hemos establecido.

Y hasta aquí el contenido de este artículo. Espero que te resulte útil.