Como rotear o tráfego openvpn-server através da própria vpn

1

Então eu tenho um servidor com o endereço IP público de 101.102.103.104 (por exemplo). Este servidor está executando um servidor openvpn, além de um monte de outras coisas que estão escutando nas portas de dispositivos de rede ip pública.

O que eu quero fazer é conectar-me uma vez a 101.102.103.104, rotear todo o tráfego futuro a este IP através do VPN.

Então, por exemplo, se eu curl 101.102.103.104:8080 for através da conexão VPN.

Eu tentei adicionar um push route ao meu server.conf da seguinte forma:

push "route 101.102.103.104 255.255.255.255"

e até tentei adicionar uma rota de exclusão:

push "route 101.102.103.104 255.255.255.255 net_gateway"

mas eu não parecia funcionar. A execução de sudo route -n ainda mostrou a rota passando pelo meu roteador doméstico:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
101.102.103.104  192.168.1.1     255.255.255.255 UGH   0      0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     9      0        0 wlan0

Alguma ideia de como posso conseguir isso? Eu percebi que o problema era o fato de que eu estava tentando direcionar o tráfego para o próprio servidor vpn, através do servidor vpn, e assim formando algum tipo de loop infinito, mas isso é apenas um palpite.

    
por Matthew Rathbone 08.07.2014 / 04:19

1 resposta

0

A tabela de roteamento exibida claramente não direciona todo o tráfego pela VPN, conforme mostrado na primeira linha. Em sua configuração atual, tudo o que ele faz é permitir que o cliente tenha acesso à LAN.

O comando para encaminhar todo o tráfego do cliente através do OpenVPN, incluindo todo o tráfego para terceiros ( isto é, , não a LAN do servidor VPN) é

  push "redirect-gateway def1"

que deve ser adicionado ao arquivo de configuração do servidor (você precisará reiniciar o programa OpenVPN, para que a mudança tenha efeito).

Além disso, como você configurou um OpenVPN roteado, não com ponte, você precisará ativar o NAT no servidor:

  iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Isto assume que a interface do servidor OpenVPN na Internet ( isto é, aquele com o endereço IP 101.102.103.104) é chamado eth0 . Por favor, ajuste de acordo.

Para verificar sua configuração, uma vez estabelecida a conexão com o servidor OpenVPN, emita o seguinte comando:

 wget 216.146.39.70:80 -O - -o /dev/null

Isso produzirá seu endereço IP aparente. Se a saída contiver 101.102.103.104, você está pronto.

    
por 08.07.2014 / 16:14