私の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(eth0
WAN方向、eth2
LAN方向)があるとします。最初のルールはパケット転送(ルーティングとも呼ばれます)を有効にします。インターネットからの着信トラフィックは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
すべてが順調に進んでいる場合は、恒久的な変更を検討してください。