IP estática en Ubuntu Server 18.04

Introducción

Nunca en mi vida había configurado una IP estática en Ubuntu Server 18.04 desde la terminal o consola, siempre lo había hecho desde la GUI. Recientemente tuve que configurar la IP estática en un servidor y es un problema si eres principiante, por eso decidí hacer este tutorial.

Cómo poner IP estática en Ubuntu Server 18.04 LTS

Para que esto funcione debemos crear un fichero de configuración con extensión .yaml dentro del directorio /etc/netplan/. El nombre del archivo (según lo que sé) no importa, pero debe tener la extensión .yaml.

En mi caso puse 01-conf.yaml con el siguiente comando:

sudo nano /etc/netplan/01-cnf.yaml

Y justo aquí viene lo interesante que me recuerda por qué a veces me cae tan mal Python: las indentaciones. Ni siquiera sé qué es eso, no sé si son espacios o tabulaciones, pero pon una mal y nada se ejecutará.

El punto es que dentro del archivo debemos poner algo así:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: no
      addresses: [192.168.1.81/24]
      gateway4: 192.168.1.254
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

Si lees bien lo siguiente no tendrás problemas:

  • Deja 2 espacios por cada nivel de indentación. Por ejemplo, la linea que dice version: 2 tiene dos espacios al inicio. La que dice ens33: tiene 4
  • Deja un espacio entre los dos puntos y el valor, excepto cuando hay un salto de línea. Por ejemplo, entre dhcp4: y no hay un espacio.

Y para aplicar los cambios ejecutamos:

sudo netplan apply

Si al ejecutarlo sale algo así significa que no leíste bien cómo escribir el archivo:

Error de sintaxis al poner IP estática en Ubuntu Server 18.04

Error de sintaxis al poner IP estática en Ubuntu Server 18.04

Y si lo ejecutas y no sale ningún error, pues lo hiciste bien 😀

Si quieres saber qué significan los valores sigue leyendo…

Valores del archivo

Una vez que ya entendimos cómo escribir el archivo es momento de saber qué escribir dentro de él. Aquí una lista:

  • renderer: networkmanager o networkd
  • dhcp4: indicamos si queremos que el protocolo ipv4 utilice DHCP para la asignación de IP
  • dhcp6: lo de arriba pero para ipv6
  • addresses: una lista de direcciones en formato xxx.xxx.xxx.xxx/yy en donde yy son los bits que usamos para la máscara. Si nuestra máscara de subred es 255.255.255.0 entonces sería /24; si fuera 255.255.0.0 sería /16 y así. Me parece que podemos poner muchas IPs separadas por coma
  • gateway4: la puerta de enlace predeterminada de la ipv4
  • gateway6: lo de arriba pero para ipv6
  • nameservers: dentro de él hay addresses. Son lo que conocemos como direcciones DNS. Las ponemos entre [] y podemos separarlas por comas. En este caso puse los DNS de Google que son 8.8.8.8 y 8.8.4.4

¿De dónde sale ens33?

Es el nombre de la red por defecto. Me parece que siempre es este nombre, y si no, podemos saberlo con ifconfig:

Origen de ens33 como interfaz predeterminada en al poner IP estática en Ubuntu Server 18.04

Origen de ens33 como interfaz predeterminada en al poner IP estática en Ubuntu Server 18.04

Espero que este pequeño y rápido tutorial haya servido, sobre todo para aclarar lo del archivo yaml. La documentación de netplan la encuentras aquí.

IP estática en Ubuntu Server 18.04

Por parzibyte Tiempo de lectura: 2 min
8