Colocando dois IP’s na mesma interface de rede outubro 13, 2008
Posted by Eric Araújo in Dicas, Redes.Tags: Dicas, ifconfig, Linux, Redes
4 comments
Boa noite pessoal!! De volta à ativa, pretendo postar algumas dicas importantes pra quem utiliza Linux, e vou começar com essa que aprendi na marra
Colocar dois IP’s em uma mesma placa de rede pode ser de grande importância quando temos uma máquina que queremos que faça parte de duas sub-redes. Outra aplicação importante na qual podemos lançar mão deste método é no caso da minha pesquisa
Uma máquina central irá interligar duas outras máquinas que não podem conversar diretamente. É como se fosse uma caixa preta simulada pela máquina central.
Pois bem… como é de costume de administradores de rede, utilizamos o ifconfig para fazer as alterações nas configurações das nossas interfaces de rede. Dessa forma, se quisermos configurar uma placa ethernet com o IP 192.168.100.3 e com uma máscara 255.255.255.0, utilizamos o comando (como root ou sudouser)
ifconfig eth0 192.168.100.3 netmask 255.255.255.0
Para visualizarmos quais interfaces estão presentes na máquina do usuário, basta digitar
ifconfig
sem nenhum parâmetro. Na minha máquina por exemplo, quando digito ifconfig aparece
ath0 Link encap:Ethernet Endereço de HW xx:xx:xx:xx:xx:xx
inet end.: 192.168.1.100 Bcast:192.168.1.255 Masc:255.255.255.0
endereço inet6: fe80::21f:3aff:feaf:e570/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:192134 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:65247 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:0
RX bytes:259128330 (247.1 MB) TX bytes:7141100 (6.8 MB)eth0 Link encap:Ethernet Endereço de HW xx:xx:xx:xx:xx:xx
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)
IRQ:22 Endereço de E/S:0×1000lo Link encap:Loopback Local
inet end.: 127.0.0.1 Masc:255.0.0.0
endereço inet6: ::1/128 Escopo:Máquina
UP LOOPBACK RUNNING MTU:16436 Métrica:1
pacotes RX:1536 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:1536 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:0
RX bytes:77172 (75.3 KB) TX bytes:77172 (75.3 KB)wifi0 Link encap:Não Especificado Endereço de HW 00-1F-3A-AF-E5-70-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:456504 erros:0 descartados:0 excesso:0 quadro:29977
Pacotes TX:66240 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:280
RX bytes:176739934 (168.5 MB) TX bytes:9941799 (9.4 MB)
IRQ:2
No meu caso, a interface utilizada é a ath0, referente à uma placa wireless atheros. Observe que a placa eth0 não está em uso, portanto não apresenta endereço IP. Caso eu queira utilizá-la, faria da seguinte forma (seguindo os padrões da rede aqui de casa):
ifconfig eth0 192.168.1.101 netmask 255.255.255.0 up
Observem que coloquei o parâmetro “up” ao fim, para “levantar” a interface.
Pois bem, agora já sabemos como configurar uma interface. Mas a idéia deste mini-tutorial é ensiná-los como colocar uma interface com dois IP’s diferentes, atendendo às requisições de duas subredes diferentes.
O método utilizado para isso é a criação das chamadas interfaces virtuais. Ou seja, você irá criar interfaces extras utilizando uma mesma interface real. Para isso, vamos ao primeiro comando utilizado:
ifconfig eth0:0 130.16.0.0 netmask 255.255.0.0
Esse comando irá levantar o IP 130.16.0.0 para a interface eth0. Observer que após a interface, tem-se eth0:0. Cada interface virtual receberá um número após os dois pontos. Neste caso, a primeira interface virtual será eth0:0, a segunda interface virtual será eth0:1, a terceira interface virtual será eth0:2 e assim por diante. Para não se preocupar com a numeração, pode-se utilizar também o comando
ifconfig eth0 add 192.168.1.105 netmask 255.255.255.0
Esse comando irá criar automaticamente a interface e delegar o valor necessário para a mesma. Para visualizar todas as interfaces da sua máquina, incluindo as interfaces virtuais, basta usar o parâmetro -a à frente do ifconfig
ifconfig -a
Todas as configurações colocadas na rede serão perdidas quando o sistema for inicializado. Para evitar esta perda, uma alternativa é criar scripts de inicialização no seu sistema Linux. No meu caso, eu colocaria os comandos dados dentro de /etc/rc.local e ao inicializar, estaria configurado
Dúvidas quanto ao uso de ifconfig, também podem ser sanados pelo man do mesmo…
Abraços à todos, e espero ter contribuído um pouco mais com a comunidade.
