Linux配置完iptables后,重啟失效的解決方案
因為只有root用戶才可訪問1024以下的端口,非root用戶登陸是不能啟用80端口的。web service 往往啟動1024以上的端口,並通過iptables映射到80.
1、將server.xml中的端口改為8080
2、然后:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
(如果用到443,也相應執行以上方法)
此時雖然可以訪問80端口了,但是一旦服務器關機,或者是重啟了之后,還是只能通過8080端口訪問了。
解決辦法如下:
輸入完iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 后
執行iptables-save
注意:iptables-save是連在一起的,是一個命令,不是參數
iptables-save 僅僅是列出當前設置,並不是將配置保存
若你用的是 RedHat 系列,應該使用 service iptables save 保存,用 chkconfig iptables on 實現開機啟動啟用
若不是 RedHat 系列,可以使用下面方法手動保存/恢復配置
保存
iptables-save > /root/iptables.conf
恢復
iptables-restore < /root/iptables.conf