雖然我用的是雲服務器,可以直接在雲服務器上配置放行規則,以允許對應的訪問請求,但是,自己還是想在服務器上也開啟防火牆,以便對這方面進行了解。
當然了,如果你有一堆服務器集群的話,我推薦你還是用雲服務提供的管理,購買對應的服務,或者聘請相關專業的人才進行服務器維護,本文僅僅是簡單的記錄。
防火牆在CentOS8是默認安裝的,所以安裝跳過。
防火牆狀態查看
阿里雲默認防火牆是關閉的,可以通過兩個命令查看當前防火牆狀態:
- 防火牆
firewall-cmd --state
- 系統服務管理命令
systemctl status firewalld
開啟防火牆
我這里就從開啟防火牆開始:
systemctl start firewalld
對應的關閉防火牆命令是
systemctl stop firewalld
配置防火牆
接下來就是配置防火牆放行規則
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=443/tcp --permanent
這里放行了80端口和443端口,用於web服務器,並且支持https必須要開啟443端口。
--permanent
參數表示該條規則永久生效
如果你想放行的端口號是連貫的,也可以直接指定范圍,例如:
firewall-cmd --add-port=8080-8888/tcp --permanent
如果配置錯了,還可以取消:
firewall-cmd --remove-port=80/tcp --permanent
firewall-cmd --remove-port=443/tcp --permanent
firewall-cmd --remove-port=8080-8888/tcp --permanent
當我們添加或移除防火牆規則后,需重新加載才能生效,使用--reload
參數:
firewall-cmd --reload
配置好后我們可以通過--list-all
參數查看防火牆規則:
firewall-cmd --list-all
使防火牆在系統重啟后還能正常運行
設置防火牆開機自啟
systemctl enable firewalld
如果只開啟了防火牆,沒有設置防火牆開機自啟,那么服務器重啟后,防火牆會回到關閉狀態,可以防止因為防火牆錯誤原因無法連接服務器的情況。當配置好之后,再設置開機自啟,保證防火牆能夠正常運行。
取消防火牆開機自啟
systemctl disable firewalld
當然了,配置了防火牆開機自啟后,你只是關閉了防火牆,而沒有取消開機自啟,那么防火牆只是臨時關閉,在下次服務器重新啟動后,防火牆會自動開啟回來。如果你是想要完全關閉防火牆,不要忘記運行這條命令。