OpenVPN usa endereço IP incorreto

1

Instalei o OpenVPN em um cliente (por trás do roteador NAT) e em um servidor VPS. O túnel está estabelecido. No entanto, o ping só é possível de cliente para servidor. O servidor usa seu endereço IP público no tun0 ao tentar efetuar ping no cliente:

13:03:56.766564 IP publicIP > 192.168.11.8: ICMP echo request, id 12279, seq 46, length 64

A tabela de roteamento parece estar correta:

root@:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.11.2 * 255.255.255.255 UH 0 0 0 tun0
184.x.x.x * 255.255.255.0 U 0 0 0 venet0
192.168.11.0 192.168.11.2 255.255.255.0 UG 0 0 0 tun0
default * 0.0.0.0 U 0 0 0 venet0

O que há de errado? Por que está usando o IP público? (É um contêiner OpenVZ).

    
por chris 30.11.2012 / 09:59

2 respostas

-1

Desculpe, foi uma regra do iptables que eu esqueci.

    
por 02.12.2012 / 01:47
1

Determine o endereço IP da sua interface de túnel com ifconfig ou o comando ip addr . Com base na sua tabela de roteamento, eu esperaria que fosse 192.168.11.1. Túneis adicionais seriam 192.168.11.5, 192.168.11.9. Você também deve poder determinar esse endereço na tabela de roteamento do cliente.

Tente usar o endereço IP da extremidade dos servidores do túnel no lugar de 192.0.2.1 no comando ping: ping -I 192.0.2.1 . Isso deve forçar o ping a usar o endereço desejado. Algumas versões do ping serão vinculadas à interface e não poderão enviar o ping em uma interface diferente.

O que você está vendo é relativamente comum quando você executa túneis ou outros casos em que o roteamento pode ser assimétrico. Neste caso:

  • O ping do endereço público é encaminhado para fora do tun0.
  • A resposta do cliente é encaminhada pela interface normal de volta ao seu servidor.
  • O servidor não reconhece a resposta porque o endereço de origem não corresponde.
por 01.12.2012 / 15:18