我有所有流量来自端口22.我选择了一个随机端口221,我希望所有流量都被路由到.
这是我使用的规则
iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 221
or iptables -t nat -A OUTPUT -p tcp --dport 22 -j REDIRECT --to-ports 221
iptable --list
target prot opt source destination
tcp -- anywhere anywhere tcp dpt:ssh
tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:221
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:http-alt
我正在使用命令检查流量
tcpdump -i any port 221
什么都没有路由到端口221.我做错了什么?
解决方法:
入口接口在IP堆栈之前看到数据包.即对源自系统外部的数据包没有NAT效应.他们的目标端口已更改,您只是看不到tcpdump.但是,您可以在过滤器/ INPUT链中使用packjet计数器查看它.
这与本地生成的数据包不同.它们在到达接口之前到达IP堆栈.因此,您可以在环回接口上看到具有DNAT效果的数据包.