Centos

iptables:將埠 80 轉發到埠 8080

  • February 4, 2011

如何在內部將埠 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

但這會導致以下錯誤:

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/iptablesor service iptables save

引用自:https://serverfault.com/questions/231381