Cree varias direcciones IP en una única interfaz de red


El concepto de crear o configurar varias direcciones IP en una única interfaz de red se denomina alias de IP. La creación de alias de IP es muy útil para configurar varios sitios virtuales en Apache usando una única interfaz de red con diferentes direcciones IP en una sola red de subred.

La principal ventaja de usar este alias de IP es que no es necesario tener un adaptador físico conectado a cada IP, sino que puede crear múltiples o muchas interfaces virtuales (alias) en una sola tarjeta física.

Las instrucciones proporcionadas aquí se aplican a todas las principales distribuciones de Linux como Red Hat, Fedora y CentOS. Crear múltiples interfaces y asignarles direcciones IP manualmente es una tarea abrumadora. Aquí veremos cómo podemos asignarle una dirección IP definiendo un conjunto de rango de IP. También comprenda cómo vamos a crear una interfaz virtual y asignar diferentes rangos de direcciones IP a una interfaz de una sola vez. En este artículo usamos IP de LAN, así que reemplácelas por las que usará.

Creación de una interfaz virtual y asignación de varias direcciones IP

Aquí tengo una interfaz llamada "ifcfg-eth0", la interfaz predeterminada para el dispositivo Ethernet. Si ha conectado un segundo dispositivo Ethernet, habrá un dispositivo "ifcfg-eth1" y así sucesivamente para cada dispositivo que haya conectado. Estos archivos de red del dispositivo se encuentran en el directorio “/ etc/sysconfig/network-scripts /”. Navegue al directorio y haga “ls -l” para listar todos los dispositivos.

# cd /etc/sysconfig/network-scripts/
# ls -l
ifcfg-eth0   ifdown-isdn    ifup-aliases  ifup-plusb     init.ipv6-global
ifcfg-lo     ifdown-post    ifup-bnep     ifup-post      net.hotplug
ifdown       ifdown-ppp     ifup-eth      ifup-ppp       network-functions
ifdown-bnep  ifdown-routes  ifup-ippp     ifup-routes    network-functions-ipv6
ifdown-eth   ifdown-sit     ifup-ipv6     ifup-sit
ifdown-ippp  ifdown-tunnel  ifup-isdn     ifup-tunnel
ifdown-ipv6  ifup           ifup-plip     ifup-wireless

Supongamos que queremos crear tres interfaces virtuales adicionales para vincular tres direcciones IP (172.16.16.126, 172.16.16.127 y 172.16.16.128) a la NIC. Entonces, necesitamos crear tres archivos de alias adicionales, mientras que “ifcfg-eth0” mantiene la misma dirección IP principal. Así es como avanzamos para configurar tres alias para vincular las siguientes direcciones IP.

Adapter            IP Address                Type
-------------------------------------------------
eth0              172.16.16.125            Primary
eth0:0            172.16.16.126            Alias 1
eth0:1            172.16.16.127            Alias 2
eth0:2            172.16.16.128            Alias 3

Donde “: X” es el número de dispositivo (interfaz) para crear los alias para la interfaz eth0. Para cada alias debe asignar un número de forma secuencial. Por ejemplo, copiamos los parámetros existentes de la interfaz "ifcfg-eth0" en las interfaces virtuales llamadas ifcfg-eth0: 0, ifcfg-eth0: 1 e ifcfg-eth0: 2. Vaya al directorio de red y cree los archivos como se muestra a continuación.

# cd /etc/sysconfig/network-scripts/
# cp ifcfg-eth0 ifcfg-eth0:0
# cp ifcfg-eth0 ifcfg-eth0:1
# cp ifcfg-eth0 ifcfg-eth0:2

Abra un archivo "ifcfg-eth0" y vea el contenido.

[[email protected] network-scripts]# vi ifcfg-eth0

DEVICE="eth0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.125
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C

Aquí solo necesitamos dos parámetros (DEVICE e IPADDR). Entonces, abra cada archivo con el editor de VI y cambie el nombre del DISPOSITIVO a su alias correspondiente y cambie la dirección IPADDR. Por ejemplo, abra los archivos “ifcfg-eth0: 0”, “ifcfg-eth0: 1” e “ifcfg-eth0: 2” usando el editor VI y cambie ambos parámetros. Finalmente, se verá similar a la siguiente.

DEVICE="eth0:0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.126
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C
DEVICE="eth0:1"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.127
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C
DEVICE="eth0:2"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.128
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C

Una vez que haya realizado todos los cambios, guarde todos los cambios y reinicie/inicie el servicio de red para que se reflejen los cambios.

[[email protected] network-scripts]# /etc/init.d/network restart

Para verificar que todos los alias (interfaz virtual) estén en funcionamiento, puede usar el comando "ifconfig" o "ip".

[[email protected] network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.125  Bcast:172.16.16.100  Mask:255.255.255.224
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:237 errors:0 dropped:0 overruns:0 frame:0
          TX packets:198 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:25429 (24.8 KiB)  TX bytes:26910 (26.2 KiB)
          Interrupt:18 Base address:0x2000

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.126  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.127  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:2    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.128  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

Haga ping a cada uno de ellos desde una máquina diferente. Si todo se configura correctamente, obtendrá una respuesta de ping de cada uno de ellos.

ping 172.16.16.126
ping 172.16.16.127
ping 172.16.16.128
[[email protected] ~]# ping 172.16.16.126
PING 172.16.16.126 (172.16.16.126) 56(84) bytes of data.
64 bytes from 172.16.16.126: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.126: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.126: icmp_seq=3 ttl=64 time=0.159 ms

--- 172.16.16.126 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms

[[email protected] ~]# ping 172.16.16.127
PING 172.16.16.127 (172.16.16.127) 56(84) bytes of data.
64 bytes from 172.16.16.127: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.127: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.127: icmp_seq=3 ttl=64 time=0.159 ms

--- 172.16.16.127 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms

[[email protected] ~]# ping 172.16.16.128
PING 172.16.16.128 (172.16.16.128) 56(84) bytes of data.
64 bytes from 172.16.16.128: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.128: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.128: icmp_seq=3 ttl=64 time=0.159 ms

--- 172.16.16.128 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms

Parece que todo funciona sin problemas. Con estas nuevas direcciones IP, puede configurar sitios virtuales en Apache, cuentas FTP y muchas otras cosas.

Asignar rango de direcciones IP múltiples

Si desea crear un rango de múltiples direcciones IP para una interfaz en particular llamada "ifcfg-eth0", usamos "ifcfg-eth0-range0" y copiamos el contenido de ifcfg-eth0 como se muestra a continuación.

[[email protected] network-scripts]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# cp -p ifcfg-eth0 ifcfg-eth0-range0

Ahora abra el archivo “ifcfg-eth0-range0” y agregue el rango de direcciones IP “IPADDR_START” e “IPADDR_END” como se muestra a continuación.

[[email protected] network-scripts]# vi ifcfg-eth0-range0

#DEVICE="eth0"
#BOOTPROTO=none
#NM_CONTROLLED="yes"
#ONBOOT=yes
TYPE="Ethernet"
IPADDR_START=172.16.16.126
IPADDR_END=172.16.16.130
IPV6INIT=no
#GATEWAY=172.16.16.100

Guárdelo y reinicie/inicie el servicio de red

[[email protected] network-scripts]# /etc/init.d/network restart

Verifique que las interfaces virtuales se creen con la dirección IP.

[[email protected] network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.125  Bcast:172.16.16.100  Mask:255.255.255.224
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1385 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1249 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:127317 (124.3 KiB)  TX bytes:200787 (196.0 KiB)
          Interrupt:18 Base address:0x2000

eth0:0     Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.126  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.127  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:2    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.128  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:3    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.129  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:4    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.130  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

Si tiene algún problema con la configuración, publique sus consultas en la sección de comentarios.