CentOS 7 默认使用 firewalld,通过 firewall-cmd 管理。以下为常用操作。
启用与查看状态
sudo systemctl start firewalld
sudo firewall-cmd --state
开放端口
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
关闭端口
sudo firewall-cmd --permanent --zone=public --remove-port=80/tcp
sudo firewall-cmd --permanent --zone=public --remove-port=443/tcp
拒绝所有来源(富规则)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" reject'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv6" source address="::/0" reject'
重载与查看规则
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
注意:带
--permanent的改动不会立即生效,必须执行--reload;不带该参数则立即生效但重启后丢失。