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
irewall-cmd命令
支持全部防火墙特性
对于状态和查询模式,命令只返回状态,没有其他输出
–permanent参数:携带该参数表示永久配置,否则表示运行时配置
[–zone=] 选项:不携带此选项表示针对默认区域操作,否则针对指定区域操作
1、firewall-cmd - --–reload
[root@localhost ~]# firewall-cmd --reload
2、firewall-cmd --complete-reload ###状态信息将会丢失
[root@localhost ~]# firewall-cmd --complete-reload
1、查询预定义信息命令
[root@localhost ~]# firewall-cmd --get-zones
[root@localhost ~]# firewall-cmd --get-services
[root@localhost ~]# firewall-cmd --get-icmptypes
1、显示网络连接或接口的默认区域
[root@localhost ~]# firewall-cmd --get-default-zone
[root@localhost ~]# firewall-cmd --set-default-zone=internal
3、显示已激活的所有区域 ##激活的条件:区域至少一个或一个源地址/网段
[root@localhost ~]# firewall-cmd --get-active-zones
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
[root@localhost ~]# firewall-cmd --zone=work --add-interface=ens33
[root@localhost ~]# firewall-cmd --zone=internal --change-interface=ens33
[root@localhost ~]# firewall-cmd --zone=internal --remove-interface=ens33
[root@localhost ~]# firewall-cmd --zone=internal --query-interface=ens33
[root@localhost ~]# firewall-cmd --list-all-zones
[root@localhost ~]# firewall-cmd --zone=internal --list-all
[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 | 显示所有指定区域的所有规则 |
1、显示internal区域内允许访问的所有服务
[root@localhost ~]# firewall-cmd --zone=internal --list-services
[root@localhost ~]# firewall-cmd --zone=public --add-service=smtp
[root@localhost ~]# firewall-cmd --zone=internal --remove-service=ssh
[root@localhost ~]# firewall-cmd --zone=internal --query-service=ssh
选项 | 说明 |
---|---|
[–zone=“ zone "] --list-services | 显示指定区域内允许访问的所有服务 |
[–zone=“ zone "] --add-service= | 为指定区域设置允许访问的某项服务 |
[–zone=" zone “] --remove-service=” service " | 删除指定区域已设置的允许访问的某项服务 |
[–zone=" zone “] --query-service=” service " | 查询指定区域中是否启用了某项服务 |
1、显示internal区域内允许访问的所有端口号
[root@localhost ~]# firewall-cmd --zone=internal --list-ports
[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 " | 查询区域中是否启用了端口和协议组合 |
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 阻塞功能 |