如何将端口80内部端口转发到端口8080?
我的目标是在端口8080上运行Web应用服务器(Glassfish),但是外部世界通常在80端口上访问它。这样做是为了不必以root身份运行Glassfish。
我试着将下面的规则添加到我的/ etc / sysconfig / iptables中:
-A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
但是这会导致以下错误:
Applying iptables firewall rules: iptables-restore v1.3.5: Line 21 seems to have a -t table option.
你不能像/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
您也可以使用iptables命令手动设置您喜欢的规则,然后执行iptables-save > /etc/sysconfig/iptables或service iptables save 。
你近了
iptables -t nat -A PREROUTING -i eth0 -p tcp -dport 80 -j DNAT -to-destination:8080
它必须做NAT,以便当答复被发回到客户端时,它似乎来自端口80而不是8080。