在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来配置防火墙。