在CentOS系统中,配置防火墙通常使用的是firewalld
服务。firewalld
是一个动态管理防火墙的服务,它允许你定义网络服务、端口和IP地址等规则,并且可以在运行时重新加载这些规则而不需要重启服务。以下是一些基本的firewalld
配置步骤:
检查firewalld状态:
首先,确保firewalld
服务已经安装并且正在运行。
sudo systemctl status firewalld
如果服务未运行,可以使用以下命令启动它:
sudo systemctl start firewalld
设置默认区域:
firewalld
有多个预定义的区域,例如trusted
、home
、internal
、work
和public
。每个区域有不同的信任级别和默认规则。
sudo firewall-cmd --get-default-zone
sudo firewall-cmd --set-default-zone=public
添加服务到防火墙: 你可以添加服务(如HTTP、HTTPS、SSH等)到当前的防火墙区域。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --add-service=ssh
重新加载防火墙规则: 添加或修改服务后,需要重新加载防火墙规则以使更改生效。
sudo firewall-cmd --reload
开放特定端口: 如果你需要开放特定的端口,可以使用以下命令:
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload
允许特定IP地址或范围: 你可以允许特定的IP地址或IP地址范围访问你的服务器。
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
sudo firewall-cmd --reload
查看当前防火墙状态和规则: 你可以查看当前的防火墙状态和规则,以确保配置正确。
sudo firewall-cmd --list-all
sudo firewall-cmd --list-services
sudo firewall-cmd --list-ports
停止或禁用firewalld服务:
如果你不再需要firewalld
服务,可以停止并禁用它。
sudo systemctl stop firewalld
sudo systemctl disable firewalld
请注意,配置防火墙时要非常小心,确保不要错误地阻止了自己或其他用户的访问。在生产环境中,建议在更改防火墙规则之前进行充分的测试。