Você está na página 1de 21

Roteamento Estático

' no Linux

Material desenvolvido por Rafael Fernando Diorio www.diorio.com.br


Última atualização em 21/05/2012 rafael@diorio.com.br
Tópicos

 Introdução
 Manipulando parâmetros de roteamento IP no Linux
 Exemplos de cenários com roteamento estático
 Cenário 1: Roteamento entre sub-redes na mesma LAN;
 Cenário 2: Roteamento entre LANs (1);
 Cenário 3: Roteamento entre LANs (2);
 Cenário 4: Roteamento entre LANs (3).
 Comandos úteis
Introdução

Uma das funções mais importantes da camada de rede é o


roteamento...
 Ideia básica: determinar os caminhos fim-a-fim que os pacotes
percorrem desde a origem até o destino.

O processo de definição de rotas pode ser feito:


 De modo estático, determinando-se estaticamente as rotas
entre origem e destino;
 Ou dinâmico, em que protocolos de roteamento (como RIP,
OSPF ou BGP, por exemplo) determinam automaticamente o
melhor caminho entre origem e destino.

Na sequência veremos como configurar rotas estáticas no Linux.


Introdução (cont.)

Visão geral: Funções da camada de rede - Interação entre roteamento e comutação.


Manipulando parâmetros de roteamento IP no Linux

O comando “route” é utilizado para exibir ou manipular parâmetros da


tabela de roteamento IP em hosts Linux... Ex:
 route -n (exibir configurações de roteamento);
 route add default gw 172.17.0.254 (adicionar o host
172.17.0.254 como gateway padrão do sistema);
 route del default (remover gateway default);
 route add -net 192.168.0.0 netmask 255.255.255.0 gw
172.17.0.2 (adicionar rota para a rede 192.168.0.0/24 através
do host 172.17.0.2);
● route del -net 192.168.0.0 netmask 255.255.255.0 gw
172.17.0.2 (remover rota para a rede 192.168.0.0/24 através
do host 172.17.0.2).
Manipulando parâmetros de roteamento IP no Linux (cont.)

Vale ressaltar que todas as configurações realizadas na linha de


comando do Linux utilizando o comando “route” serão “perdidas”
durante o processo de boot do sistema...

Para que isso não ocorra, essa configuração deve ser realizada em
arquivos específicos do sistema ou através de shell scripts, por
exemplo;

Na sequência veremos alguns exemplos práticos de configuração de


roteamento estático em hosts Linux.
Alguns exemplos...

Roteamento Estático no Linux


Cenário 1: Roteamento entre sub-redes na mesma LAN

Exemplo 1: Roteamento estático entre sub-redes na mesma LAN.


Cenário 1: Roteamento entre sub-redes na mesma LAN
(cont.)

Para que as sub-redes do cenário exibido no slide anterior consigam


se acessar, o seguinte comando é necessário em “R1”:
 echo 1 > /proc/sys/net/ipv4/ip_forward

Observe que nenhuma rota é definida em “R1”... O acesso entre sub-


redes é configurado apenas habilitando-se o “forward” de pacotes nas
interfaces de rede de “R1”;

Vale ressaltar que parte-se do ponto que não há nenhuma restrição


de firewall nos hosts da LAN e que o endereçamento IP de ambos
respeita as configurações do presente cenário.
Cenário 2: Roteamento entre LANs (1)

Exemplo 2: Roteamento estático entre LANs (1).


Cenário 2: Roteamento entre LANs (1) (cont.)

Para que as LANs do cenário exibido no slide anterior consigam se


acessar, os seguintes comandos são necessários:
 Em “R1”:
echo 1 > /proc/sys/net/ipv4/ip_forward
route add -net 172.18.0.0 netmask 255.255.0.0 gw 192.168.0.2

 Em “R2”:
echo 1 > /proc/sys/net/ipv4/ip_forward
route add -net 172.17.0.0 netmask 255.255.0.0 gw 192.168.0.1

Neste cenário, além de habilitar o “forward” de pacotes entre as


interfaces de rede de “R1” e “R2”, uma rota de acesso a cada LAN
deve ser adicionada em ambos os roteadores;
Cenário 2: Roteamento entre LANs (1) (cont.)

Outra possibilidade nesse cenário, seria definir o gateway de “R1”


como “sendo R2” e vice-versa... Nesse caso, apenas a habilitação do
“forward” entre as interfaces de ambos os roteadores seria
necessária;
 Essa abordagem acaba não sendo muito comum porque
normalmente “R1” e “R2” podem ter um outro gateway
configurado (um gateway de acesso a Internet, por exemplo).

Vale ressaltar que, assim como no cenário anterior, parte-se do ponto


que não há nenhuma restrição de firewall nos hosts das LANs e que o
endereçamento IP de ambos respeita as configurações do presente
cenário.
Cenário 3: Roteamento entre LANs (2)

Exemplo 3: Roteamento estático entre LANs (2).


Cenário 3: Roteamento entre LANs (2) (cont.)

Para que as LANs do cenário exibido no slide anterior consigam se


acessar, os seguintes comandos são necessários:
 Em “R1”:
echo 1 > /proc/sys/net/ipv4/ip_forward
route add -net 172.18.0.0 netmask 255.255.0.0 gw 192.168.0.2
route add -net 172.19.0.0 netmask 255.255.0.0 gw 192.168.0.3

 Em “R2”:
echo 1 > /proc/sys/net/ipv4/ip_forward
route add -net 172.17.0.0 netmask 255.255.0.0 gw 192.168.0.1
route add -net 172.19.0.0 netmask 255.255.0.0 gw 192.168.0.3
Cenário 3: Roteamento entre LANs (2) (cont.)

 Em “R3”:
echo 1 > /proc/sys/net/ipv4/ip_forward
route add -net 172.17.0.0 netmask 255.255.0.0 gw 192.168.0.1
route add -net 172.18.0.0 netmask 255.255.0.0 gw 192.168.0.2

Neste cenário, além de habilitar o “forward” de pacotes entre as


interfaces dos roteadores, uma rota de acesso a cada LAN deve ser
adicionada em ambos;

Vale ressaltar que, assim como nos cenários anteriores, parte-se do


ponto que não há nenhuma restrição de firewall nos hosts das LANs e
que o endereçamento IP de ambos respeita as configurações do
presente cenário.
Cenário 4: Roteamento entre LANs (3)

Exemplo 4: Roteamento estático entre LANs (3).


Cenário 4: Roteamento entre LANs (3) (cont.)

Para que as LANs exibidas no slide anterior consigam acessar a


Internet e também se acessar, os seguintes comandos são
necessários:
 Em “R1”:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 172.17.0.0/16 -o eth1 -j MASQUERADE
route add -net 172.18.0.0 netmask 255.255.0.0 gw 172.17.0.253

 Em “R2”:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 172.18.0.0/16 -o eth1 -j MASQUERADE
route add -net 172.17.0.0 netmask 255.255.0.0 gw 172.18.0.253
Cenário 4: Roteamento entre LANs (3) (cont.)

Observe que a configuração desse cenário é bastante similar ao


cenário 2, alterando-se apenas ao fato de que ambas as LANs
possuem acesso a Internet via “R1/R2” e também possuem um outro
roteador pré-configurado para acesso a um determinado “link
particular/privado de dados” (LP)...

Nesse caso, cabe ao gateway dos hosts da LAN fazer NAT aos
pacotes destinados a Internet e repassar (rotear) os pacotes de
acesso a LAN “do outro lado” para seu respectivo roteador de acesso;

Vale ressaltar que, assim como nos cenários anteriores, parte-se do


ponto que não há nenhuma restrição de firewall nos hosts das LANs e
que o endereçamento IP de ambos respeita as configurações do
presente cenário.
Comandos úteis

Além dos comandos de rede vistos em aulas anteriores, dois


comandos úteis (foco em roteamento), são “traceroute” e “netstat”...

O comando “traceroute” pode ser utilizado para se descobrir por quais


caminhos (roteadores) um determinado pacote passou entre uma
determinada origem até alcançar seu destino... Ex:
 traceroute 172.18.1.1
 traceroute www.diorio.com.br

O comando “netstat” pode ser utilizado para visualizar informações da


tabela de roteamento, de conexões de rede, de estatísticas de
interfaces de rede, etc... Ex:
 netstat -r
Dúvidas e/ou sugestões?

Participe... questione... sugira... pratique...


Aprimore seus conhecimentos e ajude a melhorar as
nossas aulas! :-)
Referências

[1] CentOS Project em http://www.centos.org;


[2] CentOS 5 Documentation disponível em
http://www.centos.org/docs/5;
[3] Guia Foca/GNU Linux em http://focalinux.cipsga.org.br/gol.html;
[4] Livro "Dominando Linux: Red Hat e Fedora" dos autores Bill Ball e
Hoyt Duff. Editora Pearson - 2004;
[5] Red Hat Enterprise Linux em http://www.redhat.com;
[6] Red Hat Enterprise Linux Documentation disponível em
http://www.redhat.com/docs/manuals/enterprise;
[7] Wikipédia em http://pt.wikipedia.org.

Você também pode gostar