Use o OpenVPN & eth0 juntos

0

Eu me conecto a uma VPN usando o openVPN. Agora, depois que a conexão é estabelecida, todo o meu tráfego passa pelo tun0.

Meu gateway de rede local é 10.100.98.4 ... Então, para os apps usarem minha conexão direta à internet, eu fiz

sudo route add default gw 10.100.98.4

Mas eu não posso usar o tun0 agora. Eu sei disso porque

curl --interface tun0 google.com

não me dá nada .. Como faço para usar usando as duas conexões simultaneamente . Como posso conseguir isso?

TABELAS DE ROTEAMENTO: -

Sem VPN em execução: -

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.100.98.0     *               255.255.255.0   U     1      0        0 eth0
default         10.100.98.4     0.0.0.0         UG    0      0        0 eth0

Com VPN: -

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.0.1       10.10.54.230    255.255.255.255 UGH   0      0        0 tun0
10.10.54.230    *               255.255.255.255 UH    0      0        0 tun0
free-vpn.torvpn 10.100.98.4     255.255.255.255 UGH   0      0        0 eth0
10.100.98.0     *               255.255.255.0   U     1      0        0 eth0
default         10.10.54.230    0.0.0.0         UG    0      0        0 tun0

Após o comando route -

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.0.1       10.10.54.230    255.255.255.255 UGH   0      0        0 tun0
10.10.54.230    *               255.255.255.255 UH    0      0        0 tun0
free-vpn.torvpn 10.100.98.4     255.255.255.255 UGH   0      0        0 eth0
10.100.98.0     *               255.255.255.0   U     1      0        0 eth0
default         10.100.98.4     0.0.0.0         UG    0      0        0 eth0
default         10.10.54.230    0.0.0.0         UG    0      0        0 tun0
    
por Abhijeet Rastogi 14.01.2011 / 14:10

1 resposta

1

Depois de adicionar a rota padrão, você está dizendo a todo o seu tráfego para voltar para fora do gateway, então você só fará coisas estranhas acontecerem.

Se você tiver uma rede específica na outra ponta da sua VPN à qual você precisa acessar, você deseja adicionar rotas específicas para apontar para tun0 . Você pode fazer isso manualmente adicionando rotas depois que o túnel aparecer, ou melhor ainda, alterar o arquivo server.conf do OpenVPN para "empurrar" as rotas para você quando o túnel aparecer.

Se você estiver querendo fazer algo um pouco mais complicado - digamos que você queira forçar todas as portas 80 e 443 a reduzir o tráfego da VPN, mas deixar todo o resto de eth0 -, então você pode usar iptables para originar tráfego NAT que corresponda a regras específicas ao endereço IP de tun0 - algo parecido com isto: -

iptables -t nat -A POSTROUTING -s 10.10.98.0/24 -d ! 10.10.98.0/24 -p tcp --dport 80 -j SNAT --to-source 10.10.54.230
iptables -t nat -A POSTROUTING -s 10.10.98.0/24 -d ! 10.10.98.0/24 -p tcp --dport 443 -j SNAT --to-source 10.10.54.230

Para tornar isso persistente, como root, iptables-save > /etc/iptables/iptables.rules .

Boa sorte!

    
por 14.01.2011 / 15:03