firewall-cmd 提供了一个动态管理的防火墙,支持网络/防火墙区域来定义网络连接或接口的信任级别。它支持 IPv4、IPv6 防火墙设置和以太网网桥,并将运行时和永久配置选项分开。它还支持服务或应用程序直接添加防火墙规则的接口。
firewall-cmd [OPTIONS...]
-h, --help:显示帮助信息
-V, --version:显示命令的版本信息,该命令不能和其他命令一起使用
-q, --quiet:不打印状态信息
实例:
[root@S5 ~]# firewall-cmd -V 0.5.3 [root@S5 ~]# firewall-cmd -h Usage: firewall-cmd [OPTIONS...] General Options ...
状态选项
--state: 显示firewalld的状
--reload:不中断服务的重新加
--complete-reload:中断所有连接的重新加
--runtime-to-permanent:将当前防火墙的规则永久保存
--check-config:检查配置正确性
实例:
[root@S5 ~]# firewall-cmd --state running [root@S5 ~]# firewall-cmd --check-config success
--get-log-denied:获取记录被拒绝的日志
--set-log-denied=<value>:设置记录被拒绝的日志,只能为 'all','unicast','broadcast','multicast','off' 其中的一个
--zone:作用域
--add-port:添加端口,格式为:端口/通讯协议,例如:8080/tcp
--remove-port:删除端口,格式为:端口/通讯协议,例如:8080/tcp
--permanent :永久生效,没有此参数重启后失效
--list-all:查看防火墙,添加的端口也可以看到
--list-services:显示当前服务
(1)启动/停止 firewalld.service 服务
# 查看防火墙状态 [root@S5 ~]# systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since 六 2019-06-15 15:59:31 CST; 8 months 12 days ago Docs: man:firewalld(1) Main PID: 7599 (firewalld) Tasks: 2 Memory: 24.8M CGroup: /system.slice/firewalld.service # 启动防火墙 [root@S5 ~]# systemctl start firewalld.service # 停止防火墙 [root@S5 ~]# systemctl stop firewalld.service # 重启防火墙 [root@S5 ~]# systemctl restart firewalld.service
(2)查询 80 端口是否开启
[root@S5 ~]# firewall-cmd --query-port=80/tcp no [root@S5 ~]# firewall-cmd --query-port=8080/tcp yes
上面,80端口没有开启,8080端口已经开启。
(3)添加端口到防火墙,格式:端口/通讯协议
# 添加一个端口 [root@S5 ~]# firewall-cmd --permanent --zone=public --add-port=3306/tcp success # 添加一个端口范围 [root@S5 ~]# firewall-cmd --permanent --zone=public --add-port=9000-9090/tcp success
(4)移除指定端口号
# 从防火墙中移除8080端口 [root@S5 ~]# firewall-cmd --permanent --zone=public --remove-port=8080/tcp success
(5)查看当前添加到防火墙的端口信息
[root@S5 ~]# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens33 sources: services: ssh dhcpv6-client ports: 8080/tcp 8081/tcp 8088/tcp 9876/tcp 10909/tcp 10911/tcp 10912/tcp 12581/tcp 3306/tcp 9000-9090/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: