简单使用
1.查看firewalld.service服务状态
systemctl status firewalld
2.查看firewall运行状态
firewall-cmd --state
3.firewalld.service服务
# 启动firewalld service firewalld start # 停止firewalld service firewalld stop # 重启firewalld service firewalld restart
4.查看firewall规则
# 查询所有规则 firewall-cmd --list-all # 查询端口是否开放 firewall-cmd --query-port=8080/tcp # 新建永久规则,开放8080端口(TCP协议) firewall-cmd --permanent --add-port=8080/tcp # 移除上述规则 firewall-cmd --permanent --remove-port=8080/tcp # 新建永久规则,批量开放一段端口(TCP协议) firewall-cmd --permanent --add-port=9001-9100/tcp
配置
1.开放IP
# 新建永久规则,开放192.168.1.1单个源IP的访问 firewall-cmd --permanent --add-source=192.168.1.1 # 新建永久规则,开放192.168.1.0/24整个源IP段的访问 firewall-cmd --permanent --add-source=192.168.1.0/24 # 移除上述规则 firewall-cmd --permanent --remove-source=192.168.1.1
2.开放系统服务
# 开放http服务 firewall-cmd --permanent --add-service=http # 移除上述规则 firewall-cmd --permanent --remove-service=http
3.自定义规则
# 允许指定IP访问本机8080端口 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept' # 允许指定IP段访问本机8080-8090端口 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept' # 禁止指定IP访问本机8080端口 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject' # 移除以上添加操作,将--add-rich-rule 替换成--remove-rich-rule
以上命令执行后,都会写入到/etc/firewalld/zones/public.xml。也可以直接修改该文件。
注意:任何修改操作,配置完成后,需要重新装载firewall。或重新启动firewalld服务。
firewall-cmd --reload
service firewalld restart