在CentOS系统中,防火墙的设置和管理主要通过firewalld
这个工具来实现。firewalld
是一个动态管理防火墙的工具,它使用区域(zones)来定义网络访问控制策略,并支持实时更新规则而无需重启服务。
安装firewalld
如果系统尚未安装firewalld
,可以使用以下命令进行安装:
sudo yum install firewalld
启动和启用firewalld服务
启动firewalld
服务并设置为开机自启:
sudo systemctl start firewalld sudo systemctl enable firewalld
查看防火墙状态
查看firewalld
服务的状态:
sudo systemctl status firewalld
或者使用firewall-cmd
命令查看状态:
firewall-cmd --state
添加和删除防火墙规则
- 添加端口:允许特定端口的流量通过。
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
这条命令将在公共区域(public zone)中永久添加允许80端口TCP流量的规则。
- 删除端口:移除特定端口的流量规则。
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
- 添加服务:允许特定网络服务的流量通过。
sudo firewall-cmd --zone=public --add-service=http --permanent
- 删除服务:移除特定网络服务的流量规则。
sudo firewall-cmd --zone=public --remove-service=http --permanent
- 添加规则限制IP访问:允许或拒绝特定IP地址访问。
sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' port protocol='tcp' port='80' accept"
这条命令将永久添加一条规则,允许来自IP地址192.168.1.100的TCP 80端口的流量。
查看防火墙规则
查看当前防火墙规则:
sudo firewall-cmd --list-all
或者查看特定区域的规则:
sudo firewall-cmd --zone=public --list-ports
重新加载防火墙规则
当添加或删除规则后,需要重新加载防火墙配置以使更改生效:
sudo firewall-cmd --reload
或者完全重新加载防火墙配置:
sudo firewall-cmd --complete-reload
禁用firewalld服务
如果需要禁用firewalld
服务,可以使用以下命令:
sudo systemctl disable firewalld
或者停止服务:
sudo systemctl stop firewalld
以上就是在CentOS系统中设置和管理firewalld
防火墙的基本步骤。根据具体的安全需求,可以添加更多的规则来保护系统。