Firewalld字符管理工具
1、Firewalld防火墙维护命令
1、防火墙进程操作
systemctl start firewalld
[root@localhost ~]# systemctl start firewalld
设置 firewalld 为开机自启动
systemctl status firewalld
[root@localhost ~]# systemctl enable firewalld
如果 firewalld 正在运行,通过 systemctl status firewalld 或 firewall-cmd 命令 可以查看其运行状态
systemctl restart firewalld
[root@localhost ~]# systemctl status firewalld
关闭防火墙:
systemctl stop firewalld
2、防火墙管理操作
irewall-cmd命令
支持全部防火墙特性
对于状态和查询模式,命令只返回状态,没有其他输出
--permanent参数:携带该参数表示永久配置,否则表示运行时配置
[--zone=<zone>] 选项:不携带此选项表示针对默认区域操作,否则针对指定区域操作
防火墙重载配置命令
1、firewall-cmd - --–reload
[root@localhost ~]# firewall-cmd --reload
2、firewall-cmd --complete-reload ###状态信息将会丢失
[root@localhost ~]# firewall-cmd --complete-reload
3、systemctl restart firewalld
查询预定义信息命令
1、查询预定义信息命令
[root@localhost ~]# firewall-cmd --get-zones
2、查看预定义的服务
[root@localhost ~]# firewall-cmd --get-services
3、查看预定义的ICMP类型
[root@localhost ~]# firewall-cmd --get-icmptypes
Firewalld区域操作命令
1、显示网络连接或接口的默认区域
[root@localhost ~]# firewall-cmd --get-default-zone
2、设置网络连接或接口的默认区域为internal
[root@localhost ~]# firewall-cmd --set-default-zone=internal
3、显示已激活的所有区域 ##激活的条件:区域至少一个或一个源地址/网段
[root@localhost ~]# firewall-cmd --get-active-zones
4、显示ens33接口绑定的区域
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
5、为ens33接口绑定work区域
[root@localhost ~]# firewall-cmd --zone=work --add-interface=ens33
6、为internal区域更改绑定的网络接口ens33
[root@localhost ~]# firewall-cmd --zone=internal --change-interface=ens33
7、为internal区域删除绑定的网络接口ens33
[root@localhost ~]# firewall-cmd --zone=internal --remove-interface=ens33
8、查询internal区域中是否包含接口ens33
[root@localhost ~]# firewall-cmd --zone=internal --query-interface=ens33
9、显示所有区域及其规则
[root@localhost ~]# firewall-cmd --list-all-zones
10、显示internal区域的所有规则
[root@localhost ~]# firewall-cmd --zone=internal --list-all
11、显示默认区域的所有规则
[root@localhost ~]# firewall-cmd --list-all
命令总结
选项 |
说明 |
--get-default-zone |
显示网络连接或接口的默认区域 |
--set-default-zone=" zone " |
设置网络连接或接口的默认区域 |
--get-active-zones |
显示已激活的所有区域 |
--get-zone-of-interface=" interface " |
显示指定接口绑定的区域 |
--zone=" zone " --add-interface=" interface " |
为指定接口绑定区域 |
--zone=" zone " --change-interface=" interface " |
为指定的区域更改绑定的网络接口 |
--zone=" zone " --remove-interface=" interface " |
为指定的区域删除绑定的网络接口 |
--query-interface=" interface " |
查询区域中是否包含某接口 |
--list-all-zones |
显示所有区域及其规则 |
[--zone=" zone "] --list-all |
显示所有指定区域的所有规则 |
Firewalld服务操作命令
1、显示internal区域内允许访问的所有服务
[root@localhost ~]# firewall-cmd --zone=internal --list-services
2、为public区域设置允许访问SMTP服务
[root@localhost ~]# firewall-cmd --zone=public --add-service=smtp
3、删除internal区域中的SSH服务
[root@localhost ~]# firewall-cmd --zone=internal --remove-service=ssh
4、查询internal区域中是否启用了SSH服务
[root@localhost ~]# firewall-cmd --zone=internal --query-service=ssh
命令总结
选项 |
说明 |
[--zone=“ zone "] --list-services |
显示指定区域内允许访问的所有服务 |
[--zone=“ zone "] --add-service=<service> |
为指定区域设置允许访问的某项服务 |
[--zone=" zone "] --remove-service=" service " |
删除指定区域已设置的允许访问的某项服务 |
[--zone=" zone "] --query-service=" service " |
查询指定区域中是否启用了某项服务 |
Firewalld端口操作命令
1、显示internal区域内允许访问的所有端口号
[root@localhost ~]# firewall-cmd --zone=internal --list-ports
2、启用interna区域22端口的TCP协议组合
[root@localhost ~]# firewall-cmd --zone=internal --add-port=22/tcp --timeout=5m
--timeout=5m:表示5分钟后删除该端口,多用于测试目的
3、禁用internal区域22端口的TCP协议组合
[root@localhost ~]# firewall-cmd --zone=internal --remove-port=22/tcp
4、查询internal区域中是否启用了22端口和TCP协议组合
[root@localhost ~]# firewall-cmd --zone=internal --query-port=22/tcp
命令总结
选项 |
说明 |
[--zone=" zone "] --list-ports |
显示指定区域内允许访问的所有端口号 |
[--zone=" zone "] --add-port=" port "[-" port "]/" protocol " [--timeout=" seconds "] |
启用区域端口和协议组合,可选配置超时时间 |
[--zone=" zone "] --remove-port=" port "[- ” port "]/ " protocol" |
禁用区域端口和协议组合 |
[--zone=" zone "] --query-port=" port "[-" port"]/" protocol " |
查询区域中是否启用了端口和协议组合 |
Firewalld阻塞ICMP操作命令
1、显示work区域内阻塞的所有ICMP类型
[root@localhost ~]# firewall-cmd --zone=work --list-icmp-blocks
2、为work区域设置阻塞echo-reply类型的ICMP
[root@localhost ~]# firewall-cmd --zone=work --add-icmp-block=echo-reply
3、删除work区域已阻塞的echo-reply类型的ICMP
[root@localhost ~]# firewall-cmd --zone=work --remove-icmp-block=echo-reply
4、查询work区域的 echo-request类型的ICMP 是否阻塞
[root@localhost ~]# firewall-cmd --zone=work --query-icmp-block=echo-request
命令总结
选项 |
说明 |
[--zone=" zone "] --list-icmp-blocks |
显示指定区域内阻塞的所有ICMP类型 |
[--zone=" zone "] --add-icmp-block=" icmptype “ |
为指定区域设置阻塞的某项ICMP类型 |
[--zone=" zone "] --remove-icmp-block=" icmptype " |
删除指定区域已阻塞的某项ICMP类型 |
[--zone=" zone "] --query-icmp-block=" icmptype " |
查询指定区域的 ICMP 阻塞功能 |