Crie vários endereços IP em uma única interface de rede
O conceito de criar ou configurar vários endereços IP em uma única interface de rede é chamado de aliasing de IP. O alias de IP é muito útil para configurar vários sites virtuais no Apache usando uma única interface de rede com diferentes endereços IP em uma única rede de sub-rede.
A principal vantagem de usar esse aliasing de IP é que você não precisa ter um adaptador físico conectado a cada IP, mas em vez disso você pode criar múltiplas ou muitas interfaces virtuais ( aliases) para um único cartão físico.
As instruções fornecidas aqui se aplicam a todas as principais distribuições Linux, como Red Hat, Fedora e CentOS. Criar múltiplas interfaces e atribuir endereços IP a elas manualmente é uma tarefa difícil. Aqui veremos como podemos atribuir um endereço IP a ele definindo um conjunto de intervalos de IP. Entenda também como vamos criar uma interface virtual e atribuir diferentes intervalos de endereços IP a uma interface de uma só vez. Neste artigo usamos LAN IP's, então substitua-os pelos que você usará.
Criando interface virtual e atribuindo vários endereços IP
Aqui eu tenho uma interface chamada “ifcfg-eth0“, a interface padrão para o dispositivo Ethernet. Se você conectou um segundo dispositivo Ethernet, haverá um dispositivo “ifcfg-eth1” e assim por diante para cada dispositivo conectado. Esses arquivos de rede do dispositivo estão localizados no diretório “/etc/sysconfig/network-scripts/”. Navegue até o diretório e faça “ls -l” para listar todos os dispositivos.
cd /etc/sysconfig/network-scripts/
ls -l
Saída de amostra
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
Vamos supor que queremos criar três interfaces virtuais adicionais para vincular três endereços IP (172.16.16.126, 172.16.16.127 e 172.16.16.128 ) para a NIC. Portanto, precisamos criar três arquivos de alias adicionais, enquanto “ifcfg-eth0” mantém o mesmo endereço IP primário. É assim que avançamos na configuração de três aliases para vincular os seguintes endereços 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
Onde “:X” é o número do dispositivo (interface) para criar os aliases para a interface eth0. Para cada alias você deve atribuir um número sequencialmente. Por exemplo, copiamos os parâmetros existentes da interface “ifcfg-eth0” em interfaces virtuais chamadas ifcfg-eth0:0, ifcfg-eth0:1 e ifcfg-eth0:2. Vá para o diretório de rede e crie os arquivos conforme mostrado abaixo.
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth0:0
cp ifcfg-eth0 ifcfg-eth0:1
cp ifcfg-eth0 ifcfg-eth0:2
Abra um arquivo “ifcfg-eth0” e visualize o conteúdo.
[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
Aqui precisamos apenas de dois parâmetros (DEVICE e IPADDR). Portanto, abra cada arquivo com o editor VI e renomeie o nome do DEVICE para seu alias correspondente e altere o endereço IPADDR. Por exemplo, abra os arquivos “ifcfg-eth0:0“, “ifcfg-eth0:1” e “ifcfg-eth0:2” usando Editor VI e altere ambos os parâmetros. Finalmente, será semelhante ao abaixo.
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
Depois de fazer todas as alterações, salve todas as alterações e reinicie/inicie o serviço de rede para que as alterações sejam refletidas.
[root@tecmint network-scripts]# /etc/init.d/network restart
Para verificar se todos os aliases (interface virtual) estão funcionando, você pode usar o comando “ifconfig” ou “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
Faça ping em cada um deles de uma máquina diferente. Se tudo estiver configurado corretamente, você receberá uma resposta de ping de cada um deles.
ping 172.16.16.126
ping 172.16.16.127
ping 172.16.16.128
Saída de amostra
[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 tudo está funcionando perfeitamente. Com esses novos IPs você pode configurar sites virtuais em contas Apache, FTP e muitas outras coisas.
Atribuir vários intervalos de endereços IP
Se você quiser criar um intervalo de vários endereços IP para uma interface específica chamada “ifcfg-eth0“, usaremos “ ifcfg-eth0-range0” e copie o conteúdo de ifcfg-eth0 como mostrado abaixo.
[root@tecmint network-scripts]# cd /etc/sysconfig/network-scripts/
[root@tecmint network-scripts]# cp -p ifcfg-eth0 ifcfg-eth0-range0
Agora abra o arquivo “ifcfg-eth0-range0” e adicione o intervalo de endereços IP “IPADDR_START” e “IPADDR_END” conforme mostrado abaixo.
[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
Salve-o e reinicie/inicie o serviço de rede
[root@tecmint network-scripts]# /etc/init.d/network restart
Verifique se as interfaces virtuais são criadas com Endereç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: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
Se você tiver algum problema na configuração, poste suas dúvidas na seção de comentários.