|
| 1 | +firewall-cmd |
| 2 | +=== |
| 3 | + |
| 4 | +用于查找并显示用户信息 |
| 5 | + |
| 6 | +## 补充说明 |
| 7 | + |
| 8 | +firewall-cmd 是 firewalld的字符界面管理工具,firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的“zone”概念。 |
| 9 | + |
| 10 | +firewalld跟iptables比起来至少有两大好处: |
| 11 | + |
| 12 | +1. firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效。 |
| 13 | +2. firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。 |
| 14 | + |
| 15 | +firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结 构以及使用方法不一样罢了。 |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | +### 语法 |
| 20 | + |
| 21 | +``` |
| 22 | +finger(选项)(参数) |
| 23 | +``` |
| 24 | + |
| 25 | + |
| 26 | +### 实例 |
| 27 | + |
| 28 | +```bash |
| 29 | +# 安装firewalld |
| 30 | +yum install firewalld firewall-config |
| 31 | + |
| 32 | + |
| 33 | +systemctl start firewalld # 启动 |
| 34 | +systemctl status firewalld # 或者 firewall-cmd --state 查看状态 |
| 35 | +systemctl disable firewalld # 停止 |
| 36 | +systemctl stop firewalld # 禁用 |
| 37 | +``` |
| 38 | + |
| 39 | +配置firewalld |
| 40 | + |
| 41 | +```bash |
| 42 | +firewall-cmd --version # 查看版本 |
| 43 | +firewall-cmd --help # 查看帮助 |
| 44 | + |
| 45 | +# 查看设置: |
| 46 | +firewall-cmd --state # 显示状态 |
| 47 | +firewall-cmd --get-active-zones # 查看区域信息 |
| 48 | +firewall-cmd --get-zone-of-interface=eth0 # 查看指定接口所属区域 |
| 49 | +firewall-cmd --panic-on # 拒绝所有包 |
| 50 | +firewall-cmd --panic-off # 取消拒绝状态 |
| 51 | +firewall-cmd --query-panic # 查看是否拒绝 |
| 52 | + |
| 53 | +firewall-cmd --reload # 更新防火墙规则 |
| 54 | +firewall-cmd --complete-reload |
| 55 | +# 两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务 |
| 56 | + |
| 57 | + |
| 58 | +# 将接口添加到区域,默认接口都在public |
| 59 | +firewall-cmd --zone=public --add-interface=eth0 |
| 60 | +# 永久生效再加上 --permanent 然后reload防火墙 |
| 61 | + |
| 62 | +# 设置默认接口区域,立即生效无需重启 |
| 63 | +firewall-cmd --set-default-zone=public |
| 64 | +``` |
| 65 | + |
| 66 | +打开端口 |
| 67 | + |
| 68 | +``` |
| 69 | +
|
| 70 | +# 查看所有打开的端口: |
| 71 | +firewall-cmd --zone=dmz --list-ports |
| 72 | +
|
| 73 | +# 加入一个端口到区域: |
| 74 | +firewall-cmd --zone=dmz --add-port=8080/tcp |
| 75 | +# 若要永久生效方法同上 |
| 76 | + |
| 77 | +# 打开一个服务,类似于将端口可视化,服务需要在配置文件中添加,/etc/firewalld 目录下有services文件夹,这个不详细说了,详情参考文档 |
| 78 | +firewall-cmd --zone=work --add-service=smtp |
| 79 | + |
| 80 | +# 移除服务 |
| 81 | +firewall-cmd --zone=work --remove-service=smtp |
| 82 | +``` |
| 83 | + |
| 84 | + |
0 commit comments