Chat with us, powered by LiveChat
在知识库中搜索
如何在CentOS 8上使用FirewallD设置和配置防火墙规则?

目的

防火墙是任何系统不可或缺的组成部分,可以用来保护服务器免受来自外部世界未经身份验证的访问。它有助于防止黑客登录到网络上的服务器。防火墙也可以用来设置特定的规则,以便根据IP地址限制对系统特定端口的访问。防火墙的基本功能是控制入站和出站流量,并根据已定义的安全规则集选择是阻止特定连接还是允许通过。

在CentOS 8上安装FirewallD

Firewalld使用服务和区域的概念,而不是iptables规则和链。通过使用,您可以配置应该允许或禁止哪些流量进入或来自系统。Firewalld正在使用firewall-cmd实用程序来管理您的防火墙配置。 在CentOS 8中,Firewalld使用服务和区域的概念,而不是iptables规则和链。您可以配置哪些流量允许或不允许进出系统。

Firewalld使用firewall-cmd实用程序来控制防火墙配置。

1. 在CentOS 8上执行以下命令安装FirewallD。CentOS 8默认支持。

# yum install firewalld

2. 使用以下命令启动并启用firewald。

# systemctl start firewalld
# systemctl enable firewalld

3. 运行以下命令检查FirewallD服务状态。

# firewall-cmd --state

以下是FirewallD中包含的预定义区域
1. drop – 删除所有入站连接,没有任何回复,只允许出站连接。
2. block – 与区域丢弃相同,但是所有入站的连接都被icmp-host- prohibited或icmp6-adm-prohibited消息阻塞。
3. public – 它代表不可信任的公共区域。
4. external – 当防火墙用作网关时的外部网络。因为它被配置为NAT伪装和内部网络将保持私有但可访问。
5. internal – 只接受选定的传入连接,这是内部网络。
6. dmz – 非军事化区域对内部网络是公开可访问的,具有有限的访问权限,并且只接受选定的传入连接。
7. work – 用于工作环境的机器。
8. home - 用于家庭环境的机器。
9. trusted - 接受所有网络连接

通过FirewallD配置防火墙

默认情况下,公共区域为开启防火墙服务后的默认区域。

1. 下面的命令用于获取默认区域的列表。

# firewall-cmd --get-default-zone

2. 运行下面的命令获取所有可用分区的列表。

# firewall-cmd --get-zones

3. 运行下面的命令查看网络接口使用了哪些区域。

# firewall-cmd --get-active-zones

4. 下面的命令用于更改默认区域和验证。

# firewall-cmd --set-default-zone=home
# firewall-cmd --get-default-zone

注意:请将zone名称替换为需要设置为默认值的原始zone名称。

实例:打开HTTP端口80与HTTPS端口443

1. 通常,以下命令为有限的启动。

# firewall-cmd --zone=public --add-service=http
# firewall-cmd --zone=public --add-service=https

2. 而这些则属于永久性设定:

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --zone=public --permanent --add-service=https

OR

# firewall-cmd --zone=public --permanent --add-port 80/tcp
# firewall-cmd --zone=public --permanent --add-port 443/tcp

3. 重新加载服务。

# firewall-cmd --reload

4. 检查端口与服务。

# firewall-cmd --list-all

示例:关闭HTTP端口80与HTTPS端口443

1. 这些设置通常为永久性变更.

# firewall-cmd --zone=public --permanent --remove-service=http
# firewall-cmd --zone=public --permanent --remove-service=https

OR

# firewall-cmd --zone=public --permanent --remove-port 80/tcp
# firewall-cmd --zone=public --permanent --remove-port 443/tcp

2. 重启服务.

# firewall-cmd --reload

禁用/停止FirewallD服务

如果需要停止或禁用服务器中的firewald服务,可以通过执行以下命令来完成。

使用以下命令停止firewald服务:

# systemctl stop firewalld

若禁用则执行以下命令:

# systemctl disable firewalld
您的免费试用从这里开始!
联系我们的团队申请物理服务器服务!
注册成为会员,尊享专属礼遇!
您的免费试用从这里开始!
联系我们的团队申请物理服务器服务!
注册成为会员,尊享专属礼遇!
Telegram Skype