CentOS虛擬機默認使用firewalld管理防火墻,配置步驟如下:
安裝與啟動
sudo yum install firewalld
(CentOS 7/8)sudo systemctl start firewalld
sudo systemctl enable firewalld
查看狀態
sudo systemctl status firewalld # 查看服務狀態
sudo firewall-cmd --state # 查看防火墻是否運行
sudo firewall-cmd --list-all # 查看當前規則
配置端口規則
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent # 永久生效
sudo firewall-cmd --reload # 重新加載規則
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
sudo firewall-cmd --reload
配置服務規則
sudo firewall-cmd --zone=public --add-service=ssh --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-service=http --permanent
區域管理
sudo firewall-cmd --get-default-zone
sudo firewall-cmd --set-default-zone=trusted
sudo firewall-cmd --permanent --zone=public --add-interface=eth0
IP訪問控制
sudo firewall-cmd --permanent --add-rich-rule='rule source address="192.168.1.100" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule source address="10.0.0.0/24" reject'
高級操作
sudo journalctl -u firewalld -f
sudo systemctl stop firewalld
sudo systemctl disable firewalld
注意:所有配置需通過--permanent
參數保存為永久規則,修改后需執行firewall-cmd --reload
生效。
參考來源:[1,3,5,7,8,9,11,12,13,14]