小白也能懂的iptables核心逻辑!四张表+五条链如何守护你的网络安全?

为什么需要理解iptables的四表五链?

大家否遇到过服务器莫名被扫描、内网服务无法被外网访问,或者想限制某些IP访问但配置规则总不生效?这些问题的背后,都离不开Linux防火墙工具iptables的核心机制------四表五链。"

iptables的本质:数据包的"交通警察"

  • 把iptables比作网络流量的"交警岗",数据包是"车辆",而"四表五链"就是不同路口的"执法规则"------有的管"是否放行"(过滤),有的管"改路线/车牌"(地址转换),有的管"特殊标记"(流量跟踪)。
  • 总结:防火墙通过预定义的规则集,对经过Linux系统的数据包进行过滤(放行/拦截)、地址转换(NAT)、标记(特殊处理)等操作。

四张表:不同场景下的"规则工具箱"

表名 核心作用 典型场景
​filter表​ 数据包的"安检员":决定是否放行(DROP/ACCEPT/REJECT) 服务器只允许特定IP访问SSH(22端口),其他连接直接拒绝
​nat表​ 数据包的"化妆师":修改IP/端口(网络地址转换) 内网电脑通过服务器上网(SNAT),外网访问服务器上的内网服务(DNAT)
​mangle表​ 数据包的"标记师":修改TOS/TTL/mark等特殊字段 为VIP用户的流量打标记,后续优先处理(QoS场景)
​raw表​ 数据包的"免跟踪开关":决定是否启用状态跟踪 减少防火墙对高并发流量的跟踪负担(提升性能)

五条链:数据包的"关键节点"

  1. INPUT链:当数据包的目标IP是本机时触发(比如你访问服务器的80端口,包到了服务器后先过INPUT链)。 场景举例:配置"只允许公司IP访问本机数据库(3306端口)",规则要写在INPUT链的filter表中。
  2. OUTPUT链:当本机主动发出的数据包时触发(比如你用服务器ping外网,包从本机出去先过OUTPUT链)。 场景举例:限制本机只能访问特定网站(如公司内网),可在OUTPUT链的filter表中设置规则。
  3. FORWARD链:当数据包既不是本机发出,也不是目标为本机(即需要本机转发时触发)(比如内网电脑通过服务器上网,包经过服务器转发)。 场景举例:配置"内网所有设备通过服务器访问外网",需在FORWARD链的filter表中允许转发并配合nat表的SNAT。
  4. PREROUTING链:数据包刚进入防火墙时立即触发(修改目标地址的最佳时机)。 场景举例:外网用户访问服务器的公网IP(如80端口),实际想转发到内网某台机器的8080端口(DNAT),规则要写在PREROUTING链的nat表中。
  5. POSTROUTING链:数据包即将离开防火墙时触发(修改源地址的最佳时机)。 场景举例:内网电脑通过服务器上网时,把包的源IP从内网IP改为服务器的公网IP(SNAT),规则要写在POSTROUTING链的nat表中。

四表五链的协作流程

  1. 数据包到达防火墙:首先经过raw表(PREROUTING)(决定是否跟踪状态)→ mangle表(PREROUTING)(可打标记)→ nat表(PREROUTING)(修改目标IP/端口,如DNAT)。
  2. 判断目标:如果是本机(如访问服务器的SSH),进入filter表(INPUT链)决定是否放行;如果不是本机(如转发流量),进入mangle表(FORWARD)/filter表(FORWARD链)(检查是否允许转发)。 3.本机发出的包:先经过mangle表(OUTPUT)/nat表(OUTPUT)(修改本机发出的包)→ filter表(OUTPUT链)(决定是否放行)。 4.所有包离开前:最后经过mangle表(POSTROUTING)/nat表(POSTROUTING)(如SNAT修改源IP)→ filter表(若涉及转发)→ 离开防火墙。
相关推荐
Web极客码33 分钟前
在Ubuntu 22.04上安装远程桌面服务
linux·运维·ubuntu
sqmeeting1 小时前
QT6 如何在Linux Wayland 桌面系统抓屏和分享屏幕
linux·qt
OpenAnolis小助手1 小时前
朗空量子与 Anolis OS 完成适配,龙蜥获得抗量子安全能力
安全·开源·操作系统·龙蜥社区·龙蜥生态
大白同学4211 小时前
【Linux】编辑器vim的使用
linux·编辑器·vim
板鸭〈小号〉2 小时前
Linux网络基础(一)
linux·网络·智能路由器
范纹杉想快点毕业3 小时前
嵌入式 C 语言编程规范个人学习笔记,参考华为《C 语言编程规范》
linux·服务器·数据库·笔记·单片机·嵌入式硬件·fpga开发
wanhengidc4 小时前
云手机选哪个比较好用?
服务器·网络·安全·游戏·智能手机
Akshsjsjenjd4 小时前
Linux 服务部署:自签 CA 证书构建 HTTPS 及动态 Web 集成
linux·前端·https
为什么要内卷,摆烂不香吗5 小时前
kubernetes(4) 微服务
linux·运维·微服务·容器·kubernetes