Rotas estáticas permanentes no Linux
Posted: terça-feira, 24 de maio de 2011 by Wairisson Gomes inReferência: http://www.dicas-l.com.br/arquivo/adicionando_rotas_estaticas_permanentes.php
Roteadores ou equipamentos que interligam duas ou mais redes são chamados de Gateways. A necessidade de configurarmos rotas estáticas surge à medida que possuímos mais de um gateway na rede, sendo assim, configuramos as máquinas da rede 1, por exemplo, de forma que: quando quiser acessar a rede 2 saia pelo gateway A e quando for acessar as redes 3,4,5... saia pelo gateway B.
Traduzindo isso para o TCP/IP ficaria:
Suponha que
rede 1 = 192.168.1.0 / 255.255.255.0 rede 2 = 192.168.0.0 / 255.255.0.0 rede 3 = 10.100.1.0 / 255.255.255.0 rede 4 = 10.100.2.0 / 255.255.255.0 rede 5 = 10.100.3.0 / 255.255.255.0 .... ubuntu#> route add -net 192.168.0.0/16 gw 192.168.10.1 ubuntu#> route add -net 10.100.0.0/16 gw 192.168.10.10
Com isso a tabela de roteamento da máquina que estamos configurando ficaria assim:
ubuntu#> route Tabela de Roteamento IP do Kernel Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 192.168.0.0 192.168.10.1 255.255.0.0 UG 0 0 0 eth0 10.100.0.0 192.168.10.10 255.255.0.0 UG 0 0 0 eth0
Note que a primeira linha foi adicionada automaticamente quando configuramos o endereço IP da própria máquina.
Uma maneira de melhorarmos isso é trabalhando com default gateway, ou seja, ao adicionarmos um gateway default, ele será adicionado na última linha da tabela de roteamento, de forma que todo IP com destino a uma rede que não se encaixa nas definições iniciais da tabela de roteamento serão mandadas para o default gateway (que por isso está na última linha).
Mas o escopo dessa dica é como transformar as rotas estáticas, que até aqui foram adicionadas manualmente, em configurações adicionadas automaticamente sempre que ligamos a máquina.
Já vi várias formas de adicionarmos estas rotas, desde comandos adicionados no script de inicialização do usuário, o /etc/init.d/rc.local até scripts executados ao iniciar o ambiente gráfico (arghhhh!!!), porém o mais adequado é utilizarmos os recursos que o sistema oferece para isso que são:
No Ubuntu (debian em geral): basta adicionarmos no arquivo /etc/network/interfaces
as seguintes linhas:
post-up route add -net 192.168.0.0/16 gw 192.168.10.1 post-up route add -net 10.100.0.0/16 gw 192.168.10.10
Já em sistemas como o RedHat devemos criar o arquivo /etc/sysconfig/network-scripts/route-eth0
contendo:
GATEWAY0=192.168.10.1 NETMASK0=255.255.0.0 ADDRESS0=192.168.0.0 GATEWAY1=10.100.0.0 NETMASK1=255.255.0.0 ADDRESS1=192.168.10.10
Sendo assim toda vez que o serviço de rede subir estas rotas estáticas serão adicionadas automaticamente na tabela de roteamento de sua máquina.