一,firewalld服务
启动服务
systemctl start firewalld
关闭服务
systemctl stop firewalld
设置开机启动
systemctl enable firewalld
关闭开机启动
systemctl disable firewalld
二,firewalld-cmd常用参数
--add-service=<service>:添加一个服务到防火墙规则中,<service> 是要添加的服务的名称。
--remove-service=<service>:防火墙规则中移除指定的服务,<service> 是要移除的服务的名称。
--add-port=<port>/tcp:添加一个TCP端口到防火墙规则中。<port>是要添加的端口号。
--add-port=<port>/udp:添加一个UDP端口到防火墙规则中。<port>是要添加的端口号。
--remove-port=<port>/tcp:从防火墙规则中移除指定的TCP端口。<port>是要移除的端口号。
--zone=<zone>:指定要操作的防火墙区域。<zone> 是防火墙的区域名称。
--list-all:列出当前防火墙的所有规则。
--reload:重新加载防火墙规则,使更改生效。
--permanent:将规则永久性地保存在防火墙配置中。
--query-service=<service>:检查指定服务是否在防火墙规则中。
--get-services:获取所有可用的服务列表。
--panic-on:将防火墙设置为 Panic 模式,阻止所有网络流量。
--panic-off:禁用 Panic 模式,恢复正常防火墙模式。
--get-active-zones:将列出系统上所有活动的网络接口及其所属的区域。
三,实例
指定IP开放所有端口访问策略,指定--zone为internal
firewall-cmd --zone=internal --permanent --add-rich-rule='rule family="ipv4" source address="1.0.0.2/32" accept'
指定IP开放指定访问tcp的22端口策略,指定--zone为internal
firewall-cmd --zone=internal --permanent --add-rich-rule='rule family="ipv4" source address="1.0.0.2/32" port protocol="tcp" port="22" accept'
开放ping指定--zone为internal
firewall-cmd --zone=internal --permanent --add-rich-rule='rule family="ipv4" source address="1.0.0.0/24" protocol value=icmp accept'
删除一个开放ping策略,指定--zone为internal
firewall-cmd --zone=internal --permanent --remove-rich-rule='rule family="ipv4" source address="1.0.0.0/24" protocol value="icmp" accept'
服务开放所有访问http,指定--zone=public
firewall-cmd --zone=public --permanent --add-service=http
删除http服务
firewall-cmd --zone=public --permanent --remove-service=http
#查看所有的zone信息
firewall-cmd --list-all-zones
服务器开放一个端口访问443/tcp
firewall-cmd --permanent --add-port=443/tcp
删除一个端口
firewall-cmd --permanent --remove-port=443/tcp
重新加载服务
firewall-cmd --reload
查看--zone=public,如果不指定查看默认策略
firewall-cmd --zone=public --list-all
查看活动的端口使用的策略
firewall-cmd --get-active-zones
重新加载策略
firewall-cmd --reload
重启防火墙策略,已经链接的设备会断开
firewall-cmd --complete-reload