Para VPS adquiridos después del 16/05/2023

En este artículo te explicamos cómo añadir otra dirección IPv4 pública a un servidor VPS en el que esté instalado Ubuntu 20.04, Ubuntu 22.04 o Debian 12.

La configuración de red se realiza en las imágenes de IONOS para Ubuntu 20.04 y Ubuntu 22.04 a través de netplan. La configuración de red ya no se controla a través del fichero /etc/network/interfaces, sino a través de ficheros con extensión .yaml, que se encuentran en el directorio /etc/netplan. Si hay varios archivos en este directorio, se cargan en orden léxico.

Cómo configurar una dirección IPv4 pública adicional en Ubuntu 20.04 y 22.04:

Requisitos previos
  • Asignaste una dirección IPv4 pública adicional a tu servidor en el Cloud Panel.

  • Asignaste sesión en el servidor.

  • Anotaste las direcciones IPv4 del servidor.

Comprueba si para la configuración de red se utiliza netplan

Para comprobar si tu servidor ya utiliza netplan para la configuración de red, introduce el siguiente comando:

  • Cambia al directorio /etc/netplan.

    [root@localhost ~]# cd /etc/netplan

  • Comprueba si ya existe un archivo de configuración en este directorio. Para ello, introduce el siguiente comando:

    [root@localhost ~]# ls

Nota

Si el directorio /etc/netplan no existe, netplan todavía no fue instalado. En este caso, no instales netplan, sino que debes seguir los pasos descritos en el siguiente artículo:

Añadir direcciones IPv4 e IPv6 públicas en un servidor Linux (Ubuntu y Debian)

Determinar la interfaz de red

Averigua el nombre de archivo de la interfaz de red. Para ello, introduce el siguiente comando:

[root@localhost ~]# ip addr

En este ejemplo, el nombre de la interfaz de red es ens6:

root@ubuntu:/etc/netplan# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00:00 brd 00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 02:01:e4:95:f5:d9 brd ff:ff:ff:ff:ff:ff:ff
inet 195.20.234.94/32 scope global dynamic ens6
valid_lft 463sec preferred_lft 463sec
inet6 fe80::1:e4ff:fe95:f5d9/64 scope link
valid_lft forever preferred_lft forever

Mostrar servidores DNS predefinidos

Para mostrar los servidores DNS utilizados, introduce el siguiente comando:

[root@localhost ~]# resolvectl --no-pager |grep Server

Los servidores DNS en uso se muestran al final de la salida.

Por ejemplo:

[root@localhost ~]# resolvectl --no-pager |grep Server 
Server DNS actual: 212.227.123.16
Server DNS: 212.227.123.16 212.227.123.17


Anota los servidores DNS.

Mostrar la puerta de enlace para IPv4

  • Para mostrar la puerta de enlace predeterminada de la interfaz activa, introduce el siguiente comando:

    [root@localhost ~]# ip route show | grep 'default

  • Anota las direcciones IP de la puerta de enlace. Estas aparecen directamente después de la parte «default via».

    Por ejemplo:

    Puerta de enlace IPv4

    root@ubuntu:~# ip route show | grep 'default'
    default via 195.20.234.1 dev ens6 proto dhcp src 195.20.234.94 metric
    100

Añadir dirección IPv4

  • Comprueba si ya existe un archivo de configuración en este directorio. Para ello, introduce los siguientes comandos:

    [root@localhost ~]# cd /etc/netplan
    [root@localhost ~]# ls /etc/netplan

  • Si hay un archivo de configuración en este directorio, cámbiale el nombre. Para ello, introduce el siguiente comando y sustituye los marcadores de posición.

    root@localhost ~]# mv ARCHIVO_DE_CONFIGURACIÓN_ANTIGUO.yaml
    ARCHIVO_DE_CONFIGURACIÓN_ANTIGUO.yaml.old

    Por ejemplo:

    [root@localhost ~]# mv 50-cloud-init.yaml 50-cloud-init.yaml.old

Importante

Si el directorio contiene el archivo 00-Public_network.yaml, no le cambies el nombre, ya que este archivo es necesario para la red pública.

  • Crea el archivo /etc/netplan/01-netcfg.yaml con el editor vi. Para ello, introduce el siguiente comando:

    [root@localhost ~]# vi etc/netplan/01-netcfg.yaml

Nota

El editor vi tiene un modo de inserción y un modo de comando. Puedes activar el modo de inserción con la tecla [i]. En este modo, los caracteres introducidos se insertan inmediatamente en el texto. Para activar el modo de comandos, pulsa la tecla [ESC]. En este modo, todo lo que escribas con el teclado se interpretará como un comando.

  • Añade la siguiente información:

    network:
    version: 2
    renderer: networkd
    ethernets:
    INTERFAZ DE RED:
    addresses:
    - DIRECCIÓN IPv4 PRINCIPAL/32
    - DIRECCIÓN IPv4 ADICIONAL/32
    nameservers:
    addresses:
    - DIRECCIÓN IP DEL SERVIDOR DNS 1
    - DIRECCIÓN IP DEL SERVIDOR DNS 2
    routes:
    - on-link: true
    to: default
    via: PUERTA DE ENLACE PREDEFINIDA DE LA INTERFAZ ACTIVA
    version: 2

    Por ejemplo:

    network:
    version: 2
    renderer: networkd
    ethernets:
    ens6:
    addresses:
    - 195.20.234.94/32
    - 195.20.234.86/32
    servidores DNS:
    addresses:
    - 212.227.123.16
    - 212.227.123.17
    routes:
    - on-link: true
    to: default
    via: 195.20.234.1
    version: 2

  • Sustituye el marcador de posición <Interface_Device> por el dispositivo de interfaz ens192. A continuación, introduce la dirección IPv4 principal y la dirección IPv4 adicional. Para ello, sustituye los marcadores de posición.

 

 

Importante
  • Las sangrías forman parte de la sintaxis del formato YAML. Por lo tanto, asegúrate de que se respetan correctamente. De lo contrario, la configuración no podrá aplicarse correctamente y el servidor podría dejar de ser accesible.

  • Utiliza siempre la barra espaciadora para las sangrías.

  • Sustituye los marcadores de posición DIRECCIÓN IP DEL SERVIDOR DNS 1 y DIRECCIÓN IP DEL SERVIDOR DNS 2 por los servidores DNS determinados.

  • Sustituye el marcador de posición PUERTA DE ENLACE PREDEFINIDA DE LA INTERFAZ ACTIVA por la puerta de enlace IPv4 determinada.

  • Para salir del editor vi y guardar el archivo, introduce el comando :wq y pulsa Intro.

  • Para cambiar los permisos del archivo 01-netcfg.yaml de forma que el archivo solo pueda ser leído y modificado por la cuenta root, introduce el siguiente comando:

    root@localhost:~# sudo chmod 600 /etc/netplan/01-netcfg.yaml

  • Para comprobar el archivo de configuración, introduce el siguiente comando:

    root@localhost:~# netplan --debug apply

Importante

Los cambios que hayas realizado en el archivo /etc/netplan/01-netcfg.yaml permanecerán y deberás modificarlos si no son correctos. De lo contrario, el sistema operativo intentará cargarlos después de un reinicio.

  • Reinicia el servidor para que se apliquen los cambios. Para ello, introduce el siguiente comando:

    root@localhost:~#systemctl reboot

  • Para comprobar si la dirección IPv4 adicional se configuró correctamente, introduce el siguiente comando:

    root@localhost:~# ip addr

Nota
  • Si el servidor deja de ser accesible debido a un error de configuración, puedes conectarte al servidor mediante la consola remota y corregir la configuración.
Para más información

Aquí encontrarás más información sobre netplan:

http://manpages.ubuntu.com/manpages/bionic/man5/systemd.network.5.html

https://netplan.io/examples/