VPN ネットワークではなく tun0 インターフェイスの OpenVPN パブリック IP

VPN ネットワークではなく tun0 インターフェイスの OpenVPN パブリック IP

VPNサーバーのパブリックIPを使用して、openvpnクライアントの背後にあるローカルネットワーク上のデバイスにアクセスすることはできません。

少し情報:

OpenVPNサーバー(openVZ、Debian7)

Opevpnクライアント(ラズベリーパイ2 raspbian jessie)。

別のVPNクライアントを使用して別のクライアントの背後にあるローカルネットワーク(クライアント1 VPN <>サーバーVPN <>クライアント2 VPN)にアクセスすると、Everythinkは正常に機能します。クライアント2からVPNの背後にあるクライアント1のローカルネットワークにアクセスできます。サーバーcfgでirouteなどを設定しました。

問題は、VPNサーバーの正規IPを使用してクライアント1の背後にあるローカルネットワーク上のIPカメラに接続しようとするときです。

クライアント側から:

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

サーバーに設定:

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 は VPN の Raspberry Pi 2 IP アドレスです。

tcpdumpを使って、なぜ動作しないのかを確認しました。

その理由は、VPNサーバーから着信パケットの送信元アドレスが正規のIPを持っているためです。 VPNクライアントがパブリックIPソースアドレスでこのパケットを受信すると、ton0の代わりにWANインターフェイスを使用して自動的に応答します。

誰でも私を助けることができますか?サーバーのiptablesに何を設定する必要がありますか?

PS:サーバーのファイアウォールにはiptablesルールが1つしかありません。

-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source PUBLICIP

ベストアンサー1

おすすめ記事