私はこの質問に似たことをしようとします。
https://unix.stackexchange.com/a/85933/20426
したがって、ポート44444に出るすべてのトラフィックを1.1.1.1:80にリダイレクトしたいと思います。
iptables -t nat -A OUTPUT -p tcp --dport 44444 -j DNAT --to-destination 1.1.1.1:80
iptables -t nat -A OUTPUT -p tcp --dport 44444 -j LOG --log-prefix
しかし、トラフィックはまだ代わりに元のIPに移動します。1.1.1.1:80
私はOpenWRTルーターでこれを設定しようとしていますが、バージョンは次のとおりです。
MTK OpenWrt SDK V3.4
revision : e7847192
benchmark : APSoC SDK 5.0.1.0
Linux 3.10.14
iptables v1.4.21
私は何が間違っていましたか?
答え1
私のために働くようです:
# iptables -tnat -A 出力 -p tcp --dport 44444 -j DNAT --ターゲット $someip:8888 $nc $someotherip44444 #tcpdump -n... 18:23:54.699942 IP[マイIPアドレス].55212 >[一部IP].8888:フラグ[S]、seq 1138760196、...
この部分を理解すればiptables のマニュアルページそうですね。OUTPUT
ホスト自体から始まる接続にのみ適用されます。いいえルーティング接続。このルールを追加しませんかPREROUTING
?
nat
:
このテーブルは、新しい接続を作成するパケットが見つかったときに参照されます。これは4つの組み込み機能で構成されています。 ...OUTPUT
(ルーティング前にローカルに生成されたパケットの変更)およびPOSTROUTING
(パケットが放出されようとしたときに変更)。