1. Tecnologia em Redes de
Computadores
Tópicos Avançados
Parte 11: Multiplas Rotas
Professor: André Peres
andre.peres@poa.ifrs.edu.br
Instituto Federal do Rio Grande do Sul - IFRS
Porto Alegre
2. Situação Exemplo
– Empresa que deve garantir a disponibilidade de
seus serviços via Internet
● Ponto único de falhas: link de Internet
● Solução: redundância de links
3. Situação Exemplo
– Como configurar estes links ???
Link secundário
Link principal (stand-by)
(ativo)
4. Situação Exemplo
– Como configurar estes links ???
Link 2
Link 1 Serviço X
Serviço A Serviço Y
Serviço B Serviço Z
Serviço C
5. Situação Exemplo
– É possível a configuração de rotas múltiplas
● Marcação de pacotes
● Conforme a marcação, utiliza uma rota diferente
● Divisão do tráfego (QoS)
– Por prioridade
– Por tipo (rajadas, constante, …)
6. Multiplas Rotas
● Criando multiplas tabelas de roteamento
– Ubuntu server
vi /etc/iproute2/rt_tables
# reserved values
#
255 local
254 main
253 default
0 unspec
Adicionar no final do arquivo
#
o id e nome da nova
# local tabela de roteamento
#
#1 inr.ruhep
2 link2
7. Multiplas Rotas
● Configurando as tabelas de roteamento
ip r show table link2
ip r a default via 192.168.1.1 dev eth2 table link2
ip r a 10.1.1.0/24 dev eth1 proto kernel scope link src
10.1.1.254 table link2
ip r a 192.168.1.0/24 dev eth2 proto kernel scope link
src 192.168.1.94 table link2
ip r show table link2
8. Multiplas Rotas
Visualizar as entradas
● Configurando as tabelas de roteamento
da tabela de roteamento
link2
ip r show table link2
ip r a default via 192.168.1.1 dev eth2 table link2
ip r a 10.1.1.0/24 dev eth1 proto kernel scope link src
10.1.1.254 table link2
ip r a 192.168.1.0/24 dev eth2 proto kernel scope link
src 192.168.1.94 table link2
ip r show table link2
9. Multiplas Rotas
● Configurando as tabelas de roteamentoo roteador
Adicionando
default na tabela link2
(para 0.0.0.0/0)
ip r show table link2
ip r a default via 192.168.1.1 dev eth2 table link2
ip r a 10.1.1.0/24 dev eth1 proto kernel scope link src
10.1.1.254 table link2
ip r a 192.168.1.0/24 dev eth2 proto kernel scope link
src 192.168.1.94 table link2
ip r show table link2
10. Multiplas Rotas
● Configurando as tabelas de roteamento
Adicione as rotas necessárias
ip r show table link2 para todos os enlaces
envolvidos no processo
de roteamento dessa tabela
ip r a default via 192.168.1.1 dev eth2 table link2
ip r a 10.1.1.0/24 dev eth1 proto kernel scope link src
10.1.1.254 table link2
ip r a 192.168.1.0/24 dev eth2 proto kernel scope link
src 192.168.1.94 table link2
ip r show table link2
11. Multiplas Rotas
● Configurando as tabelas de roteamento
ip r show table link2
ip r a default via 192.168.1.1 dev eth2 table link2
ip r a 10.1.1.0/24 dev eth1 proto kernel scope link src
10.1.1.254 table link2
Verifique se está tudo ok
ip r a 192.168.1.0/24 dev eth2 proto kernel scope link
src 192.168.1.94 table link2
ip r show table link2
12. Multiplas Rotas
● Configurando marcação no firewall
– Adicione no script do firewall:
#regras mangle
ADD="iptables t mangle A PREROUTING"
$ADD i eth1 p tcp dport 80 j MARK setmark 2
13. Multiplas Rotas
● Configurando marcação no firewall
– Adicione no script do firewall: PREROUTING pois deve ser
marcado antes do roteamento
….
#regras mangle
ADD="iptables t mangle A PREROUTING"
$ADD i eth1 p tcp dport 80 j MARK setmark 2
para verificar as regras:
iptables t mangle L n v
14. Multiplas Rotas
● Configurando marcação no firewall
– Adicione no script do firewall:
#regras mangle
ADD="iptables t mangle A PREROUTING"
$ADD i eth1 p tcp dport 80 j MARK setmark 2
Neste exemplo marca com “2”
todos os pacotes TCP
para verificar as regras: com porta destino 80
iptables t mangle L n v
15. Multiplas Rotas
● Configurando regras de roteamento
– Verifique se a rota padrão (local) está correta
– Caso esteja duplicada
ip r d default via 192.168.1.1
– Adicione uma regra dizendo para que os pacotes
marcados com “2” utilizem a tabela link2
ip rule add from all fwmark 0x2 lookup link2 prio 5
– Verificando as regras:
ip rule show
16. Multiplas Rotas
● Configurando regras de roteamento
– Verifique se a rota padrão (local) está correta
– Caso esteja duplicada Pode-se trabalhar com as
prioridades das regras
ip r d default via 192.168.1.1
– Adicione uma regra dizendo para que os pacotes
marcados com “2” utilizem a tabela link2
ip rule add from all fwmark 0x2 lookup link2 prio 5
– Verificando as regras:
ip rule show
17. Multiplas Rotas
● O que ocorre:
– Pacotes provenientes da eth1 TCP com porta
destino 80 utilizarão o roteador 192.168.1.1 na
tabela link2
– Todos os demais pacotes utilizarão o roteador
padrão da tabela local
– É possível criar outras tabelas de roteamento
18. Multiplas Rotas
● O que ocorre:
– Caso um dos links caia, ainda é necessária
intervenção manual...
– Desenvolvimento de script/programa para
reconfiguração das rotas (regras de roteamento)
● Precisa ser desenvolvido...
– QoS – adapte o TCNG (aula de QoS)