Configurar IP aliases en CentOS/RHEL 7

El método habitual de añadir ips virtuales o alias de red a una interfaz en RHEL, CentOS 6 y derivados lo expliqué al detalle en este post. Por refrescar un poco la memoria, recordad que mediante el sistema de IPs virtuales podemos asignar varias direcciones IP a una misma interfaz de red.

En RHEL 7 y derivados, al contrario que en la versión 6, ya no hay que crear un nuevo fichero de interfaz por cada ip alias, sino que podemos añadir tantas IPs como queramos en el archivo principal de la interfaz. Por ejemplo, para añadir 2 ips nuevas colgando de eth0, en lugar de crear dos nuevos archivos.

CentOS 6

/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth0:0
/etc/sysconfig/network-scripts/ifcfg-eth0:1

Ejemplo de uno de los archivos:

DEVICE=eth0:0
BOOTPROTO=static
HWADDR=00:22:7e:3c:3b:12
IPADDR=192.168.0.111
NETMASK=255.255.255.0
ONBOOT=yes
GATEWAY=192.168.0.1
TYPE=Ethernet
NM_CONTROLLED=NO

CentOS 7

Pasaríamos a añadir las IPs directamente en el archivo principal, si por ejemplo es enp134s1f0 (sí, la nomenclatura también ha cambiado…):

# cat /etc/sysconfig/network-scripts/ifcfg-enp134s1f0

TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
NAME="hme0"
UUID="13310f88-4af4-4b53-9a85-6f497eda5730"
DEVICE="enp134s1f0"
ONBOOT="yes"
IPADDR="192.168.0.100"
PREFIX="24"
GATEWAY="192.168.0.1"
IPADDR0=192.168.0.101
IPADDR1=192.168.0.102
PREFIX0=24
PREFIX1=24
NM_CONTROLLED=NO

Como podéis observar hemos añadido como IP aliases la 192.168.0.101/24 y 192.168.0.102/24 mediante IPADDRn y PREFIXn. Para aplicar los cambios reiniciamos el servicio de red:

# systemctl restart network

Rangos IP

Si tuvieramos que levantar múltiples IP que conforman un rango, lo podemos hacer creando el archivo adicional /etc/sysconfig/network-scripts/ifcfg–range y especificando ahí el inicio/fin del rango IP así como la máscara:

# cat /etc/sysconfig/network-scripts/ifcfg-enp134s1f0-range
IPADDR_START=192.168.0.200
IPADDR_END=192.168.1.224
PREFIX=24
CLONENUM_START=0

En este ejemplo, levantaríamos 25 IPs:

192.168.0.200
192.168.0.201
192.168.0.202
192.168.0.203
[...]
192.168.0.224

Con IPADDR_START indicamos la primera IP del rango a levantar, con IPADDR_END la última y con CLONENUM_START el número que identificará al alias de la primera interfaz, sumando uno a los sucesivos (enp134s1f0:0, enp134s1f0:1, etc)

IP no persistente a reinicios

Si lo que queréis es levantar manualmente la IP sin necesidad de tocar archivos de configuración (recordad que no es persistente), lo podéis hacer con el comando IP:

# ip addr add 10.0.0.101/24 broadcast 10.0.0.255 dev enp134s1f0:1

Un comentario en “Configurar IP aliases en CentOS/RHEL 7

  1. Gracias por el articulo! Por lo que tengo entendido esto se utiliza cuando se quiere hacer «Bonding», cierto? Yo hace poco pensaba aplicarlo en un entorno virtual sobre ESXi, creando una máquina virtual de entrada que respondiese a todas las IP públicas e hiciera de Firewall entre otras cosas. Y luego especificar qué IP pública va asignada a qué IP privada (correspondiente a otra maquina virtual).

Comments are closed.