我正在Debian 8
运行iptables
。
我有以下规则:
iptables -t mangle -A PREROUTING -p tcp --dport 5000 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 4000
我只是想将通过目标端口 5000 的所有流量重定向到端口 4000。
该标准iptables
REDIRECT
在我的情况下不可用,因为它会更改数据包并更改原始目标端口。
看着iptables -t mangle -nvL
我可以看到被击中的规则:
Chain PREROUTING (policy ACCEPT 5056 packets, 13M bytes)
pkts bytes target prot opt in out source destination
12 720 TPROXY tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5000 TPROXY redirect 0.0.0.0:4000 mark
0x1/0x1
但是我在端口上运行的服务4000
不会拦截数据包。
我有一个简单的NodeJS
应用程序侦听TCP
端口上的所有内容4000
,但没有得到任何内容packets
:
server.listen(4000, () => { console.log('listening on 4000'); });
此外,在所有接口wireshark
上的TCP
端口 4000 上运行不会显示任何内容。