同じホストに2つのサービスがあるとします。 sshデーモンはポート22でリッスンし、ocks5エージェントはポート1080でリッスンします。
ポート22のみを使用しますが、ソースポートに応じてこれら2つのサービスを多重化したいと思います。
例:ソースポートが(1,2,3,4,5,6)のいずれかである場合は1080に移動し、そうでない場合はポート22に移動します。
ルールは1つの方法で機能します。
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 22 -m multiport --sports 1,2,3,4,5,6 -j REDIRECT --to-ports 1080
しかし、帰り道にどんなルールを立てるべきか分からない。
私の考えには次のようになります。
iptables -t nat -A POSTROUTING -p tcp -m tcp .....
しかし、正しいものが見つからないようです。
更新:これは単一のポートで動作するようです。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 --sport 2 -j DNAT --to :1080
答え1
それでは始めましょう。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -m multiport --sports 1:6 -j DNAT --to :1080
私はそれが簡単であることを知っています。