|
发表于 2025-3-12 12:03:00
|
显示全部楼层
来自 广东省深圳市
则。FirewallD 防火墙的控制中心位于”/etc/firewall-scripts/managedfirewall.conf”文件中,其中包含网络/防火墙区域的定义以及对网络连接和接口的配置。网络/防火墙区域的定义包含启用/禁用、入站规则、出站规则、NAT 规则、端口映射等,所有防火墙规则都针对该区域进行设置。
在本节中,我将介绍如何在 centos 7 上使用 FirewallD 防火墙来管理和配置 CentOS 防火墙。
### 禁止所有进出站流量
在 centos 7 上,默认情况下,防火墙规则是关闭的。要启用防火墙,您可以在管理界面中打开”防火墙设置”选项,然后启用防火墙。启用后,防火墙将开始监控进出站流量并阻止被发现的不安全流量。
要禁止所有进出站流量,您可以编辑managedfirewall.conf文件,并添加以下内容:- [all]
- 允许 incoming = any
- 允许 outgoing = any
复制代码 这将允许任何进出站流量,这是非常不安全的做法,不建议使用。如果您需要完全关闭防火墙,请删除managedfirewall.conf文件和/或systemd上的防火墙服务。
### 允许特定服务或端口
如果您只想允许特定的服务或端口通过防火墙,而不是阻止所有进出站流量,您可以编辑managedfirewall.conf文件,并添加以下内容:- [all]
- 允许 incoming =
- 允许 outgoing =
复制代码 其中,service name 是要允许通过防火墙的服务名称,IP 是该服务或端口的 IP 地址。例如,如果您只想允许 web 服务通过防火墙,您可以在防火墙规则中添加如下内容:- [web]
- 允许 incoming = 192.168.1.100
- 允许 outgoing = 80
复制代码 这将允许来自 192.168.1.100 的 web 服务流量通过防火墙,并将其端口设置为 80。
### 允许特定的连接
如果您需要允许特定的连接(例如 SSH 连接)通过防火墙,您可以使用 -A 或 -F 选项。-A 选项表示临时允许连接,而 -F 选项表示永久允许连接。例如,如果您需要允许远程用户通过 ssh 连接到您的服务器,您可以使用如下命令:- firewall-cmd --permanent --add-rich-rule='rule family==ipv4 address=dialout netmask=0.0.0.0 port=22 tunnel remote=主机地址:端口'
- firewall-cmd --permanent --add-rich-rule='rule family==ipv4 address=dialout netmask=0.0.0.0 port=22 accept'
复制代码 这将永久允许来自任何来源的远程用户通过 ssh 连接到您的服务器,共产生一个名为 tun/user- jubjub-xxx/1234 的隧道。该命令是在 centos 7 中,您可以在防火墙设置中永久添加此规则。
### 禁止特定的连接
如果您需要禁止特定的连接(例如 SSH 连接),您可以使用 -D 或 -F 选项。-D 选项表示永久禁止连接,而 -F 选项表示临时禁止连接。例如,如果您需要在周一到周五禁止远程用户通过 ssh 连接到您的服务器,您可以使用如下命令:- firewall-cmd --permanent --add-rich-rule='rule family==ipv4 address=dialout netmask=0.0.0.0 port=22 accept from 06:00:00 to 18:00:00'
- firewall-cmd --permanent --add-rich-rule='rule family==ipv4 address=dialout netmask=0.0.0.0 port=22 reject from 06:00:00 to 18:00:00'
复制代码 这将禁止周一到周五的远程用户通过 ssh 连接到您的服务器,产生一个名为 tun/user- jubjub-xxx/1234 的隧道。该命令是在 centos 7 中,您可以在防火墙设置中永久添加此规则。 |
|