系统相关
首页 > 系统相关> > linux – 在同一台机器上将端口映射到另一个端口

linux – 在同一台机器上将端口映射到另一个端口

作者:互联网

我有所有流量来自端口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效果的数据包.

标签:linux,iptables,tcpdump,nat,port-forwarding
来源: https://codeday.me/bug/20190815/1661658.html