centos

centos stream8防火墙怎么配置

小樊
51
2025-04-10 15:46:15
栏目: 智能运维

在 CentOS 8 上配置防火墙主要涉及使用 firewalld 命令行工具。以下是基本步骤和常用命令的详细说明:

1. 查看防火墙状态

首先,检查防火墙是否正在运行:

sudo systemctl status firewalld

如果防火墙未启用,可以使用以下命令启动它:

sudo systemctl start firewalld

查看防火墙状态:

sudo firewall-cmd --state

2. 设置默认区域

查看当前默认区域:

sudo firewall-cmd --get-default-zone

可以将默认区域设置为 public

sudo firewall-cmd --set-default-zone=public

3. 管理区域

查看所有区域:

sudo firewall-cmd --list-all-zones

查看活动区域及其绑定的接口:

sudo firewall-cmd --get-active-zones

4. 管理端口

开放端口(例如,开放 TCP 协议的 80 端口,即 HTTP):

sudo firewall-cmd --permanent --add-port=80/tcp

重新加载防火墙配置使更改生效:

sudo firewall-cmd --reload

查看当前开放的所有端口(运行时配置):

sudo firewall-cmd --list-ports

5. 管理服务

列出预定义的服务:

sudo firewall-cmd --get-services

开放服务(例如,开放 HTTP 服务,通常是 80/tcp):

sudo firewall-cmd --permanent --add-service=http

查看与特定区域相关的防火墙规则或服务:

sudo firewall-cmd --list-all --zone=public

6. 删除端口或服务

删除服务(例如,删除 dhcpv6-clientcockpit 服务):

sudo firewall-cmd --remove-service=cockpit --permanent
sudo firewall-cmd --remove-service=dhcpv6-client --permanent
sudo firewall-cmd --reload

7. 接口管理

将网络接口分配到特定区域(例如,将 eth0 接口分配到 public 区域):

sudo firewall-cmd --zone=public --add-interface=eth0

从区域中删除接口:

sudo firewall-cmd --zone=public --remove-interface=eth0

修改接口所属区域:

sudo firewall-cmd --zone=default --change-interface=eth0

8. 持久化配置

所有带 --permanent 的更改需要重新加载 firewalld 服务后才会生效:

sudo firewall-cmd --reload

9. 恢复默认配置

如果需要恢复防火墙的默认配置,可以删除配置文件:

sudo rm -rf /etc/firewalld

然后重新启动防火墙:

sudo systemctl restart firewalld

0
看了该问题的人还看了