パブリックインターフェイスとプライベートインターフェイス間のポート転送

パブリックインターフェイスとプライベートインターフェイス間のポート転送

この質問は数多く提起されました。数週間前に私はこれを行うことができました。これServerFaultが公開これデジタルオーシャンブログ投稿。私は簡単なものを見逃す必要があります。

私の目標は、NATを実行する2つのインターフェイス間でパケットを転送することです。特にパブリックインターフェイスと外部USB NICの間でパケットを転送したいと思います。

ポート転送を許可するようにカーネルが設定されていることを確認しました。

$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

インターフェイスごとの転送設定は次のとおりです。

net.ipv4.conf.enp0s20u4u3.forwarding = 1
net.ipv4.conf.eno1.forwarding = 1

私が作成したルールはiptables次のとおりです。

iptables -t nat -A PREROUTING -i eno1 --protocol tcp --destination-port 10000 -j DNAT --to-destination 192.168.10.2:1234
iptables -A FORWARD -i eno1 -o enp0s20u4u3 --protocol tcp --destination-port 1234 -j ACCEPT
iptables -t nat -A POSTROUTING -o enp0s20u4u3 --protocol tcp --source 192.168.10.2 --source-port 1234 -j SNAT --to-source 192.168.10.1

次に、ポート10000を介してTCP接続を確立してこの構成をテストしました(外部IPが192.168.2.50の場合)。

$ nc -v 192.168.2.50 10000
nc: connect to 192.168.2.50 port 10000 (tcp) failed: Connection refused

私のルールエントリが正しくない場合、この動作は意味があります。だからルール統計を捨てました。

$ iptables -t nat -L -v
Chain PREROUTING (policy ACCEPT 15 packets, 2885 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DNAT       tcp  --  eno1   any     anywhere             anywhere             tcp dpt:ndmp to:192.168.10.2:1234

Chain INPUT (policy ACCEPT 15 packets, 2885 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 SNAT       tcp  --  any    enp0s20u4u3  192.168.10.2         anywhere             tcp spt:search-agent to:192.168.10.1

したがって、着信TCPパケットは最初のチェーンルールと一致しませんPREROUTING。エラーがどこにあるのかよくわかりません。最初のルールはとても簡単です。アイデアは次のとおりです。

192.168.2.50:10000 へのインバウンド トラフィックは、プライベート インターフェイスで 192.168.10.2:1234 への NAT です。

ベストアンサー1

おすすめ記事