IP público OpenVPN na interface tun0 em vez de rede vpn

3

Não consigo acessar dispositivos na rede local por trás do cliente openvpn usando o IP público do servidor VPN.

Um pouco de informação:

Servidor OpenVPN (openVZ, Debian7)

Cliente Opevpn (raspberry pi 2 raspbian jessie).

Everythink funciona bem, quando eu uso outro cliente vpn para acessar a rede local por trás de outro cliente (VPN do cliente VPN do servidor VPN do cliente 1). Do cliente 2 eu tenho acesso à rede local por trás do cliente 1 VPN. No servidor cfg eu configurei iroute etc.

O problema é quando eu tento acessar, por exemplo, a câmera ip na rede local atrás do cliente 1 usando o IP público do servidor VPN.

No lado do cliente:

iptables -I FORWARD -i tun0 -p tcp -d 192.168.2.2 --dport 8080 -j ACCEPT
iptables -t nat -I PREROUTING -i tun0 -p tcp --dport 8080 -j DNAT --to-destination 192.168.2.2:8080

No conjunto de servidores:

iptables -I FORWARD -i venet0 -p tcp -d 10.8.0.6 --dport 8080 -j ACCEPT
iptables -t nat -I PREROUTING -i venet0 -p tcp --dport 8080 -j DNAT --to-destination 10.8.0.6:8080

10.8.0.6 é o endereço ip do raspberry pi 2 na VPN

Eu usei o tcpdump para ver porque não funciona.

O motivo é que os pacotes do servidor VPN têm um IP público no endereço de origem. Quando o cliente vpn recebe esse pacote com o endereço de origem ip público, responde automaticamente usando a interface WAN, não tun0.

Alguém pode me ajudar? O que devo fazer no iptables no servidor?

PS: No firewall no servidor eu tenho apenas uma regra iptables:

-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source PUBLICIP
    
por Jeff Schaller 01.11.2015 / 15:32

0 respostas

Tags