CentOS防火墙的核心作用
防火墙是服务器安全的第一道防线,在CentOS系统中,合理配置防火墙可以过滤不必要的网络流量,阻止未授权的访问请求,避免恶意扫描和攻击渗透到系统内部。CentOS 7及以上版本默认使用firewalld作为防火墙管理工具,旧版本则常用iptables,两种工具都能实现流量管控,但配置逻辑存在差异。

使用firewalld配置防火墙
基础状态管理
首先确认firewalld服务的运行状态,执行以下命令查看:
# 查看firewalld运行状态 systemctl status firewalld # 启动firewalld服务 systemctl start firewalld # 设置开机自启 systemctl enable firewalld # 停止firewalld服务(不建议生产环境随意停止) systemctl stop firewalld
配置端口访问规则
开放业务需要的端口是常见操作,比如开放80端口供Web服务使用:
# 临时开放80端口,重启后失效 firewall-cmd --add-port=80/tcp # 永久开放80端口,需要重载配置生效 firewall-cmd --add-port=80/tcp --permanent # 重载防火墙规则 firewall-cmd --reload # 查看已开放的端口 firewall-cmd --list-ports
限制访问来源
为了提升安全性,可以只允许特定IP访问敏感端口,比如只允许192.168.1.100访问3306端口:
# 永久添加规则,允许指定IP访问3306端口 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3306" accept' # 重载规则 firewall-cmd --reload # 查看富规则列表 firewall-cmd --list-rich-rules
设置默认策略
默认策略建议设置为拒绝所有入站流量,只开放必要端口:
# 设置默认入站策略为拒绝 firewall-cmd --set-default-zone=drop # 查看当前默认区域 firewall-cmd --get-default-zone
使用iptables配置防火墙
如果系统使用的是iptables,需要先关闭firewalld再启动iptables服务:
# 停止并禁用firewalld systemctl stop firewalld systemctl disable firewalld # 安装iptables服务 yum install -y iptables-services # 启动并设置开机自启 systemctl start iptables systemctl enable iptables
基础规则配置
iptables的规则配置示例如下:
# 清除现有规则 iptables -F # 设置默认策略,入站拒绝,出站允许 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # 允许本地回环接口流量 iptables -A INPUT -i lo -j ACCEPT # 允许已建立的连接和相关流量 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 开放22端口用于SSH访问 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 开放80端口用于Web服务 iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 保存规则,重启后生效 service iptables save
防火墙安全加固建议
- 只开放业务必须的端口,避免开放不必要的端口增加攻击面
- 敏感端口如数据库端口尽量限制访问来源,不要对公网开放
- 定期查看防火墙日志,排查异常访问请求
- SSH端口建议修改为非默认22端口,减少暴力破解风险
- 生产环境不要随意停止防火墙服务,修改规则前先测试避免锁死服务器
常见问题排查
如果配置规则后端口无法访问,可以先检查防火墙状态,确认规则是否生效:
# firewalld检查已开放端口和规则 firewall-cmd --list-all # iptables检查规则列表 iptables -L -n -v
如果规则配置错误导致无法远程连接服务器,需要到服务器本地控制台删除错误规则,恢复访问权限。
firewalldiptablesCentOS_防火墙端口管理修改时间:2026-06-12 00:27:30