Adicionando rotas estáticas permanentes
=======================================
Colaboração: Sandro do Prado Gambini - Japoneis
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.
beleza insanity
qual e a diferença com
Quoteauto eth0
iface eth0 inet static
address 192.168.0.2
network 192.168.0.0
broadcast 192.168.0.255
netmask 255.255.255.0
gateway 192.168.0.10
no arquivo /etc/network/interfaces
rog
Concerteza a última linha do seu arquivo está errada rog. O gateway tem sua sintaxe do seguint modo:
x.y.z.1. É a primeira máquina que recebe os dados de um determinado servidor X e as envia para os demais IPs de uma rede, sendo ela privada ou pública como a internet. Um dado interessante são os Hackers que tem máquinas zumbis com grande banda pacotarem o Gateway ou o Broadcast derrubando assim todos os IPs de um servidor (o qual o gateway estava ligado).
sera que e isso mesmo vuln
extrato da doc sobre as opçoes/sintaxas de /etc/network/interface para declaraçao de placas com endereços ip estaticas
QuoteThe static Method
This method may be used to define ethernet interfaces with statically
allocated IPv4 addresses.
Options
address address
Address (dotted quad) required
netmask netmask
Netmask (dotted quad) required
broadcast broadcast_address
Broadcast address (dotted quad)
network network_address
Network address (dotted quad) required for 2.0.x kernels
gateway address
Default gateway (dotted quad)
pointopoint address
Address of other end point (dotted quad). Note the
spelling of "point-to".
http://manpages.debian.net/cgi-bin/disp ... rmat=plain (http://manpages.debian.net/cgi-bin/display_man.cgi?id=36f9b5617742ae3444685cacff6c624b&format=plain)
rog