Para Servidor Cloud y Servidor Virtual Cloud

En este artículo te explicamos cómo añadir direcciones IPv4 públicas adicionales y direcciones IPv6 públicas adicionales en un Servidor Cloud o Virtual Cloud en el que está instalado Ubuntu 22.04 así como netplan.

La configuración de la 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 la red ya no se controla a través del archivo /etc/network/interfaces, sino a través de archivos con la extensión .yaml, que se encuentran en el directorio /etc/netplan. Si hay varios archivos en este directorio, se cargan en orden lexicográfico.

Nota

En los siguientes artículos se explica cómo establecer una conexión de red cifrada con el servidor mediante Secure Shell (SSH):

Ordenadores con sistema operativo Windows

Ordenadores con sistema operativo Linux

 

Importante

Estas instrucciones solo son válidas para Servidor Cloud y Virtual Cloud con Ubuntu 22.04.

Cómo añadir direcciones IPv4 y direcciones IPv6 en un Servidor Dedicado:

Añadir una dirección IPv4 pública en un Servidor Dedicado (Ubuntu 20.04)

Añadir una dirección IPv6 pública en un Servidor Dedicado (Ubuntu 20.04)
 

Cómo configurar direcciones IPv4 y direcciones IPv6 en un Servidor Cloud o Virtual Cloud instalado con Ubuntu 18.04, Ubuntu 20.04, Debian 10, 11 o Debian 12:

Añadir direcciones IPv4 y direcciones IPv6 públicas en un servidor Linux (Ubuntu 18.04, Ubuntu 20.04, Debian 10, 11 y Debian 12)

Configura direcciones IPv4 públicas adicionales y IPv6 públicas adicionales en Ubuntu 22.04 de la siguiente manera:

Requisitos
  • Has asignado una o más direcciones IPv4 y/o IPv6 públicas adicionales a tu servidor en el Cloud Panel.

  • Has iniciado la sesión en el servidor.

  • Has anotado las direcciones IPv4 y las direcciones IPv6 del servidor.

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

Para comprobar si tu servidor ya utiliza netplan para la configuración de la red, sigue estos pasos. Con el fin de comprobar si tu servidor ya utiliza netplan para la configuración de la red, introduce el siguiente comando:

  • Para comprobar si el paquete netplan.io está instalado en tu sistema Ubuntu o Debian, introduce el siguiente comando:

    [root@localhost ~]# dpkg -l | grep netplan.io

    Si el paquete netplan.io está instalado, verás la siguiente información, por ejemplo:

    root@localhost:~# dpkg -l | grep netplan.io
    ii  netplan.io  0.105-0ubuntu2~22.04.3  amd64  YAML network configuration
    abstraction for various backends

  • 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 paquete netplan.io no está instalado y el directorio /etc/netplan no existe, netplan no ha sido instalado. En este caso, no instales netplan y sigue los pasos descritos en el siguiente artículo:

Añadir direcciones IPv4 públicas a un Servidor Dedicado (Ubuntu 20.04, 22.04, Debian 10 y 11)

 

Consultar la interfaz de red

Consulta el nombre del 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 ens192:

root@localhost:~# 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 brd 00: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: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group
default qlen 1000
    link/ether 00:50:56:08:a5:c6 brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    inet 217.160.141.60/32 metric 100 scope global dynamic ens192
       inet6 2001:8d8:1801:5d2::1/64 scope global dynamic noprefixroute
       valid_lft 3443sec preferred_lft 3443sec
    inet6 fe80::250:56ff:fe08:a5c6/64 scope link
       valid_lft forever preferred_lft forever

Consultar servidor DNS predeterminados

  • Para consultar los servidores DNS utilizados, introduce los siguientes comandos:

[root@localhost ~]# curl
http://169.254.169.254/latest/meta_data/dns/nameservers -Lv

[root@localhost ~]# curl
http://169.254.169.254/latest/meta_data/dns/nameservers6 -Lv

Los servidores DNS utilizados se muestran al final del mensaje.
Por ejemplo:

[root@localhost ~]# curl
http://169.254.169.254/latest/meta_data/dns/nameservers -Lv
*   Trying 169.254.169.254...
* TCP_NODELAY set
* Connected to 169.254.169.254 (169.254.169.254) port 80 (#0)
> GET /latest/meta_data/dns/nameservers HTTP/1.1
> Host: 169.254.169.254
> User-Agent: curl/7.61.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Thu, 08 Sep 2022 12:19:36 GMT
< Server: Apache
< Strict-Transport-Security: max-age=63072000; includeSubDomains
< Vary: Accept-Encoding
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Headers: X-TOKEN, X-HASH, X-MICROTIME, X-USER, Content-Type, X-API-TOKEN, Authorization
< Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS
< Access-Control-Expose-Headers: Error-Msg
< Cache-control: no-cache, no-store, max-age=0
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Headers: X-TOKEN, X-HASH, X-MICROTIME, Content-Type, X-API-TOKEN, Authorization
< Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS
< Access-Control-Expose-Headers: Error-Msg
< Transfer-Encoding: chunked
< Content-Type: text/plain;charset=UTF-8
<
212.227.123.16,212.227.123.17
* Connection #0 to host 169.254.169.254 left intact

 

  • Anota los servidores DNS. En el ejemplo anterior, los servidores DNS se muestran sobre la línea * Connection #0 to host 169.254.169.254 left intact.
  • Si no se muestra el servidor DNS para IPv6, introduce el siguiente comando:

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

Por ejemplo: 

root@localhost:/etc/netplan# resolvectl --no-pager |grep Server
Current DNS Server: 212.227.123.16
      DNS Servers: 212.227.123.16 212.227.123.17
2001:8d8:fe:53:72ec::1

Consultar puerta de enlace para IPv4 y/o IPv6

  • Para consultar la puerta de enlace predeterminada de la interfaz activa, introduce los siguientes comandos:

    IPv4:

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

    IPv6:

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

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

Puerta de enlace para IPv4:

root@localhost:~# ip route show default
default via 10.255.255.1 dev ens192 proto dhcp src 217.160.141.60
metric 100

Puerta de enlace para IPv6:

root@localhost:~# ip -6 route show | grep 'default'
default via fe80::1 dev ens192 proto ra metric 100 expires 4sec pref high

​​​​​​
​​​​​En este ejemplo, fe80::1 es la puerta de enlace IPv6.

 

Añadir direcciones IPv4 y/o IPv6

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

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

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.

 

  • Si ya existe 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 ANTIGUO_ARCHIVO.yaml
    ANTIGUO_ARCHIVO.yaml.old

  • 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

Notas
  • El editor vi dispone de dos modos. Puedes iniciar el modo de inserción con la tecla [i]. En este modo, los caracteres introducidos se insertan inmediatamente en el texto. Para entrar en el modo de comandos, presiona [ESC]. Cuando se utiliza el modo de comando, si pulsas el teclado, la orden se interpreta como un comando.

  • Para salir de vi y guardar el archivo, introduce el comando :wq y luego pulse Enter.

  • 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 1/32
        - DIRECCIÓN IPv6 PRINCIPAL/64
        - DIRECCIÓN IPv6 ADICIONAL 1/64  
      gateway4: PUERTA DE ENLACE PARA IPv4
      nameservers:
        addresses:
          - DIRECCIÓN IP DEL SERVIDOR DNS 1
          - DIRECCIÓN IP DEL SERVIDOR DNS 2 
      routes:
        - to: default
          via: PUERTA DE ENLACE PARA IPv4
        - to: default
          via: PUERTA DE ENLACE PARA IPv6

Por ejemplo:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens192:
      addresses:
        - 85.215.105.86/32
        - 85.215.109.181/32
        - 2a01:239:0:805d::1/64
        - 2a01:239:0:805d::2/64
      gateway4: 10.255.255.1
      nameservers:
        addresses:
          - 212.227.123.16
          - 212.227.123.17
      routes:
        - to: default
          via: 10.255.255.1
        - to: default
          via: fe80::1

 

  • Sustituye el marcador de posición INTERFAZ DE RED por la interfaz de red determinada. En el ejemplo anterior, se trata de la interfaz de red ens192. A continuación, introduce la dirección IPv4 principal y adicionales, así como la dirección IPv6 principal y adicionales. Para ello, sustituye los marcadores de posición.
Importante
  • Las sangrías pertenecen a la sintaxis del formato YAML. Por lo tanto, asegúrate de que se visualizan correctamente. De lo contrario, la configuración no podrá realizarse correctamente y el servidor podría dejar de estar accesible.

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

  • Sustituye el marcador PUERTA DE ENLACE PARA IPv4 por la puerta de enlace IPv4 determinada.

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

  • Sustituye el marcador PUERTA DE ENLACE PARA IPv6 por la puerta de enlace IPv6 determinada.

  • Para terminar vi y guardar el archivo, escribe el comando :wq y pulsa Intro.

  • Para cambiar los permisos del archivo 01-netcfg.yaml de modo que el archivo solamente 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 has realizado en el archivo /etc/netplan/01-netcfg.yaml se almacenan en el sistema y deben ser modificados por ti si no son correctos. De lo contrario, el sistema operativo intentará cargarlos después de un reinicio.

Nota

Si aparece un mensaje de error similar al siguiente después de introducir el comando netplan --debug apply, esto indica que hay un problema con la sangría en el archivo /etc/netplan/01-netcfg.yaml:

root@localhost:# netplan --debug apply
** (generate:1617): DEBUG: 16:52:11.664: starting new processing pass
/etc/netplan/01-netcfg.yaml:2:10: Invalid YAML: mapping values are not
allowed in this context:
  version: 2

En este caso, corrige la sangría y vuelve a intentarlo.

  • Para evitar conflictos, es necesario que desinstales ifupdown. Para desinstalar ifupdown y todos los demás paquetes dependientes y eliminar los archivos de configuración y/o datos de ifupdown, introduce el siguiente comando:

    root@localhost:~# sudo apt-get autoremove --purge ifupdown

  • Reinicia el servidor para aplicar los cambios. Para ello, introduce el siguiente comando:

    root@localhost:~# systemctl reboot

  • Para comprobar si la dirección IPv4 adicional se ha configurado 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 corregir la configuración utilizando la consola KVM. Encontrarás instrucciones sobre cómo utilizar la consola KVM en el siguiente artículo: Usar la consola para acceder a un servidor (Servidor Cloud y Servidor Virtual Cloud)