Estou tentando fazer meu cliente encaminhar todo o tráfego por meio de um VPS executando o OpenVPN. Como você pode ver, ele permitirá pings para domínios e endereços IP brutos, mas não permitirá que tráfego como o feito através de curl e traceroute não chegue a nada. O tráfego funciona corretamente quando não está conectado à VPN.
Toda a informação está aqui: https://pastebin.com/tGspNefn
Obrigado.
Configurações de trabalho graças à solução abaixo:
Servidor:
port <integer>
proto udp
dev tun
ca ca.crt
cert vpnserver.crt
key vpnserver.key # This file should be kept secret
dh dh4096.pem
tls-auth ta.key 0
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway autolocal"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
Cliente:
client
dev tun
proto udp
remote x.x.x.x <port number>
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert vpnclient.crt
key vpnclient.key
tls-auth ta.key 1
ns-cert-type server
cipher AES-256-CBC
comp-lzo
verb 3
/sbin/route add -net 0.0.0.0 netmask 128.0.0.0 gw 10.8.0.5
por que netmask 128.0.0.0?Respostas:
Existem duas partes na solução:
1. Redirecione todo o tráfego para o túnel
A solução mais fácil - use a
--redirect-gateway autolocal
opção do OpenVPN (ou coloque-a no arquivo de configuração comoredirect-gateway autolocal
.2. Manipule o tráfego no servidor OpenVPN
Agora que o túnel está ativo, todo o tráfego entra no túnel e aparece no final do servidor a partir da
tun0
interface.Você precisa configurar duas coisas para fazê-lo funcionar:
uma. Ativar encaminhamento de pacotes
Por padrão, na maioria das distribuições, o encaminhamento de pacotes é desativado; portanto, os pacotes da interface de encapsulamento nunca chegam à interface pública. Você deve ativar o encaminhamento com:
Uma vez testado, faça a alteração permanente em
/etc/sysctl.conf
Verifique também se
iptables
não está bloqueando o tráfego encaminhado:Isso é bom o suficiente para teste - na produção, você deseja tornar as regras do firewall um pouco mais específicas, mas isso está fora de escopo aqui.
b. NAT os pacotes de saída do túnel
Com o encaminhamento ativado, os pacotes são encaminhados por padrão com o endereço de origem inalterado, ou seja, no seu caso
10.8.0.6
- esses pacotes são descartados no gateway ISP ou, mesmo que cheguem ao destino, a resposta nunca encontra o caminho de volta. Esses endereços particulares não são roteáveis na internet.A solução é
10.8.0.6
enviar NAT ao tráfego de saída, ou seja, substituir o endereço privado pelo IP público do servidor VPN. Isso garantirá que as respostas cheguem ao servidor VPN e serão encaminhadas de volta ao túnel.3. Teste
Agora tente
ping 8.8.4.4
no seu cliente VPN. Você deve ver uma resposta. Deixe-nos saber se não :)fonte
Redirect all the traffic into the tunnel
etapa na configuração do cliente?