赞
踩
firewall-cmd
是一个用于管理 CentOS 7 和 RHEL 7 系统上的 firewalld 防火墙服务的命令行工具。firewalld 是一个动态防火墙管理工具,它提供了一个简单的方式来管理防火墙规则,支持区域(zone)、服务和端口等概念。
以下是 firewall-cmd
的一些常用命令和选项:
- [root@yzn ~]# firewall-cmd --state
- running
- 1.重新加载防火墙规则:
- [root@yzn ~]# firewall-cmd --reload
- success
- 2.将运行时规则保存到永久配置
- [root@yzn ~]# firewall-cmd --runtime-to-permanent
- success
- 3.将规则添加到永久配置
- [root@yzn ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
- success
- 4.从永久配置中移除规则
- [root@yzn ~]# firewall-cmd --remove-port=80/tcp --permanent
- success
- 5.重新加载永久配置
- [root@yzn ~]# firewall-cmd --reload --permanent
- success
firewalld
中一些常见区域的功能如下:
public:
home:
public
更宽松的安全策略,允许更多的服务和端口。internal:
home
更宽松的安全策略,允许更多的内部网络流量。trusted:
work:
home
更严格的安全策略,适用于企业网络。block:
- 1.列出所有区域
- [root@yzn ~]# firewall-cmd --list-all-zones
-
- 2.列出特定区域的所有规则
- [root@yzn ~]# firewall-cmd --zone=<zone_name> --list-all
-
- 3.向特定区域添加端口规则<不加--peimanent参数只会临时添加,重启失效>
- [root@yzn ~]# firewall-cmd --zone=public --add-port=80/tcp
-
- 4.从特定区域移除端口规则
- [root@yzn ~]# firewall-cmd --zone=public --remove-port=80/tcp
- 1.列出所有服务
- [root@yzn ~]# firewall-cmd --list-services
-
- 2.向特定区域添加服务
- [root@yzn ~]# firewall-cmd --zone=public --add-service=http
-
- 3.从特定区域移除服务
- [root@yzn ~]# firewall-cmd --zone=public --remove-service=http
- 1.列出所有端口
- [root@yzn ~]# firewall-cmd --list-ports
- 1194/udp 22/tcp 60022/tcp 8080/tcp 9168/tcp 3306/tcp
-
- 2.向特定区域添加端口
- [root@yzn ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
-
- 3向特定区域移除端口
- [root@yzn ~]# firewall-cmd --zone=public --remove-port=80/tcp --permanent
富规则是基于基本规则,提供一个更加具体的规则,例如:限制只有ip地址为10.180.29.31的ip才能访问我的服务器的3306端口
- 1.列出富规则
- [root@yzn ~]# firewall-cmd --get-rich-rules
-
- 2.添加富规则
- [root@yzn ~]# firewall-cmd --zone=public --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=80 protocol=tcp jump=ACCEPT'
- 这条规则的含义为:允许来自 192.168.1.0/24 子网的所有 TCP 流量通过端口 80
-
- 3.移除富规则
- [root@yzn ~]# firewall-cmd --zone=public --remove-rich-rule='id=1'
- 1.获取被拒绝的日志设置
- [root@yzn ~]# firewall-cmd --get-log-denied
-
- 2.启用日志记录被拒绝的连接
- [root@yzn ~]# firewall-cmd --set-log-denied=on
- 1.获取默认区域
- [root@yzn ~]# firewall-cmd --get-default-zone
- public
-
- 2.设置默认区域
- [root@yzn ~]# firewall-cmd --set-default-zone=public
请注意:使用 --permanent
选项时,更改会保存到 firewalld
的永久配置文件中,这些更改在重启后仍然有效。而没有 --permanent
选项的更改只会影响当前会话。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。