在CentOS系统中,防火墙的管理主要通过firewalld
服务来完成。firewalld
提供了一个动态管理防火墙规则的方式,支持网络/防火墙区域(zones)的概念来定义不同的安全级别和网络连接方式。下面是一些基本的firewalld
使用指南:
1. 启动或停止 firewalld 服务
- 启动
firewalld
:
sudo systemctl start firewalld - 设置开机自启:
sudo systemctl enable firewalld - 检查状态:
sudo systemctl status firewalld - 停止
firewalld
:
sudo systemctl stop firewalld - 禁用开机自启:
sudo systemctl disable firewalld
2. 查看当前配置
- 显示所有活动的区以及它们对应的接口:
sudo firewall-cmd --get-active-zones - 列出默认区的所有规则:
sudo firewall-cmd --list-all - 检查特定端口是否开放:
sudo firewall-cmd --zone=public --query-port=80/tcp
3. 添加或删除端口和服务
- 添加一个TCP端口到公共区(例如HTTP服务使用的80端口):
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent - 重新加载防火墙以应用更改:
sudo firewall-cmd --reload - 移除一个端口:
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent - 添加预定义的服务(如SSH服务):
sudo firewall-cmd --zone=public --add-service=ssh --permanent - 查看可用的服务列表:
sudo firewall-cmd --get-services
4. 更改默认区域
- 设置默认区域为
dmz
:
sudo firewall-cmd --set-default-zone=dmz - 获取当前默认区域:
sudo firewall-cmd --get-default-zone
注意事项
- 执行上述任何命令时都需要适当的权限,通常这意味着你需要以root用户身份运行这些命令或者使用
sudo
。 - 使用
--permanent
选项可以确保修改后的规则即使重启后也依然有效。 - 在对生产环境进行防火墙设置调整前,请确保你已经充分测试了你的变更,并且有恢复计划以防万一。
以上就是关于如何在CentOS上配置firewalld
的基本指导。如果你需要更复杂的功能或是遇到具体问题,建议查阅官方文档获取更多信息。