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
答え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でなければなりません。