IP aliasing no Linux

Este post mostra como aplicar o recurso de IP aliasing a uma interface de rede em uma máquina Linux — o que permite que uma única interface física tenha mais de um endereço IP (como se você tivesse várias placas de rede independentes no seu computador).
A maioria das distro Linux atuais tem o recurso de IP aliasing compilado no kernel. Se este não for o seu caso, você vai ter que carregar o módulo, via insmod
interfaces de rede

O recurso de IP aliasing consiste na associação de um ou mais endereços IP a uma única interface de rede física.
A partir daí, um nó da rede pode ter múltiplas conexões, cada qual servindo a um propósito diferente.
(Wikipedia).

Motivos para usar o recurso de IP aliasing

Há várias razões para alguém querer organizar seu sistema através do uso de várias interfaces lógicas de rede.
Com este recurso, o seu computador vai ficar parecendo “várias computadores” dentro da rede — um pode ser o servidor de impressão, outro o servidor de arquivos, um “terceiro” o servidor web etc.
Esta situação pode ser útil se você tem planos de realmente introduzir outra(s) máquina ao seu parque atual e deseja testar as configurações — basta, depois, transferir tudo pro novo servidor.
O caso contrário também é interessante — concentrar todas as funções de vários servidores em um único, mais parrudo, para poupar o trabalho de manutenção e administração.
Alguns usuários fazem uso do recurso para poder manter seu computador ligado a 2 (ou mais) subredes distintas, simultaneamente.

A vantagem que se sobressai no uso do IP aliasing é que não precisa ter um endereço IP para cada peça de hardware — pelo contrário, você pode gerar um pool de interfaces de rede virtuais (ou aliases) em um único dispositivo.

Como configurar IP aliasing com o ifconfig

A ferramenta ifconfig já foi abordada em outros artigos — recomendo, caso você tenha interesse, ver outros exemplos práticos de uso deste utilitário.
Imagine que tenhamos um interface Ethernet ‘eth0’ no endereço IP 192.168.0.150 e queremos criar um alias ‘eth0:0’ com o endereço 192.168.0.151. Para fazer isto, siga o exemplo:

sudo ifconfig eth0:0 192.168.0.151

Para testar, use o ping:

ping 192.168.0.151

ou use o próprio ifconfig:

ifconfig
...

eth0      Link encap:Ethernet  Endereço de HW 50:b7:c3:04:da:48  
          inet end.: 192.168.0.150  Bcast:192.168.0.255  Masc:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Métrica:1
          pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
          Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0
          colisões:0 txqueuelen:1000 
          RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

eth0:0    Link encap:Ethernet  Endereço de HW 50:b7:c3:04:da:48  
          inet end.: 192.168.0.151  Bcast:192.168.0.255  Masc:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Métrica:1
...

Como criar interfaces de rede virtuais permanentes

Até agora, as alterações podem ser desfeitas com um simples reboot — ou seja, não são permanentes.
Para que elas persistam após a reinicialização, é necessário editar o arquivo (nas distribuições derivadas do Debian) /etc/network/interfaces.
Abra o arquivo com o seu editor favorito e acrescente (ou altere) de acordo com o exemplo a seguir:

auto eth0:0
iface eth0:0 inet static
name eth0 Alias
address 192.168.0.151
netmask 255.255.255.0
broadcast 192.168.0.255
network 192.168.0.0

Grave o arquivo /etc/network/interfaces e reinicie o serviço de rede do seu sistema:

sudo service networking restart

ou

sudo /etc/init.d/networking restart

Da mesma forma como você procedeu até aqui, pode continuar a criar novas interfaces lógicas de rede: eth0:1, eth0:2, eth0:3 … eth0:254.

Referências

O comando ifconfig, em exemplos práticos: https://elias.praciano.com/2015/05/como-configurar-sua-interface-de-rede-com-o-ifconfig/.
Penguintutor: http://www.penguintutor.com/linux/networking-ip-alias-tutorial.
Wikipedia – IP aliasing: http://en.wikipedia.org/wiki/IP_aliasing.
Yourownlinux: http://www.yourownlinux.com/2013/09/how-to-create-alias-for-network.html.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *