Subscribe via RSS Feed Connect on Google Plus Connect on LinkedIn
1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 5,00 out of 5)
Loading...Loading...

Inserindo duas rotas default no Linux (CENTOS)

25 de janeiro de 2014 3 Comments
ShareTweet about this on TwitterShare on TumblrShare on LinkedInShare on Google+Share on FacebookPin on PinterestEmail this to someonePrint this page

Existem casos que é interessante termos duas rotas default No cenário abaixo temos um servidor em duas redes diferentes mas que precisa chegar na rede 172.23.3.0/24 pela interface eth0 e eth1. Como ter duas rotas default????

 

 

 

Com o utilitário iproute2 é possível fazer com que todo o pacote que entre por uma interface saia por ela própria. Para efeito de teste foi usada a rede 172.23.3.10/24 mas podia ser toda a internet! Outra consideração é que apesar deste cenário contar com servidores na mesma rede 172.23.3.10 /24, na prática usei a loopback dos roteadores R1 e R2.

Vamos para implantação!

 

Instalação

~# yum install iproute

Após a instalação será criado o diretório /etc/iproute2/.

 

Configuração de IPs na máquina Linux CENTOS

 

 

Configuração de IPs nos Roteadores Gateway (Cisco)

 

R1#sh run int fa0/0
Building configuration...
 
Current configuration : 97 bytes
!
interface FastEthernet0/0
 ip address 192.168.50.1 255.255.255.0
 duplex auto
 speed auto
end
 
R1#sh run int lo0
Building configuration...
 
Current configuration : 65 bytes
!
interface Loopback0
 ip address 172.23.3.10 255.255.255.0
end
 
R1#
 
 
 
 
 
R2#sh run int f0/0
Building configuration...
 
Current configuration : 96 bytes
!
interface FastEthernet0/0
 ip address 10.137.68.1 255.255.255.0
 duplex auto
 speed auto
end
 
R2#sh run int lo0
Building configuration...
 
Current configuration : 65 bytes
!
interface Loopback0
 ip address 172.23.3.10 255.255.255.0
end
 
R2#

 

Configuração de duas rotas default

 

Inserindo a rota default para o gw da rede 1

 

[root@localhost ~]# route add default gateway 192.168.50.1
[root@localhost ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.50.0    0.0.0.0         255.255.255.0   U         0 0          0 eth1
10.137.68.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         192.168.50.1    0.0.0.0         UG        0 0          0 eth1
[root@localhost ~]#

 

Inserindo a segunda rota default para o gw da rede 2

 

Precisamos que o tráfego entre e saia pela mesma interface na eth0. Três passos simples resumem o objetivo do cenário de teste:

1-      Cria-se uma nova tabela de roteamento. Criamos a tabela ROTAS_INTERNAS:

echo 5 ROTAS_INTERNAS >> /etc/iproute2/rt_tables

2-      Adicionamos uma rota default para essa tabela de roteamento saindo pela interface eth0:

ip route add default dev eth0 table ROTAS_INTERNAS

3-      Por fim, adicionamos uma regra para que tudo que seja destino ou origem a rede 10.137.68.0/24 use a tabela ROTAS_INTERNAS

ip rule add from 10.137.68.0/24 lookup ROTAS_INTERNAS

Caso seja necessário, limpe o cache da tabela de roteamento com o comando:

ip route flush cache

 

Verificando a tabela de roteamento

 

[root@localhost ~]# ip route
192.168.50.0/24 dev eth1  proto kernel  scope link  src 192.168.50.2
10.137.68.0/24 dev eth0  proto kernel  scope link  src 10.137.68.50
default via 192.168.50.1 dev eth1
 
[root@localhost ~]#
 
[root@localhost ~]# ip route show table ROTAS_INTERNAS
default dev eth0  scope link
 
 
[root@localhost ~]# ip rule
0:      from all lookup 255
32765:  from 10.137.68.0/24 lookup ROTAS_INTERNAS
32766:  from all lookup main
32767:  from all lookup default
[root@localhost ~]#

 

 

Teste

 

Linux Pingando 172.23.3.10 pela interface eth0

 

Linux Pingando 172.23.3.10 pela interface eth0

 

 

Arquivos de Configuração para BOOTAR com as ROTAS

 

Arquivo de configuração da nova tabela de roteamento ROTAS_INTERNAS

[root@localhost ~]# more /etc/iproute2/rt_tables
#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#
#1      inr.ruhep
5 ROTAS_INTERNAS

 

Arquivo de configuração de rota default na tabela de roteamento ROTAS_INTERNAS

 [root@localhost ~]#
[root@localhost ~]# more /etc/sysconfig/network-scripts/route-eth0
default dev eth0 table ROTAS_INTERNAS

 

Arquivo de configuração de regras para a tabela de roteamento ROTAS_INTERNAS

 

[root@localhost ~]# more /etc/sysconfig/network-scripts/rule-eth0
from 10.137.68.0/24 lookup ROTAS_INTERNAS

 

Seu ip é:
54.146.27.245

ShareTweet about this on TwitterShare on TumblrShare on LinkedInShare on Google+Share on FacebookPin on PinterestEmail this to someonePrint this page

About the Author:

O autor trabalha com tecnologia de redes há 13 anos, participa de congressos no Brasil e no mundo, e contribui para melhoria de protocolos e sistemas com fabricantes de equipamentos de rede.
  • Sofia

    Esta apicação funcionaria para um servidor de email com saida por dois links diferentes? Um link seria o default caso ele caisse passaria a mandar pelo outro e caso retorne o principal voltaria novamente.

  • Wolfz

    Sim. Poderia ser usada com alguma configuração adicional de detecção de falha . . . 

  • Carlos

    Boa noite!

    Ao meu vernão seria duas defaul, pois se tiver uma rota default(route) ele será lida primeiro do que uma rule(iproute2), logo não se pode ter duas rotas como sendo default…