如何设置CentOS防火墙以加强安全性

来源:网站建设作者:新加坡程序员头衔:程序员
导读:本期聚焦于小伙伴创作的《如何设置CentOS防火墙以加强安全性》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何设置CentOS防火墙以加强安全性》有用,将其分享出去将是对创作者最好的鼓励。

CentOS防火墙的核心作用

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

如何设置CentOS防火墙以加强安全性

使用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

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。