Añadir una IP adicional en Linux: configurar IPv4 extra en Ubuntu, Debian, CentOS y Rocky Linux

15 min de lectura 6 vistas 0
Contenido

Si has contratado direcciones extra para un servidor cloud de JUSTG o un bloque /24 para un servidor dedicado en Johannesburgo o Moscú, necesitas añadir la IP adicional en Linux antes de que responda al tráfico. Esta guía explica cómo asignar una IPv4 extra de forma temporal con ip addr add, cómo hacerla persistente con netplan en Ubuntu, /etc/network/interfaces en Debian y nmcli en CentOS/Rocky/AlmaLinux, cómo resolver IP de otra subred con enrutamiento por origen y cómo configurar un /24 completo con un bucle. Los ejemplos usan rangos de documentación; sustitúyelos por la IP, el prefijo y la puerta de enlace que aparecen para tu servicio en el área de cliente.

Un error de red puede cortar tu sesión SSH. Ten a mano la consola VNC o IPMI del área de cliente (Área de cliente, Mis productos y servicios, elige el servidor y luego Administrar o Panel de control; si no la encuentras, abre un ticket) y configura solo direcciones que te hayan asignado.

Paso 1: Comprueba el nombre de la interfaz y las IP actuales

La vista resumida de ip muestra cada interfaz con sus direcciones. Anota la interfaz que tiene la IP principal (a menudo eth0, ens3 o enp1s0) y la puerta de enlace predeterminada.

ip -br a
ip route show default

Paso 2: Añade la IP temporalmente con ip addr add (para probar)

La forma más rápida de probar una dirección nueva es añadirla en caliente. Desaparece al reiniciar, así que es una primera prueba segura.

# add the extra IPv4 (not persistent, lost after reboot)
ip addr add 203.0.113.11/24 dev eth0

# confirm and test outgoing traffic from the new address
ip -br a show eth0
ping -c 3 -I 203.0.113.11 1.1.1.1

# remove it again if needed
ip addr del 203.0.113.11/24 dev eth0

Si el ping desde la nueva dirección de origen funciona, la IP está bien enrutada a tu servidor y puedes hacerla permanente.

Paso 3: Haz persistente la IP adicional con netplan en Ubuntu

Ubuntu guarda la configuración de red en archivos YAML dentro de /etc/netplan/. Añade la nueva dirección a la lista addresses de la interfaz. La sangría debe hacerse solo con espacios.

# /etc/netplan/50-cloud-init.yaml (the file name may differ)
network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 203.0.113.10/24
        - 203.0.113.11/24
      routes:
        - to: default
          via: 203.0.113.1
      nameservers:
        addresses: [1.1.1.1, 8.8.8.8]
netplan try      # rolls back automatically if you lose access and do not confirm
netplan apply

Si el servidor se desplegó con cloud-init y tus cambios se sobrescriben al reiniciar, desactiva la gestión de red de cloud-init:

echo "network: {config: disabled}" > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Paso 4: Añade la IP en Debian con /etc/network/interfaces

Debian con ifupdown admite varios bloques iface para la misma interfaz; cada bloque adicional añade una dirección.

# /etc/network/interfaces
auto eth0
iface eth0 inet static
    address 203.0.113.10/24
    gateway 203.0.113.1

iface eth0 inet static
    address 203.0.113.11/24

Aplica el cambio desde la consola VNC o reinicia en una ventana de mantenimiento:

systemctl restart networking

Paso 5: Añade la IP en CentOS, Rocky Linux o AlmaLinux con nmcli

Estos sistemas usan NetworkManager. El nombre de la conexión puede ser System eth0, eth0 o Wired connection 1, así que lístalo primero. El prefijo + añade la dirección en lugar de sustituir la principal.

nmcli con show                       # find the connection name
nmcli con mod "System eth0" +ipv4.addresses 203.0.113.11/24
nmcli con up "System eth0"
nmcli -g ipv4.addresses con show "System eth0"

Después ejecuta ip -br a para comprobar que ambas direcciones están en la interfaz.

Paso 6: Enrutamiento por origen cuando las IP están en subredes distintas

Si la IP adicional pertenece a otra subred con su propia puerta de enlace, las respuestas pueden salir por la puerta de enlace principal con un origen incorrecto y descartarse. El enrutamiento por políticas envía el tráfico de la IP adicional por su propia puerta de enlace:

# extra IP 198.51.100.10 with its own gateway 198.51.100.1
ip addr add 198.51.100.10/24 dev eth0
ip route add default via 198.51.100.1 dev eth0 table 100
ip rule add from 198.51.100.10 table 100
ip rule show

Para mantenerlo tras un reinicio, usa la configuración persistente equivalente:

# netplan: add under eth0
      routes:
        - to: default
          via: 203.0.113.1
        - to: default
          via: 198.51.100.1
          table: 100
      routing-policy:
        - from: 198.51.100.10
          table: 100

# nmcli (CentOS / Rocky / AlmaLinux)
nmcli con mod "System eth0" +ipv4.routes "0.0.0.0/0 198.51.100.1 table=100" \
  +ipv4.routing-rules "priority 100 from 198.51.100.10 table 100"
nmcli con up "System eth0"
Si el bloque adicional está enrutado hacia tu IP principal y no tiene puerta de enlace propia, no necesitas enrutamiento por políticas; añade las direcciones con prefijo /32.

Paso 7: Configura un /24 completo en un servidor dedicado de JUSTG

Un /24 contiene 256 direcciones. Revisa en tu asignación la puerta de enlace y el rango utilizable; en el ejemplo, .1 es la puerta de enlace y de .2 a .254 son utilizables. Un bucle las añade todas para probar:

# example: 198.51.100.0/24, gateway 198.51.100.1, usable .2 - .254
for i in $(seq 2 254); do
  ip addr add 198.51.100.$i/24 dev eth0
done
ip -4 -o addr show dev eth0 | wc -l

Para una configuración permanente, genera el contenido en lugar de escribir 253 líneas a mano:

# Ubuntu (netplan): print the address lines, then paste them under "addresses:"
for i in $(seq 2 254); do echo "        - 198.51.100.$i/24"; done

# Debian (/etc/network/interfaces): one line inside the eth0 stanza
    up for i in $(seq 2 254); do ip addr add 198.51.100.$i/24 dev eth0; done

# CentOS / Rocky / AlmaLinux (NetworkManager)
ADDRS=$(for i in $(seq 2 254); do printf "198.51.100.%s/24," "$i"; done)
nmcli con mod "System eth0" +ipv4.addresses "${ADDRS%,}"
nmcli con up "System eth0"

Tras reiniciar, cuenta las direcciones con ip -4 -o addr show dev eth0 | wc -l para confirmar que han vuelto todas.

Preguntas frecuentes

¿Cómo consigo más IPv4 para mi VPS?

Cada servidor cloud de JUSTG incluye una IPv4. Puedes pedir IPv4 adicionales desde las opciones de mejora del área de cliente, y todos los servidores cloud pueden usar IPv6 gratis.

La nueva IP aparece en ip -br a pero no responde desde fuera. ¿Qué reviso?

Compara el prefijo y la puerta de enlace con tu asignación, confirma que el firewall permite el servicio en esa dirección y prueba con ping -I. Si sigue fallando, puede que la IP aún no esté enrutada a tu servidor.

¿Qué dirección usa el servidor para las conexiones salientes?

La dirección principal (la primera) de la subred. Las aplicaciones pueden enlazarse a una IP concreta, o puedes indicar la opción src en una ruta.

Si aún no consigues resolverlo, abre un ticket con el soporte técnico de JUSTG e incluye tu asignación de IP y la salida de ip -br a.

¿Fue útil la respuesta?