LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员

iptables 规则一写就乱?三张图让你从入门到精通

admin
2026年10月19日 23:4 本文热度 133

title: iptables 规则一写就乱?三张图让你从入门到精通 tags: [iptables, 防火墙, Linux, 网络安全, 运维] 


iptables 规则一写就乱?三张图让你从入门到精通

干运维这么多年,见过太多人第一次配 iptables 直接把 SSH 连上去、回车、然后——断线了。

别问我怎么知道的。

今天不整虚的,直接给你讲清楚 iptables 的三条链、五张表,还有那些年我们踩过的坑。

一、先搞懂谁是谁:表和链的关系

很多人 iptables 学不会,不是因为命令复杂,是因为没搞懂表和链的关系。

简单说: 

  • 链(Chain)
    :数据包经过的检查点,有 INPUT、OUTPUT、FORWARD 三条主要链
  • 表(Table)
    :不同功能的规则集合,常用的是 filter 表(过滤)和 nat 表(地址转换)


打个比方,链是高速公路的检查站,表是检查站的检查项目。检查站可以查酒驾、查证件、查违禁品——这些不同的检查项目就是不同的表。

常用组合: 

filter 表 → INPUT/OUTPUT/FORWARD 链(管流量放行) nat 表    → PREROUTING/OUTPUT/POSTROUTING 链(管地址转换) mangle 表 → 所有链(管包修改)

二、记住这个顺序:表→链→规则

iptables 匹配规则是按表处理,再按链匹配,最后按顺序执行。

顺序口诀:Raw → Mangle → Nat → Filter

也就是说,一个包进来,先走 raw 表处理连接状态,再走 mangle 改包头,然后 nat 做地址转换,最后 filter 决定是放还是扔。

实际场景:你要禁止 80 端口的 HTTP 访问,但允许已建立的连接: 


# 允许已建立的和相关的连接(放行放前面!) iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

允许 SSH(22端口),避免把自己锁外面)

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

允许 HTTP

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

禁止所有其他入站流量

 iptables -A INPUT -j DROP 血的教训:最后那条 DROP 必须放在最后,而且必须在 SSH 规则之后。不然你 SSH 连上去,配完规则回车——好,现在你进不去了。 

三、两个必装保命工具

1. iptables-persistent(防重启规则丢失)

# Debian/Ubuntu apt install iptables-persistent netfilter-persistent save 


规则自动保存,重启不丢失

2. iptables-restarter(紧急恢复脚本)

 写一个 reset_iptables.sh,内容: 

#!/bin/bash iptables -F iptables -X iptables -t nat -F iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT echo "防火墙已重置为全通状态"

把这个脚本放在随手能访问的地方,SSH 断开、服务器失联的时候,可以用控制台执行它紧急恢复。

四、真实排错案例:服务器无法访问

上周帮客户排查一个问题,服务器能 ping 通,但 HTTP 服务访问不了。查了一圈,最后发现是: 


# 查看规则 iptables -L -n -v

看到有一条规则

 Chain INPUT (policy DROP) 

哦豁,INPUT 默认策略是 DROP,但 80 端口规则没加!

临时放行

 iptables -I INPUT -p tcp --dport 80 -j ACCEPT 

问题解决。

所以上线前一定要检查默认策略: 

# 查看所有链的默认策略 iptables -L -n | grep policy

五、一张图总结 iptables 速查

| 场景 | 命令 | |------|------| | 查看所有规则 | iptables -L -n -v | | 允许指定端口 | iptables -A INPUT -p tcp --dport 80 -j ACCEPT | | 禁止 IP 访问 | iptables -A INPUT -s 192.168.1.100 -j DROP | | 端口转发 | iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 | | 保存规则 | iptables-save > /etc/iptables/rules.v4 |


阅读原文:原文链接


该文章在 2026/10/20 11:58:54 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-2  粤公网安备44030602007207号