在CentOS服务器上配置防火墙通常涉及使用firewalld
服务,这是一个动态管理防火墙的工具,它允许你定义网络区域、接口、服务和端口等。以下是配置CentOS服务器防火墙的基本步骤:
检查firewalld状态:
首先,检查firewalld
服务是否已经安装并运行。
sudo systemctl status firewalld
如果服务没有运行,可以使用以下命令启动它:
sudo systemctl start firewalld
设置防火墙开机自启: 如果希望服务器重启后防火墙服务自动启动,可以使用以下命令:
sudo systemctl enable firewalld
查看当前防火墙配置: 使用以下命令查看当前的防火墙配置:
sudo firewall-cmd --list-all
开放端口: 如果需要开放某个端口,比如开放TCP端口80(HTTP),可以使用以下命令:
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
--permanent
参数表示永久生效,即使重启防火墙服务也不会丢失配置。
--zone=public
表示在公共区域添加规则,根据需要可以选择其他区域。
--add-port=80/tcp
表示添加一个TCP端口80的规则。
重新加载防火墙配置: 添加或修改规则后,需要重新加载防火墙配置使规则生效:
sudo firewall-cmd --reload
关闭端口: 如果需要关闭之前开放的端口,可以使用以下命令:
sudo firewall-cmd --permanent --zone=public --remove-port=80/tcp
sudo firewall-cmd --reload
查看开放的服务: 查看当前开放的服务:
sudo firewall-cmd --list-services
添加服务: 如果需要开放某个服务,比如SSH,可以使用以下命令:
sudo firewall-cmd --permanent --zone=public --add-service=ssh
sudo firewall-cmd --reload
删除服务: 如果需要删除某个服务,可以使用以下命令:
sudo firewall-cmd --permanent --zone=public --remove-service=ssh
sudo firewall-cmd --reload
配置富规则(Rich Rules): 如果需要更复杂的规则,可以使用富规则。例如,允许特定IP访问SSH端口:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload
请注意,根据你的CentOS版本和防火墙的配置,上述命令可能会有所不同。如果你使用的是CentOS 7之前的版本,可能需要使用iptables
而不是firewalld
来配置防火墙。