web-dev-qa-db-ja.com

iptablesを使用したローカルポート転送が機能していない

次のコマンドを使用して、着信トラフィックをポート30からポート1234に転送しています。しかし、機能していません。 Wiresharkでも、ポート1234に向かうパケットの痕跡は見つかりません。

Sudo iptables -t nat -I PREROUTING --src 0/0 --dst 127.0.0.1 -p tcp --dport 30 -j REDIRECT --to-ports1234。

1
SRNB

異なるポートのパケットのローカル転送は、PREROUTINGチェーンを通過しません。それらはOUTPUTチェーンに従います。チェーンをPREROUTINGからOUTPUTに変更すると機能します。

Sudo iptables -t nat -A OUTPUT -p tcp --dport 30 -j REDIRECT --to-port 1234

Iptables NATフィルターについての詳細はここにあります:
https://www.karlrupp.net/en/computer/nat_tutorial

2
SRNB

これが有効になっているかどうかを確認する

Sudo iptables -t nat -L

エントリがある場合は、次を使用して削除します。

Sudo iptables -F -t nat

Srcdestフラグなしで試してください。

Sudo iptables -t nat -A PREROUTING -p tcp --dport 30 -j REDIRECT --to-ports 1234

これが有効になっているかどうかをもう一度確認してください

Sudo iptables -t nat -L

デフォルトで「OUTPUT」ルートにキューに入れられたチェーンエントリを削除することが重要です。

0
Pavan Kate