linux防火墙配置怎么做,linux防火墙配置命令有哪些?

Linux 防火墙配置的核心在于“默认拒绝 + 最小授权 + 分层防御”

无论是 CentOS/RHEL 系的 firewalld,还是 Debian/Ubuntu 系的 UFW,亦或是底层通用的 iptables/nftables,没有绝对“最好”的防火墙,只有最贴合业务场景的策略组合,生产环境中最常见的配置错误不是规则写错,而是放行了本不该放行的端口,正确的做法是:先拒绝所有入站流量,再按需放行特定 IP、端口和协议,同时结合云平台安全组形成双重过滤,这才是企业级 Linux 服务器的安全基线。


先理解 Linux 防火墙的“三驾马车”

  • iptables:传统内核 netfilter 管理工具,规则链式匹配,灵活但门槛高,性能优秀,适合复杂 NAT 和企业级流量控制。
  • firewalld:RHEL 7+ 默认方案,基于区域(zone)概念,动态管理,支持运行时与永久配置分离,适合需要频繁变更规则的场景。
  • UFW(Uncomplicated Firewall):Ubuntu 默认前端,封装 iptables,语法简洁,适合新手和轻量级服务器,但高级功能受限。

我的核心建议:云服务器上优先使用系统自带防火墙 + 云安全组的双层策略,不要只依赖云平台安全组,因为一旦安全组误操作或端口映射异常,本机防火墙是最后一道防线。


生产级配置流程:从零到一的标准步骤

设定默认策略一切入站流量默认丢弃

# iptables 示例
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

对绝大多数 Web 服务器而言,出站流量应放行(便于更新和回包),入站只放行必要端口,此策略能最大化降低被扫描的风险。

放行回环与已建立连接

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

linux防火墙配置怎么做,linux防火墙配置命令有哪些?

这两条规则必不可少:回环接口用于本地进程通信,而 conntrack 状态跟踪保证已建立的 SSH、HTTP 连接不中断,这是避免生产事故的关键细节。

按业务放行端口

  • 管理端口:iptables -A INPUT -p tcp --dport 22 -s 你的办公网IP -j ACCEPT(强烈不建议对全开放)
  • 服务端口:iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  • 数据库端口:iptables -A INPUT -p tcp --dport 3306 -s 应用服务器内网IP -j ACCEPT

持久化配置

  • firewalld 使用 firewall-cmd --permanent 后 --reload
  • iptables 使用 iptables-save > /etc/iptables/rules.v4(Debian/Ubuntu)或 service iptables save(RHEL 系)

切记:每次修改后先测试新会话能否正常连接,再决定是否持久化,建议用 screen 或 tmux 保持一个已有会话,防止规则错误导致自己“被关在门外”。


firewalld 实战:基于区域的动态管理

firewalld 的亮点是区域化不同网络接口应用不同信任级别。

firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=internal --add-source=192.168.1.0/24 --permanent
firewall-cmd --reload

安全建议:

  • 公网网卡绑定 public 区域:仅放行 HTTP/HTTPS
  • 内网网卡绑定 trusted 或自定义 internal:允许内网访问 SSH、数据库
  • 对云服务器,不要直接修改默认区域为 trusted,否则会绕过安全组策略。

经验案例(酷番云):我们曾处理过一个客户案例,其酷番云 ECS 实例在安全组中已放行 80 端口,但网站仍无法访问,排查发现系统自带的 firewalld 默认区域为

linux防火墙配置怎么做,linux防火墙配置命令有哪些?

public,且未添加 http 服务规则,由于安全组只过滤外部流量,而本机 firewalld 再次拦截了入站请求。解决方案:在 firewalld 中执行 firewall-cmd --permanent --add-service=http,并设置默认区域为 drop,仅放行 ssh、http、https,这样即便安全组配置过宽泛,本机依然会拒绝对外暴露的非必要端口,形成纵深防御。


UFW 的快速配置技巧

Ubuntu 用户可使用 UFW 快速落地:

ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw enable

注意:ufw allow 22/tcp 会向所有来源开放 SSH,如需限制来源 IP,必须写明:

ufw allow from 203.0.113.10 to any port 22 proto tcp

进阶优化:防暴力破解与动态封禁

防火墙不仅要“放行/拒绝”,还应具备主动防御能力:

  • 限制 SSH 连接频率:使用 iptables 的 recent 模块,同一 IP 每分钟超过 3 次连接则封禁 10 分钟。
  • 集成 Fail2Ban:监控日志并动态调用 iptables/firewalld 封禁 IP,效率比人工运维高数倍。
  • 禁用 ICMP 重定向:作为防劫持加固项,云服务器建议默认丢弃 ICMP redirect。
iptables -A INPUT -p icmp --icmp-type redirect -j DROP

常见故障排查清单

  • 如果端口不通,先用 iptables -L -n 或 firewall-cmd --list-all 查看实际规则
  • 不要忽略云安全组:本机防火墙放行后,还需确认安全组入站规则是否同步
  • 检查 conntrack 满载问题:高并发场景下连接跟踪表溢出会导致丢包,需调整 net.netfilter.nf_conntrack_max

    linux防火墙配置怎么做,linux防火墙配置命令有哪些?

  • 大量 DROP 日志出现时,使用 iptables -I INPUT 1 -s 攻击IP -j DROP 快速临时封禁

相关问答模块

Q1:firewalld 和 iptables 到底选哪个?可以同时启用吗?

答案:生产环境不要同时启用,两者管理同一套内核 netfilter 框架,同时运行会导致规则混乱、策略冲突,甚至出现“你以为放行了,实际被另一层规则拦截”的诡异故障,建议:RHEL/CentOS 8+ 默认用 firewalld,Ubuntu/Debian 默认用 UFW(底层是 iptables);如果服务器只跑单一简单业务,直接用 iptables 更高效,对于云服务器,更倾向于 firewalld + 云安全组 的组合,因为 firewalld 的 zone 机制与云环境的多网卡场景天然契合。

Q2:为什么我按教程开放了 8080 端口,外部依然访问不了?

答案:按以下顺序逐一排查:

  1. 确认进程正在监听:ss -lntp | grep 8080
  2. 确认本机防火墙规则已生效:iptables -L -n 查看 INPUT 链是否有对应 ACCEPT
  3. 确认云平台安全组已放行 8080(这是最常见的遗漏点)
  4. 检查 SELinux 是否拦截:getenforce 为 Enforcing 时,需执行 semanage port -a -t http_port_t -p tcp 8080
  5. 最后测试回环访问:curl 127.0.0.1:8080,若通而外网不通,基本可断定问题出在云安全组或上层防火墙。

结语与互动

防火墙配置没有一次性的“万能模板”,最佳实践是“最小授权 + 可审计 + 可回滚”,建议每次变更规则前先备份当前规则文件,变更后记录变更原因,并在测试环境验证,如果你在实践中遇到规则不生效、策略冲突或性能问题,欢迎在评论区分享你的场景,我会逐一给出针对性建议,也欢迎关注我的专栏,持续输出 Linux 运维与云安全实战干货。

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

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

相关推荐

  • 分布式数据库TDSQL活动

    分布式数据库TDSQL活动活动背景与意义随着数字化转型的深入,企业对数据存储和处理的性能、可靠性及扩展性提出了更高要求,传统数据库在应对海量数据、高并发场景时,往往面临扩展瓶颈和性能瓶颈,在此背景下,分布式数据库TDSQL凭借其原生分布式架构、高可用性和强一致性等优势,成为企业级数据库的首选,为推动分布式数据库……

    2025年12月25日
    03030
  • 分布式消息队列新购活动有啥优惠和限制吗?

    赋能企业高效通信与业务创新在数字化转型的浪潮中,企业对系统稳定性、可扩展性和实时性的要求日益提升,分布式消息队列作为异步通信的核心组件,已成为构建高可用架构的关键技术,为帮助企业以更优成本引入先进技术,[活动名称]特别推出分布式消息队列新购活动,结合限时优惠、专属服务与技术支持,助力企业轻松构建高效、可靠的分布……

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

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

      2026年1月10日
      020
  • 服务器配置PDF怎么下载?服务器配置

    服务器配置的核心在于“精准匹配”与“弹性扩展”,而非盲目追求高配,对于绝大多数业务场景,合理的资源组合能降低30%-50%的运营成本,同时提升系统稳定性,在云计算时代,服务器配置不再是一个静态的技术参数选择,而是动态的业务支撑体系,许多企业在初期往往陷入“配置越高越好”的误区,导致资源闲置与成本浪费;而在业务高……

    2026年6月4日
    01961
  • Shiro权限配置文件如何编写?常见问题与最佳实践解析?

    Shiro权限配置文件是Shiro框架中用于管理用户权限和角色配置的核心文件,它以XML格式定义了用户的角色、权限以及相关的过滤器、过滤器链等配置信息,本文将详细介绍Shiro权限配置文件的结构、元素及其应用,Shiro权限配置文件结构Shiro权限配置文件的基本结构如下:<shiro> <c……

    2025年12月24日
    03020

发表回复

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

评论列表(1条)

  • 饼帅1983的头像
    饼帅1983 2026年9月4日 01:09

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