既存の設定 IPTABLES の他のプライベート IP に着信ポートを転送します。

既存の設定 IPTABLES の他のプライベート IP に着信ポートを転送します。

私のDebian 8ゲートウェイでは、受信ポート9000を192.168.4.10:3389に転送し、受信ポート9001を192.168.4.11:3389に転送したいと思います。

DHCP - WAN - eth0 -----> eth2 - LAN - 192.168.4.1

iptables-restoreで以下のrule.v4を使用しています。私はiptablesの経験がほとんどなく、Web上のすべてのチュートリアルを通してこれを既存のルールに実装することはできませんでした。

私はDebian 8とiptables v1.4.21を使用しています。

私の既存のiptablesルールは次のとおりです。

# Generated by iptables-save v1.4.21 on Sat Jul 25 12:31:07 2020
*nat
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT

*filter
-A INPUT -i lo -j ACCEPT
# allow ssh, so that we do not lock ourselves
# allow ping from WAN side
--append INPUT --protocol icmp --icmp-type any --src [REDACTED_IP] --jump ACCEPT


# open ports for gateway services
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth2 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i bond0 -p tcp -m tcp --dport 22 -j ACCEPT

-A INPUT -i eth0 -p tcp -m tcp --dport 9091 -j ACCEPT
-A INPUT -i eth2 -p tcp -m tcp --dport 9091 -j ACCEPT

-A INPUT -i bond0 -p tcp -m tcp --dport 8200 -j ACCEPT

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -i eth0 -j DROP

COMMIT

このルールを復元します。 iptables-restore < /etc/iptables/rules.v4

どんな助けでも大変感謝します。ありがとうございます。

答え1

ゲートウェイに2つのNIC(eth0WAN方向、eth2LAN方向)があるとします。最初のルールはパケット転送(ルーティングとも呼ばれます)を有効にします。インターネットからの着信トラフィックはeth0ルール#2および#3に従って到着し、リモート宛先ホストに切り替えられる。これをターゲットNAT(DNAT)。 4番目のルールはNATを有効にします。

$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward
$ sudo iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 9000 -j DNAT --to-destination 192.168.4.10:3389
$ sudo iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 9001 -j DNAT --to-destination 192.168.4.11:3389
$ sudo iptables -t nat -A POSTROUTING -j MASQUERADE

すべてが順調に進んでいる場合は、恒久的な変更を検討してください。

関連情報