在 Linux 上,特别是 Debian 发行版:
在发生任何实际路由之前,如何在同一设备上将流量从一个端口转发到另一个端口?
(例如,设备 A 上端口 80 的所有入站流量都会被转发到设备 A 上的端口 8080。)
这似乎是一个简单的问题,但我研究之后也找不到答案。
iptables
通常是我用于此类网络设置的方法,但似乎没有任何标志可以处理此问题。也许 iptables 不是合适的工具?
在 Linux 上,特别是 Debian 发行版:
在发生任何实际路由之前,如何在同一设备上将流量从一个端口转发到另一个端口?
(例如,设备 A 上端口 80 的所有入站流量都会被转发到设备 A 上的端口 8080。)
这似乎是一个简单的问题,但我研究之后也找不到答案。
iptables
通常是我用于此类网络设置的方法,但似乎没有任何标志可以处理此问题。也许 iptables 不是合适的工具?
您可能要在同一台设备上使用表和链进行端口转发
iptables
。nat
然后PREROUTING
,您可以使用REDIRECT
专门为此设计的目标,因为它会在做出路由决策之前修改传入数据包的目标端口。尝试:
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
使用将允许您在路由过程之前
PREROUTING
改变数据包。