2 túneis VPN em 2 conexões independentes e roteamento

2

Costumávamos ter 1 túnel VPN em uma conexão com a Internet, conectando 2 datacenters em uma LAN virtual (10.x.x.x). Foi muito simples com tabelas de rotas, etc.

Agora que adicionamos outro túnel na segunda conexão física independente, torna-se muito difícil lidar com o roteamento. É bastante fácil rotear tudo a nova conexão, mas e se quisermos rotear apenas um host específico para hospedar ou sub-rede para sub-rede?

e.g.  
client1-site1 <--> vpn-on-site1 <--tun1--> vpn-on-site2 <--> service1-on-site2  
client2-site1 <--> vpn-on-site1 <--tun2--> vpn-on-site2 <--> service2-on-site2

Observe que há apenas 1 nó vpn em cada lado. O que conseguimos fazer é que os pacotes sejam roteados adequadamente de client2-site1 para service2-on-site2, mas os pacotes retornados às vezes vão para tun1 ...

    
por Alex 18.07.2012 / 10:14

1 resposta

2

você precisa de regras ip + iptables e tabelas de rota ip. 2 tabelas de rotas:

1st -- with default output via tun1. 
2nd -- with default output via tun2.

Quando o pacote é recebido no tun1 - > iptables mangle marcam como 0x1, Então, a regra ip a encaminha via marca 0x1 para a primeira tabela de rotas. Então, quando a resposta for dada, o pacote passará pela interface recebida, não pelo padrão.

Mesma lógica para o tun2.

Eu não sei, se isso ajudar, mas tente também com rp_filter = 0 (esta opção do kernel para responder no pacote de interface foi recebida, ajuda com a LAN)

Eu fiz algo parecido, aqui está o artigo ive encontrado e repostado no meu antigo lj. Ainda não encontrei fonte.

confira este artigo, ive republicado em lj

    
por 26.07.2012 / 09:24

Tags