o encaminhamento de porta não funciona quando o cliente OpenVPN está ativo

1

Configurei com sucesso o cliente OpenVPN no meu roteador executando o ddwrt e também configurei-o para ativar o OpenVPN na inicialização.

rede doméstica = > roteador ddwrt com cliente OpenVPN = > web

Eu posso ver a interface da web do roteador e ssh em qualquer uma das minhas caixas UNIX domésticas se o cliente OpenVPN não estiver em execução. Então, eu estou querendo saber como posso fazer o mesmo se o cliente OpenVPN estiver em execução.

Estou certo de que minha conexão de rede doméstica está ativa porque estou digitando isso agora mesmo no meu Macbook que está conectado ao meu roteador via Wi-Fi e meu outro Macbook está conectado à rede através do hotspot pessoal do iPhone. Estou fazendo testes no segundo Macbook.

Informações importantes:

O firewall do roteador está desativado.

Informação de roteamento IP

root@myrouter:~# ip route list
0.0.0.0/1 via 10.208.185.5 dev tun1 
default via my-wan-gateway-ip-here dev ppp0 
my-wan-gateway-ip-here dev ppp0  proto kernel  scope link  src my-real-ip-here
10.208.0.1 via 10.208.185.5 dev tun1 
10.208.185.5 dev tun1  proto kernel  scope link  src 10.208.185.6 
127.0.0.0/8 dev lo  scope link 
128.0.0.0/1 via 10.208.185.5 dev tun1 
169.254.0.0/16 dev br0  proto kernel  scope link  src 169.254.255.1 
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.1 
my-vpn-ip via my-wan-gateway-ip-here dev ppp0

Minha configuração do OpenVPN executa o router-up.sh padrão criado por dd-wrt automaticamente . Eu não fiz nenhuma alteração neste script.

root@myrouter:/tmp# cat /tmp/openvpncl/route-up.sh 
#!/bin/sh
iptables -D POSTROUTING -t nat -o tun1 -j MASQUERADE
iptables -I POSTROUTING -t nat -o tun1 -j MASQUERADE
iptables -D INPUT -i tun1 -j ACCEPT
iptables -I INPUT -i tun1 -j ACCEPT

Meus servidores DNS (usando Comodo e OpenDNS)

root@myrouter:/tmp# cat resolv.dnsmasq
nameserver 8.26.56.26
nameserver 8.20.247.20
nameserver 208.67.222.222

Eu também usei algum script que encontrei na rede para que determinados IPs possam ignorar a VPN. Este script faz parte do meu script de inicialização (rc_startup). Preciso disso para poder jogar esse jogo específico em meus tablets.

#!/bin/sh
sleep 30
NO_VPN_LST="192.168.1.11 192.168.1.2"
[ -z "$NO_VPN_LST" ] && exit 0
WAN_GWAY="0.0.0.0"
while [ $WAN_GWAY == "0.0.0.0" ]; do
sleep 3
WAN_GWAY='nvram get wan_gateway'
done
ip route add default via $WAN_GWAY table 10
for ipa in $NO_VPN_LST; do
ip rule add from $ipa table 10
done
ip route flush cache
exit 0
    
por mrjayviper 20.07.2015 / 06:21

1 resposta

0

O problema que você está enfrentando é provavelmente um roteamento padrão / de origem.

Quando a VPN não está funcionando, porque o gateway padrão está fora da sua conexão com a Internet, mas quando você inicia a VPN, algumas novas rotas estão sendo adicionadas "0.0.0.0/1 via 10.208.185.5 dev tun1 e 128.0. 0.0 / 1 via 10.208.185.5 dev tun1 "Isso tem o efeito de tornar o gateway padrão o ponto de extremidade VPN em vez da sua conexão regular.

Existem 2 soluções, dependendo do que você precisa fazer -

A solução mais fácil é livrar-se dessas duas linhas criando o gateway padrão e programar (ou fazer com que seu provedor programe) rotas específicas na sua conexão VPN que você deseja acessar através da VPN. Esta é apenas uma opção se você estiver usando uma VPN para uma finalidade específica - por exemplo, conectar-se a uma rede da empresa, mas não funcionará bem se você estiver tentando ocultar sua identidade na Internet.

A solução mais difícil é fazer "roteamento baseado na origem" - o que significa configurar 2 tabelas de roteamento - a atual sendo uma tabela padrão, com uma segunda tabela para responder diretamente sobre a conexão regular, com uma rota padrão diferente. Isso não é trivial, mas existem vários links para isso, incluindo aqui e aqui (As palavras-chave para o google seriam "roteamento de origem" ou "política roteamento "- Se você realmente quiser se tornar especialista nessas coisas, provavelmente precisará se familiarizar com o LART - Capítulo 4 abrange roteamento de políticas)

    
por 20.07.2015 / 07:59