OpenVPN e roteamento

4

Eu tenho um servidor executando o openvpn e tenho um pequeno problema.

Todo o meu tráfego é encaminhado para a VPN e, quando uso um site como "whatismyip", vejo o IP do servidor, portanto, essa parte está funcionando.

Mas quando me conecto a um site hospedado no mesmo servidor que a VPN, vejo meu endereço IP real em vez do endereço IP local, como 10.8.0.2 (em logs do apache2)

Alguém pode me ajudar a corrigir esse problema?

    
por Clem 27.05.2012 / 01:24

1 resposta

2

Para rotear todo o tráfego através do servidor VPN, o cliente VPN define a rota padrão da máquina cliente para o dispositivo de encapsulamento. No entanto, os pacotes criptografados de saída criados pelo cliente VPN precisam ser roteados diretamente para o servidor VPN (e não de volta ao cliente VPN) e, portanto, há uma rota específica criada para o servidor VPN que sai do gateway local. A tabela de roteamento é algo como isto (onde 1.2.3.4 é o IP público do servidor VPN):

192.168.0.0/24 dev eth0     # Local network
1.2.3.4/32 via 192.168.0.1  # Route to VPN server
default via 10.8.0.2        # Everything else via VPN client

Quando você acessa outro serviço no servidor VPN, ele é correspondido por essa rota específica e encaminhado diretamente para a Internet.

Existem algumas maneiras de resolver isso:

  1. Use o IP privado do servidor VPN ao acessar os outros serviços nele (por exemplo, 10.8.0.1 em vez de 1.2.3.4). Idealmente, isso seria feito com um servidor DNS no servidor VPN fornecendo DNS dividido para clientes VPN.
  2. Use um endereço IP dedicado para o servidor VPN.
  3. Configure o roteamento de política baseado em portas no cliente, para que apenas os pacotes destinados ao servidor VPN no número da porta VPN sejam roteados diretamente para a Internet.
por 27.05.2012 / 03:31

Tags