você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

Adicionando rotas estáticas permanentes

Colaboração: Sandro do Prado Gambini

Data de Publicação: 10 de Outubro de 2006

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.



Veja a relação completa dos artigos de Sandro do Prado Gambini