我尝试做类似这个问题的事情
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 --to-destination $someip:8888 $ nc $someotherip 44444 # tcpdump -n ... 18:23:54.699942 IP[我的IP地址].55212 >[一些IP].8888:标志 [S],seq 1138760196,...
如果我理解这部分iptables 手册页正确,OUTPUT
仅适用于源自主机本身的连接,不是路由连接。您确定不想添加该规则吗PREROUTING
?
nat
:
当遇到创建新连接的数据包时,将查阅此表。它由四个内置函数组成:...OUTPUT
(用于在路由之前更改本地生成的数据包)和POSTROUTING
(用于在数据包即将发出时更改数据包)。