Como fazer o roteamento

3

Eu configurei um servidor Ubuntu, que quero usar como roteador para o meu escritório local.

  1. O problema é que eu quero fazer 2 conexões VPN, para filiais remotas, e então eu quero rotear todo o tráfego para a sub-rede dessas duas filiais através das conexões VPN, ppp0 e ppp1, e rotear o resto do tráfego para eth0.

Como posso fazer isso?

  1. Eu também quero encaminhar uma parte do meu tráfego de internet através do ppp0, porque temos alguma assinatura de serviço, que é baseada em nosso IP em uma das agências e, portanto, eu preciso rotear essa parte do tráfego da internet através de ppp0.

É possível configurar da mesma maneira que o problema 1?

--- EDITADO ---

Ok. Eu encontrei uma resposta nesta página: link

Isso parece estar funcionando:

route add -net 192.168.0.0 netmask 255.255.0.0 dev ppp0
iptables --insert OUTPUT 1 --source 0.0.0.0/0.0.0.0 --destination 192.168.0.0/16 --jump ACCEPT --out-interface ppp0
iptables --insert INPUT 1 --source 192.168.0.0/16 --destination 0.0.0.0/0.0.0.0 --jump ACCEPT --in-interface ppp0
iptables --insert FORWARD 1 --source 0.0.0.0/0.0.0.0 --destination 192.168.0.0/16 --jump ACCEPT --out-interface ppp0
iptables --insert FORWARD 1 --source 192.168.0.0/16 --destination 0.0.0.0/0.0.0.0 --jump ACCEPT
iptables --table nat --append POSTROUTING --out-interface ppp0 --jump MASQUERADE
iptables --append FORWARD --protocol tcp --tcp-flags SYN,RST SYN --jump TCPMSS --clamp-mss-to-pmtu
    
por Gunnar 18.01.2012 / 15:06

2 respostas

1

Supondo que a VPN esteja em funcionamento, você precisará adicionar uma entrada à tabela de roteamento que especifique sobre qual interface enviar tráfego às redes X e Y.

Como fazer isso pode variar de uma distro Linux para outra, mas isso vai te dar uma idéia - Por exemplo, vamos supor que sobre ppp0 você quer alcançar 192.168.255.0/24

route add -net 192.168.255.0 netmask 255.255.255.0 gw 192.168.255.2 dev pp0

OR

route add -net 192.168.255.0/24 dev ppp0

E isso deve encaminhar o tráfego para uma rede específica através de uma interface específica. Espero que ajude.

    
por 18.01.2012 / 16:45
1

Editar por OP:

Ok. Eu encontrei uma resposta nesta página: link

Isso parece estar funcionando:

route add -net 192.168.0.0 netmask 255.255.0.0 dev ppp0
iptables --insert OUTPUT 1 --source 0.0.0.0/0.0.0.0 --destination 192.168.0.0/16 --jump ACCEPT --out-interface ppp0
iptables --insert INPUT 1 --source 192.168.0.0/16 --destination 0.0.0.0/0.0.0.0 --jump ACCEPT --in-interface ppp0
iptables --insert FORWARD 1 --source 0.0.0.0/0.0.0.0 --destination 192.168.0.0/16 --jump ACCEPT --out-interface ppp0
iptables --insert FORWARD 1 --source 192.168.0.0/16 --destination 0.0.0.0/0.0.0.0 --jump ACCEPT
iptables --table nat --append POSTROUTING --out-interface ppp0 --jump MASQUERADE
iptables --append FORWARD --protocol tcp --tcp-flags SYN,RST SYN --jump TCPMSS --clamp-mss-to-pmtu
    
por 07.06.2012 / 01:29