在CentOS环境下配置防火墙,通常使用的是firewalld服务。以下是配置防火墙的基本步骤:
1. 检查firewalld状态
首先,确保firewalld服务已经安装并正在运行。
sudo systemctl status firewalld
如果服务未运行,可以使用以下命令启动它:
sudo systemctl start firewalld
2. 设置防火墙开机自启
为了让firewalld在系统启动时自动运行,可以使用以下命令:
sudo systemctl enable firewalld
3. 配置防火墙规则
firewalld使用区域(zones)来管理不同的网络接口和规则。常见的区域有trusted
、home
、public
、work
和dmz
。
查看当前区域
sudo firewall-cmd --get-active-zones
列出所有可用区域
sudo firewall-cmd --get-zones
更改默认区域
sudo firewall-cmd --set-default-zone=public
添加或删除区域接口
# 添加接口到区域 sudo firewall-cmd --zone=public --add-interface=eth0 # 删除接口从区域 sudo firewall-cmd --zone=public --remove-interface=eth0
添加服务到防火墙规则
# 添加服务(例如SSH) sudo firewall-cmd --permanent --zone=public --add-service=ssh # 重新加载防火墙规则以应用更改 sudo firewall-cmd --reload
添加端口到防火墙规则
# 添加端口(例如80端口) sudo firewall-cmd --permanent --zone=public --add-port=80/tcp # 重新加载防火墙规则以应用更改 sudo firewall-cmd --reload
添加自定义IP地址或子网
# 添加IP地址 sudo firewall-cmd --permanent --zone=public --add-source=192.168.1.100 # 添加子网 sudo firewall-cmd --permanent --zone=public --add-source=192.168.1.0/24 # 重新加载防火墙规则以应用更改 sudo firewall-cmd --reload
4. 查看防火墙规则
sudo firewall-cmd --list-all
5. 停止或禁用防火墙
如果需要停止或禁用firewalld服务,可以使用以下命令:
# 停止服务 sudo systemctl stop firewalld # 禁用服务 sudo systemctl disable firewalld
注意事项
- 在生产环境中,建议仔细规划和测试防火墙规则,以避免意外中断服务。
- 使用
--permanent
选项可以确保规则在系统重启后仍然有效。 firewall-cmd --reload
命令用于重新加载防火墙配置,而不需要完全重启服务。
通过以上步骤,你可以在CentOS环境下配置和管理firewalld防火墙。