iptables:将端口 80 转发到端口 8080

Caf*_*oma 7 iptables centos port-forwarding

如何在内部将端口 80 转发到端口 8080?

我的目标是让 Web 应用程序服务器 (Glassfish) 在端口 8080 上运行,但外部世界可以在端口 80 上正常访问它。这样做是为了让我不必以 root 身份运行 Glassfish。

我尝试将以下规则添加到我的 /etc/sysconfig/iptables:

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

但这会导致以下错误:

Applying iptables firewall rules: iptables-restore v1.3.5: Line 21 seems to have a -t table option.
Run Code Online (Sandbox Code Playgroud)

Mar*_*ner 8

您不能像/etc/sysconfig/iptables. 每个表都用星号设置,然后是表名。这是您要做的事情的骨架:

*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination :8080
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
Run Code Online (Sandbox Code Playgroud)

除了编辑文件,您还可以使用iptables命令手动设置您喜欢的规则,然后执行iptables-save > /etc/sysconfig/iptablesservice iptables save