jump to navigation

Colocando dois IP’s na mesma interface de rede outubro 13, 2008

Posted by Eric Araújo in Dicas, Redes.
Tags: , , ,
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 :D 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×1000

lo        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.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.