温馨提示×

CentOS下如何配置防火墙规则

小樊
65
2025-03-19 22:31:33
栏目: 智能运维

在CentOS系统中,配置防火墙规则通常使用firewalld服务。以下是一些基本的步骤来配置防火墙规则:

1. 启动和启用firewalld服务

首先,确保firewalld服务已经安装并启动。你可以使用以下命令来检查和启动服务:

# 检查firewalld状态 sudo systemctl status firewalld # 启动firewalld服务 sudo systemctl start firewalld # 设置firewalld开机自启 sudo systemctl enable firewalld 

2. 查看当前防火墙状态

你可以使用以下命令查看当前的防火墙状态和配置:

sudo firewall-cmd --state sudo firewall-cmd --list-all 

3. 添加防火墙规则

你可以使用firewall-cmd命令来添加各种类型的防火墙规则。以下是一些常见的示例:

允许特定端口

例如,允许TCP端口80(HTTP)和443(HTTPS):

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

允许特定IP地址或IP段

例如,允许IP地址192.168.1.100访问:

sudo firewall-cmd --permanent --zone=public --add-source=192.168.1.100 

或者允许IP段192.168.1.0/24访问:

sudo firewall-cmd --permanent --zone=public --add-source=192.168.1.0/24 

允许特定服务

例如,允许SSH服务:

sudo firewall-cmd --permanent --zone=public --add-service=ssh 

重新加载防火墙配置

添加规则后,需要重新加载防火墙配置以使更改生效:

sudo firewall-cmd --reload 

4. 删除防火墙规则

如果你需要删除某个规则,可以使用以下命令:

删除特定端口

例如,删除TCP端口80:

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

删除特定IP地址或IP段

例如,删除IP地址192.168.1.100

sudo firewall-cmd --permanent --zone=public --remove-source=192.168.1.100 

删除特定服务

例如,删除SSH服务:

sudo firewall-cmd --permanent --zone=public --remove-service=ssh 

5. 查看特定区域的规则

你可以查看特定区域的规则,例如public区域:

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

6. 设置默认区域

你可以设置默认区域,例如将所有未明确配置的流量重定向到drop区域:

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

7. 其他有用的命令

  • 查看所有可用的服务:

    sudo firewall-cmd --get-services 
  • 查看所有可用的区域:

    sudo firewall-cmd --get-zones 
  • 查看某个区域的详细信息:

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

通过这些步骤,你应该能够在CentOS系统中配置基本的防火墙规则。根据你的具体需求,可以进一步调整和扩展这些规则。

0