使用 iptables 转发传出流量端口

dan*_*.ba 8 linux iptables centos

我试图将所有传出流量从端口 80 转发到端口 8080 iptables,我尝试了以下规则,但它不起作用:

iptables -t nat -A OUTPUT -p tcp --dport 80 -j  REDIRECT --to-port 8080
Run Code Online (Sandbox Code Playgroud)

此外,对于传入流量,我需要一个规则,将同一主机上的端口转发不作为代理。

小智 4

您将需要它nat

例如

*nat
:PREROUTING ACCEPT
:POSTROUTING ACCEPT 
:OUTPUT ACCEPT

-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
Run Code Online (Sandbox Code Playgroud)

你可以运行这个:以转发 80 到 8080 等为例......

80 至 8080 传入

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
Run Code Online (Sandbox Code Playgroud)

在 80 至 8080 上传出

iptables -t nat -A POSTROUTING -p tcp --dport 80 -j SNAT --to-ports 8080
Run Code Online (Sandbox Code Playgroud)

注意:我没有测试过这个。