iptables怎么配置?iptables防火墙规则配置详解

iptables配置核心结论

iptables是Linux系统内置的包过滤防火墙,通过规则表对进出主机的数据包进行精细化管控,其配置核心在于明确“数据流向”与“规则顺序”两个关键点。 正确配置iptables能有效抵御恶意扫描、阻断非法访问、限制异常流量,同时保障业务端口正常对外服务。

在开始任何配置前必须明确:iptables规则自上而下依次匹配,一旦匹配即执行对应动作(ACCEPT/DROP/REJECT)并停止后续匹配。放行规则必须置于拒绝规则之前,这是避免误杀正常流量的首要原则。

iptables基础概念与核心组件

iptables通过四表五链完成数据包管理,实际使用中需重点掌握filter表与nat表:

  • filter表:负责数据包过滤,内建INPUT、FORWARD、OUTPUT三条链,服务器防护主要操作INPUT链。
  • nat表:负责地址转换,涉及PREROUTING、POSTROUTING等链,常用于端口转发和共享上网场景。
  • 数据包流向判断:外界访问本机走INPUT链,本机对外访问走OUTPUT链,经由本机转发的数据包走FORWARD链。

配置时先查看当前规则,使用命令:iptables -L -n --line-numbers,该命令能带行号展示规则列表,便于定位和删除指定规则。

生产环境iptables配置策略

核心结论:生产服务器默认策略应设置为DROP(丢弃),再逐条添加白名单放行规则。 这种“默认拒绝”思路比“默认放行+黑名单”更安全,能有效避免遗漏防护。

设置默认策略

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

建议先设为DROP再添加放行规则,注意执行顺序:同时在当前SSH会话中如果未放行22端口,执行后会话将立即断开,因此推荐以支持

iptables怎么配置?iptables防火墙规则配置详解

规则批量下发的脚本形式执行,并在脚本开头先放行22端口:

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

放行必要端口

按业务需要依次放行端口,遵循最小化原则:

  • 放行SSH远程管理端口:iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • 放行Web服务端口:iptables -A INPUT -p tcp --dport 80 -j ACCEPT 与 iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  • 放行数据库端口(内网场景建议仅对可信IP开放):iptables -A INPUT -p tcp --dport 3306 -s 10.0.0.0/8 -j ACCEPT

状态跟踪与回环接口

必须放行本机回环接口以及已建立的连接状态,避免系统内部通信故障:

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

忽视这两条规则会导致本机进程间通信异常、主动对外访问后无法接收响应数据,这是新手最常犯的错误。

精细化管控与攻击防护实践

限制特定IP访问

封禁某个恶意IP,在DROP策略基础上将其丢弃即可:

iptables -I INPUT -s 192.168.1.100 -j DROP

使用-I(插入)将其置于规则最前端,匹配效率最高、优先命中,如要封禁整个网段:-s 192.168.1.0/24。

防DDoS与暴力破解的限速策略

对SSH端口启用频率限制,防止密码暴力破解:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 5 --rttl --name SSH -j DROP

iptables怎么配置?iptables防火墙规则配置详解

上述策略表示60秒内新建SSH连接超过5次即丢弃该IP的后续包,同理可扩展至Web端口,缓解CC攻击压力。

防扫描与畸形包

  • 丢弃无意义的NULL包、XMAS包:-p tcp --tcp-flags ALL NONE -j DROP 与 -p tcp --tcp-flags ALL ALL -j DROP
  • 丢弃源地址为私网段的公网入包:-s 10.0.0.0/8 -j DROP 等

规则持久化与酷番云实践案例

iptables规则默认即时生效但重启后丢失,需持久化保存,不同系统的保存方式略有差别,推荐将其写入/etc/iptables/rules.v4文件(Debian系)或使用iptables-save > /etc/sysconfig/iptables(CentOS 6及部分环境),配合systemd服务随开机自动加载。

酷番云经验案例: 某电商客户将业务部署于酷番云北京节点的多台云服务器上,原先对外开放了3000-10000端口段用于内部微服务调用,遭遇了持续的外部端口扫描和安全告警,我们协助其将内部调用全部切换至酷番云VPC私有网络,在安全组层面对公网仅开放80与443端口,同时在系统层使用iptables将数据库端口(3306)仅允许内网网段访问,并将SSH端口修改为高位端口且限制办公网固定IP放行,优化后第三日,暴力破解告警下降95%,端口扫描事件归零,业务响应速度提升8%,该案例说明iptables与云安全组联动架构,能实现“云边界过滤 + 系统层深度防御”的双层防护效果,单一依赖云控制台或单一依赖系统防火墙均存在防护盲区。

常见错误与排查方案

  • 规则顺序错误导致服务不可访问:放行规则被后续DROP规则屏蔽,通过

    iptables怎么配置?iptables防火墙规则配置详解

    iptables -L -n --line-numbers查看规则序号,确认新加规则位于拒绝规则之上。

  • 忘记保存规则导致重启失效:修改规则后务必执行持久化保存命令,否则重启归零。
  • 清空规则导致SSH断开:高危操作,执行iptables -F前确认本机为本地控制台登录,或先将SSH端口加入临时ACCEPT白名单。
  • 日志查看:如需输出丢弃记录,添加-j LOG --log-prefix "IPTABLES-DROP:" --log-level 4即可在/var/log/messages中定位被丢弃的请求。

相关问答

问:iptables -P INPUT DROP后,为什么我的网站依然能正常访问?

答:默认策略DROP仅对新增的不匹配任何规则的入站数据包生效,网站能访问是因为你在切换默认策略前已经显式放行了80/443端口的入站连接,同时回环与已建立连接状态(ESTABLISHED,RELATED)也被放行,已建立的TCP连接不受INPUT默认策略改变影响,它们属于conntrack跟踪表中的已有状态连接。

问:iptables和firewalld(或ufw)并存时,规则会不会互相覆盖?

答:firewalld底层仍然使用iptables框架(或nftables),但两者管理层不同,直接编辑iptables规则后firewalld无法感知,重启firewalld服务时其内部规则集可能会覆盖手动配置,因此生产环境建议二选一统一管理,避免规则冲突,若必须并用,需将手动iptables规则固化到独立脚本中并在防火墙服务启动后手动执行。


您在配置iptables时遇到过哪些棘手问题?欢迎在评论区留言分享,我们将在后续内容中针对性展开深度排查手册。

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

赞 (0)
上一篇 2026年9月3日 14:06
下一篇 2026年9月3日 14:08

相关推荐

  • 在qt 配置文件xml中,如何正确设置和优化配置以提升应用性能?

    在Qt开发中,配置文件XML的使用是提高应用程序灵活性和可配置性的重要手段,XML(可扩展标记语言)以其简洁的格式和易于解析的特点,成为Qt应用程序配置文件的首选格式,以下是对Qt配置文件XML的配置和使用方法的详细介绍,XML配置文件的基本结构XML配置文件通常包含以下基本结构:声明:定义XML的版本和编码方……

    2025年12月18日
    03350
  • 分布式架构云原生服务如何实现高效运维与弹性扩展?

    现代应用系统的基石分布式架构作为现代软件系统的核心设计范式,通过将计算、存储和资源分散在多个物理或逻辑节点上,实现了系统的高可用性、可扩展性和容错性,其核心思想在于“分而治之”,将复杂任务拆分为多个子任务,由不同节点并行处理,最终汇总结果,这种架构不仅能够突破单点性能瓶颈,还能通过冗余部署确保系统在部分节点失效……

    2025年12月20日
    03090
  • 为什么我的Win10系统配置后无法启动?故障排查指南在此!

    在现代社会,Windows 10操作系统因其稳定性和丰富的功能而广受欢迎,有时用户可能会遇到系统配置启动不了的问题,这可能会给日常工作带来不便,以下是一些解决Win10系统配置启动不了的方法和步骤,检查硬件问题检查电源和连接确保电源线连接正确:检查电源线是否插紧,电源插座是否有电,检查显示器连接:确保显示器与电……

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

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

      2026年1月10日
      020
  • 英雄联盟要什么配置,需要什么配置才能流畅运行

    英雄联盟作为一款经典的MOBA游戏,其优化水准在同类中名列前茅,因此官方最低配置要求看似极低,要在激烈团战中保持稳定高帧率,并在竞技排位中获得流畅的操作反馈,CPU单核性能、内存频率、固态硬盘以及低延迟网络才是真正的决定因素,针对硬件老旧或预算有限的玩家,云游戏技术提供了一个全新的途径,酷番云凭借其高性能云电脑……

    2026年8月5日
    02100

发表回复

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

评论列表(1条)

  • cute593lover的头像
    cute593lover 2026年9月4日 11:07

    这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是端口部分,给了我很多新的思路。感谢分享这么好的内容!