Cree múltiples 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 aliasing de IP. El alias de IP es muy útil para configurar múltiples sitios virtuales en Apache utilizando una única interfaz de red con diferentes direcciones IP en una única red de subred.
La principal ventaja de utilizar este aliasing de IP es que no necesita tener un adaptador físico conectado a cada IP, sino que puede crear varias o muchas interfaces virtuales ( alias) a una única 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 desalentadora. 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 utilizamos IP LAN's, así que reemplácelas por las que utilizará.
Crear una interfaz virtual y asignar varias direcciones IP
Aquí tengo una interfaz llamada “ifcfg-eth0“, la interfaz predeterminada para el dispositivo Ethernet. Si conectó un segundo dispositivo Ethernet, entonces habrá un dispositivo “ifcfg-eth1” y así sucesivamente para cada dispositivo que haya conectado. Estos archivos de red de dispositivos se encuentran en el directorio “/etc/sysconfig/network-scripts/”. Navegue hasta el directorio y haga "ls -l" para enumerar todos los dispositivos.
cd /etc/sysconfig/network-scripts/
ls -l
Salida de muestra
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. Por lo tanto, 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 debes asignar un número de forma secuencial. Por ejemplo, copiamos los parámetros existentes de la interfaz “ifcfg-eth0” en interfaces virtuales llamadas ifcfg-eth0:0, ifcfg-eth0:1 y 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.
[root@tecmint 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í sólo necesitamos dos parámetros (DEVICE y IPADDR). Entonces, abra cada archivo con el editor VI y cambie el nombre del DEVICE a su alias correspondiente y cambie la dirección IPADDR. Por ejemplo, abra los archivos “ifcfg-eth0:0“, “ifcfg-eth0:1” y “ifcfg-eth0:2” usando Editor VI y cambie ambos parámetros. Finalmente tendrá un aspecto similar al siguiente.
ifcfg-eth0:0
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
ifcfg-eth0:1
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
ifcfg-eth0:2
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.
[root@tecmint network-scripts]# /etc/init.d/network restart
Para verificar que todos los alias (interfaz virtual) estén en funcionamiento, puede utilizar el comando “ifconfig” o “ip”.
[root@tecmint 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, recibirá una respuesta de ping de cada uno de ellos.
ping 172.16.16.126
ping 172.16.16.127
ping 172.16.16.128
Salida de muestra
[root@tecmint ~]# 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
[root@tecmint ~]# 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
[root@tecmint ~]# 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 IP puedes configurar sitios virtuales en Apache, cuentas FTP y muchas otras cosas.
Asignar múltiples rangos de direcciones IP
Si desea crear un rango de múltiples direcciones IP para una interfaz particular llamada “ifcfg-eth0”, usamos “ ifcfg-eth0-range0” y copie el contenido de ifcfg-eth0 en él como se muestra a continuación.
[root@tecmint network-scripts]# cd /etc/sysconfig/network-scripts/
[root@tecmint 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” y “IPADDR_END” como se muestra a continuación.
[root@tecmint 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
[root@tecmint network-scripts]# /etc/init.d/network restart
Verifique que las interfaces virtuales estén creadas con Dirección IP.
[root@tecmint 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.