Pesquisa de site

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.