Este artículo explica cómo añadir direcciones IPv4 e IPv6 públicas adicionales en un Servidor Cloud o VPS en el que está instalado Ubuntu 20.04 o 22.04.
La configuración de la red se realiza en las imágenes de Arsys 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.
Cómo configurar direcciones IPv4 e IPv6 públicas adicionales en Ubuntu 20.04 y 22.04:
Prerrequisitos: – Has asignado una o más direcciones IPv4 y/o IPv6 públicas adicionales a tu Servidor Cloud en el Cloud Panel. – Has iniciado la sesión en el servidor. – Has anotado las direcciones IPv4 e 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, introduce el siguiente comando:
- Accede 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 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 en un servidor Linux Ubuntu |
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
valid_lft 21695sec preferred_lft 21695sec
inet 82.165.254.101/32 scope global ens192
valid_lft forever preferred_lft forever
inet6 2001:8d8:1801:5d2::2/64 scope global
valid_lft forever preferred_lft forever
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 por defecto
- 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.
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.
Consultar puerta de enlace (gateway) para IPv4 e IPv6
- Para consultar la puerta de enlace predeterminada (defauult gateway) 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 (gateways). Estas aparecen directamente después de la parte de default via. Ejemplos:
Gateway IPv4:
root@localhost:~# ip route show | grep 'default'
default via 10.255.255.1 dev ens192 proto static onlink
default via 10.255.255.1 dev ens192 proto dhcp src 217.160.141.60 métrica 100
Gateway IPv6:
root@localhost:~# ip -6 route show | grep 'default'
default via fe80::1 dev ens192 proto ra métrica 100 expires 3sec pref high
default via fe80::1 dev ens192 proto static métrica 1024 pref medium
Añadir direcciones IPv4 e IPv6
- Comprueba si ya existe un archivo de configuración en este directorio. Para ello, introduce el siguiente comando:
[root@localhost ~]# ls /etc/netplan
- 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
¡Atención! 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 nano. Para ello, introduce el siguiente comando:
[root@localhost ~]# nano etc/netplan/01-netcfg.yaml
- 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
gateway6: GATEWAY PARA IPv6
nameservers:
addresses:
- DIRECCIÓN IP DEL SERVIDOR DE NOMBRES 1
- DIRECCIÓN IP DEL SERVIDOR DE NOMBRES 2
routes:
- on-link: true
to: default
via: STANDARD-GATEWAY DE LA INTERFAZ ACTIVA
version: 2
Ejemplo:network:
ethernets:
ens192:
addresses:
- 217.160.141.60/32
- 82.165.254.101/32
- 2001:8d8:1801:5d2::1/64
- 2001:8d8:1801:5d2::2/64
gateway6: fe80::1
nameservers:
addresses:
- 127.0.0.53
routes:
- on-link: true
to: default
via: 10.255.255.1
version: 2
- Sustituye INTERFAZ DE RED por ens192. A continuación, introduce la dirección IPv4 principal, las direcciones IPv4 adicionales, la dirección IPv6 principal y las direcciones IPv6 adicionales.
Atención – 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 GATEWAY PARA IPv6 por la puerta de enlace (gateway) IPv6 anotada.
- Sustituye DIRECCIÓN IP DEL SERVIDOR DE NOMBRES 1 y DIRECCIÓN IP DEL SERVIDOR DE NOMBRES 2 por los servidores de nombres comprobados.
- Sustituye STANDARD-GATEWAY DE LA INTERFAZ ACTIVA por la puerta de enlace (gateway) IPv4 anotada.
- Para comprobar el archivo de configuración, introduce el siguiente comando:
root@localhost:~# netplan --debug apply
Atención Los cambios que has realizado en el archivo /etc/netplan/01-netcfg.yaml se almacenan en el sistema y debes 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:
systemctl reboot
Puedes encontrar más información sobre netplan aquí: