問題
系統是centos7.2,且已經安裝了iptables服務,但是在執行啟動命令后,卻報了iptables服務無法正常啟動的錯誤。
啟動命令如下:
systemctl start iptables.service
報錯如下:
Job for iptables.service failed because the control process exited with error code. See "systemctl status iptables.service" and "journalctl -xe" for details.
兩台服務器都是同樣的環境,但是一台一切正常,另一台卻是這種情況,覺得有點不對勁,之后嘗試了幾種其他方式,也試過重裝iptables服務和重啟服務器的方式,但是依然會報這個錯誤。
執行journalctl -xe
查看錯誤日志,查到了更加具體的原因,錯誤如下:
Failed to start IPv4 firewall with iptables.
到這里大概知道問題的原因了。
解決辦法
因為centos7默認的防火牆是firewalld防火牆,不是使用iptables,因此需要先關閉firewalld服務,或者干脆使用默認的firewalld防火牆。
因為這次報錯的服務器是一台剛剛購買的阿里雲服務器,所以在操作上忘記關閉默認防火牆的步驟了才導致浪費了些時間在這件事情上。
關閉firewalld:
systemctl stop firewalld
systemctl mask firewalld
使用iptables服務:
#開放443端口(HTTPS)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#保存上述規則
service iptables save
#開啟服務
systemctl restart iptables.service
一切正常。