解決済み:
iptables -A PREROUTING -t nat -p tcp -d 1.1.1.1 --match multiport ! --dports 22,8000 -j DNAT --to-destination 2.2.2.2
マルチポートオプションを見つけました!! これは期待どおりに機能します。
Web に 8000、SSH に 22 を使用しています。これら 2 つのポートを除くすべてのポートを転送しようとしています。以下は、ポート 8000 以外のすべてを転送します
iptables -A PREROUTING -t nat -p tcp -d 1.1.1.1 ! --dport 8000 -j DNAT --to-destination 2.2.2.2
次の範囲を除くすべてを転送できます(22〜8000を除くすべて)
iptables -A PREROUTING -t nat -p tcp -d 1.1.1.1 ! --dport 22:8000 -j DNAT --to-destination 2.2.2.2
以下を使用しても機能しません
iptables -A PREROUTING -t nat -p tcp -d 1.1.1.1 ! --dport 22 -j DNAT --to-destination 2.2.2.2
iptables -A PREROUTING -t nat -p tcp -d 1.1.1.1 ! --dport 8000 -j DNAT --to-destination 2.2.2.2
コンマもやってみました。また、運が悪かったので少し検索してみました。22 と 8000 以外のすべてを転送するにはどうすればよいですか?