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-zonesudo 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 -fsudo systemctl stop firewalld
sudo systemctl disable firewalld
注意:所有配置需通过--permanent参数保存为永久规则,修改后需执行firewall-cmd --reload生效。
参考来源:[1,3,5,7,8,9,11,12,13,14]