如何配置Linux防火墙?Linux防火墙设置命令详解

Linux防火墙是服务器安全的第一道防线,所有暴露到公网的Linux服务器都必须配置防火墙,对于大多数云服务器用户,推荐使用firewalld(CentOS/RHEL系)或UFW(Ubuntu/Debian系)作为日常管理工具,底层规则由iptables或nftables执行,配置防火墙的核心原则只有一条:默认拒绝,按需放行,这一原则能最大程度降低攻击面,同时保证业务端口正常对外服务。

先厘清概念:iptables、firewalld与nftables的关系

很多用户在配置时会混淆这三者,真实的关系是:

  • iptables是Linux内核Netfilter框架的传统用户态管理工具,规则直接作用于内核网络栈,功能强大但语法较底层。
  • firewalld是CentOS 7及以上版本默认的防火墙服务,它动态管理的底层仍然是iptables(或nftables),但提供了区域(Zone)、服务(Service)等更易用的抽象。
  • nftables是新一代内核包过滤框架,旨在取代iptables,语法更简洁,性能更优,在RHEL 8+/CentOS 8+中,firewalld底层已默认切换为nftables。

独立见解:如果你在维护老旧的CentOS 6/7系统,掌握iptables语法是必须的;但新环境部署,建议直接以firewalld操作为主,避免直接编辑iptables规则文件导致与firewalld冲突。

firewalld 实战配置指南

这是日常使用频率最高的防火墙管理方式,以下操作均在CentOS 7/8/9及Rocky Linux等系统上验证。

基础状态检查

启动服务并设为开机自启,这是首要步骤:

systemctl start firewalld
systemctl enable firewalld

查看当前默认区域及所有规则:

firewall-cmd --get-default-zone
firewall-cmd --list-all

默认区域一般是public,该区域规则适用于所有外部流量。

放行业务端口

如何配置Linux防火墙?Linux防火墙设置命令详解

原则:只开放业务必需端口,其他一律不放行。

放行Web服务的80和443端口:

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp

放行SSH端口(请务必确认修改后的端口号,并始终保持至少一个活跃会话防止失联):

firewall-cmd --permanent --add-port=2222/tcp

重载配置使规则生效:

firewall-cmd --reload

移除不再需要的端口

业务下线或迁移后,及时清理端口是防止漏洞被利用的关键动作:

firewall-cmd --permanent --remove-port=8080/tcp
firewall-cmd --reload

使用服务名而非端口号

firewalld内置了大量服务的预定义规则,直接引用服务名更直观、更不容易出错:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

查看所有已定义的服务:

firewall-cmd --get-services

进阶优化与常见生产场景方案

限制来源IP

对于数据库端口(如MySQL的3306),绝不应该对所有IP开放,仅允许特定办公网络或应用服务器访问:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="203.0.113.10/32" port protocol="tcp" port="3306" accept'
firewall-cmd --reload

这样配置后,其他IP访问3306端口会被直接丢弃,攻击者甚至探测不到该端口存在。

防止端口扫描与暴力破解

仅靠防火墙无法完全抵御暴力破解,推荐组合方案:

  • 修改SSH默认端口(编辑/etc/ssh/sshd_config)。
  • 使用fail2ban自动封禁连续登录失败的IP。
  • 在防火墙层面限制SSH来源IP,只允许公司出口IP访问。

如何配置Linux防火墙?Linux防火墙设置命令详解

独立见解:防火墙是”大门门锁”,fail2ban是”智能监控摄像头”,门锁必须坚固,但监控能主动识别并驱逐嫌疑人,两者配合才是云服务器抵御暴力破解的完整方案。

云安全组与系统防火墙的双层配合

这是云服务器场景下最容易忽略的问题,以酷番云为例,用户购买云服务器后,控制台提供安全组功能用于控制进出云服务器的流量,很多用户只在安全组放行端口,却忽略系统内部firewalld,导致业务不通;或者反过来,只配置系统防火墙,而安全组仍拦截流量。

酷番云经验案例:一位使用酷番云香港CN2云服务器的用户反馈,网站部署后外部始终无法访问80端口,排查发现:安全组规则只放行了22和443端口,忘放80端口;同时系统firewalld也拦截了80,处理方式:先在酷番云控制台的安全组中添加80端口入方向规则,再在系统内执行firewall-cmd --permanent --add-port=80/tcp并重载,问题立刻解决。正确顺序是:安全组放行 -> 系统防火墙放行 -> 程序监听端口确认,三层缺一不可。

紧急场景下的临时防火墙关闭

仅在排查网络问题时临时使用,生产环境禁止长期关闭:

systemctl stop firewalld

排查完成后必须立即恢复:

systemctl start firewalld

iptables 核心命令速查

某些场景(如Docker端口映射、内核级转发)仍需直接操作iptables:

查看当前规则:

iptables -L -n -v

放行指定IP访问指定端口:

iptables -A INPUT -s 198.51.100.7 -p tcp --dport 22 -j ACCEPT

拒绝所有其他流量访问22端口:

iptables -A INPUT -p tcp --dport 22 -j DROP

保存规则:

service iptables save  # 或 iptables-save > /etc/sysconfig/iptables

如何配置Linux防火墙?Linux防火墙设置命令详解

强力建议:在没有完全掌握iptables规则链与匹配顺序之前,尽量使用firewalld进行管理,避免因为规则顺序错误导致全盘网络瘫痪。

配置后的验证与审计

配置防火墙后,验证环节不能省略:

  • 本机验证:firewall-cmd --list-all确认规则加载。
  • 外部验证:使用另一台机器或在线端口检测工具访问测试端口。
  • 日志审计:journalctl -u firewalld查看防火墙服务日志,dmesg | grep DROP可查看被丢弃的包记录。

常见问题解答

Q1:firewalld和iptables到底选哪个?

如果你的系统是CentOS 7及以上,优先使用firewalld,它与系统NetworkManager集成更紧密,动态更新规则不会中断现有连接,且语法对初学者友好,只有当你在调试Docker端口映射、复杂NAT转发或需要精确控制每一条内核规则时,才直接使用iptables,两者可以共存,但不要在同一时刻对同一规则重复操作,以免产生冲突。

Q2:配置了防火墙规则后网站仍然无法访问,可能是什么原因?

按以下顺序逐一排查:

  • 安全组:检查云服务商控制台是否放行了对应入方向端口,这是最容易被遗漏的一层。
  • 系统防火墙:执行firewall-cmd --list-all确认端口已放行,并且运行了firewall-cmd --reload。
  • 服务监听:执行netstat -tlnp | grep 端口,确认服务进程实际监听了该端口而不是只监听了127.0.0.1。
  • SELinux:执行getenforce,若为Enforcing,用ausearch -m avc查看是否有SELinux拦截记录。

冷门但常见的坑:如果使用了Docker,Docker的-p端口映射会绕过firewalld,直接在iptables的DOCKER链中添加规则,此时修改firewalld不会影响Docker容器端口的映射。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/774434.html

赞 (0)
上一篇 2026年9月3日 04:15
下一篇 2026年9月3日 04:18

相关推荐

  • 西安配置高的网吧有哪些,西安哪里网吧配置最好?

    西安高配置网吧已进入“云+端”融合时代,硬件的极致只是基础,基于云架构的运维与体验升级才是真正的分水岭西安作为西北电竞重镇,高配置网吧早已不是单纯堆砌RTX 4090、i9-13900K和240Hz显示器的时代,真正的配置高,体现在三方面:顶级硬件带来的零延迟感官体验、基于云技术的弹性运营能力、以及围绕玩家动线……

    2026年8月18日
    01121
  • 华为trunk配置详解,华为交换机trunk端口配置方法

    在华为网络设备的实际部署中,Trunk端口是构建VLAN间隔离与跨设备通信的核心枢纽,配置Trunk的关键不在于简单的命令堆砌,而在于精准控制PVID(端口默认VLAN ID)、允许通过的VLAN列表以及数据帧的标签处理逻辑,若配置不当,极易引发广播风暴、VLAN穿透或链路不通等严重故障,掌握Trunk的底层机……

    2026年5月27日
    03071
  • 安全数据上报异常怎么办?排查解决方法有哪些?

    异常现象识别与初步诊断安全数据上报异常是企业在安全管理中常见的问题,通常表现为数据延迟、丢失、格式错误或重复上报等,解决此类问题的第一步是准确识别异常现象,通过监控平台发现某类安全事件上报率突降,或日志中出现“上报失败”的错误提示,需结合异常发生的时间范围、影响范围及具体错误代码,初步判断问题根源,常见初步诊断……

    2025年11月24日
    07890
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 川崎机器人配置怎么设置?川崎机器人配置步骤详解

    川崎机器人的配置是确保其在实际生产中高效、稳定运行的关键环节,通过标准化的参数设置、工具坐标系校准以及外围设备通信配置,结合云端协同管理,可以大幅缩短部署周期并提升设备可用率,以下基于多年现场服务经验与酷番云平台实践,系统解析川崎机器人配置的核心要点,川崎机器人配置的基础认知川崎机器人主要分为大型通用机器人(如……

    2026年7月14日
    01583

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(2条)

  • 菜digital977的头像
    菜digital977 2026年9月4日 01:24

    这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于端口的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!

  • 草smart664的头像
    草smart664 2026年9月4日 01:24

    读了这篇文章,我深有感触。作者对端口的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!