Configurar direcciones IPv4 y direcciones IPv6 públicas en un Servidor Cloud con netplan (Ubuntu 22.04)
Utilice la función «Imprimir» al final de la página para crear un PDF.
Servidor Cloud
En este artículo te explicamos cómo añadir direcciones IPv4 públicas adicionales y direcciones IPv6 públicas adicionales en un Cloud Server 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):
Computadoras con sistema operativo Windows
Computadoras con sistema operativo Linux
Importante
Estas instrucciones solo son válidas para Servidor 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 instalado con Ubuntu 18.04, Ubuntu 20.04, Debian 10, 11 o Debian 12:
Configura direcciones IPv4 públicas adicionales y IPv6 públicas adicionales en Ubuntu 22.04 de la siguiente manera:
Requisitos
Asignaste una o más direcciones IPv4 y/o IPv6 públicas adicionales a tu servidor en el Cloud Panel.
Iniciaste la sesión en el servidor.
Anotaste 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 backendsCambia 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 predetermindada 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 realizaste 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 (Cloud Server y Servidor Virtual Cloud)
Puedes encontrar más información sobre netplan aquí:
http://manpages.ubuntu.com/manpages/bionic/man5/systemd.network.5.html