VPNによるNAT

VPNによるNAT

VPNクライアントの背後にあるサーバーにアクセスできません。

192.168.1.6から10.0.0.200:1521に連絡したいと思います。

ネットワーク

VPNアクセスを設定し、192.168.1.6(Ubuntu)から192.168.27.65(Debian)をpingできます。

Debian では、10.1.0.51 を使用して 10.0.0.200 に ping を送信できます。

NATを192.168.1.6に設定したため、要求は10.0.0.200:1521、192.168.27.65:65000に移動します。(1)次の規則に従ってください。

iptables -t nat -A PREROUTING -d 10.0.0.200 -p tcp --dport 1521 \
    -j DNAT --to-destination 192.168.27.65:65000;

192.168.27.65:65000(tun0) を 10.1.0.51:65000(eth0) にルーティングしてみました。(2)しかし、成功しませんでした。

iptables -A INPUT -p tcp --dport 65000 -j ACCEPT;

iptables -A OUTPUT -p tcp --dport 65000 -j ACCEPT;

iptables -t nat -A PREROUTING -d 192.168.27.65 -p tcp --dport 65000 \
    -j DNAT --to-destination 10.1.0.51:65000;

したがって、最後のルール ルーティング 10.1.0.51:65000 から 10.0.0.200:1521 をテストできません。(サム)

iptables -t nat -A PREROUTING -d 10.1.0.51 -p tcp --dport 65000 \
    -j DNAT --to-destination 10.0.0.200:1521;

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;

192.168.1.6から10.0.0.200:1521に移動するには?

私が間違っているようです。 192.168.27.65:65000(tun0) は 10.1.0.51:65000 に達できません。 IPを使用する代わりに、tun0とeth0の間でNATを実行する必要がありますが、どうすればよいかわかりません。

以前の構成では、次のコマンドを使用してトラフィックをlocalhost:portにルーティングし、localhost:portを別のホストにルーティングしました。しかし、ここでは状況が少し複雑です。

iptables -t nat -A OUTPUT -d 10.0.0.200 -p tcp --dport 1521 \
    -j DNAT --to-destination 127.0.0.1:65000

ネットワーク2

ベストアンサー1

一時的な解決策として、Debian コンピュータで次のことを試すことができます。

iptables -A POSTROUTING -t nat -p TCP -s 192.168.1.6/32 -d 10.0.0.200/32 --dport 1521 -o eth0 -j SNAT --to-source 10.1.0.51

192.168.1.6ホストまたはルーターがDebianホストにパケットをルーティングする方法を知っている限り。その後、Debian ホストはソースを独自の IP に書き換え、パケットを 10.0.0.200:1521 サーバーにルーティングします。したがって、サーバー10.0.0.200:1521は、実際のソース192.168.1.6ではなく、IP 10.1.0.51からの接続のみを表示できます。

編集:もう一つ。 Debianシステムで配信が有効になっていますか?確認:cat /proc/sys/net/ipv4/ip_forwardの結果は1でなければなりません。

おすすめ記事