linux iptables怎么配置?iptables防火墙规则设置教程

iptables是Linux系统内核级的状态检测防火墙,通过规则链对数据包进行过滤,是保障服务器网络安全的第一道防线。

在Linux服务器管理的日常工作中,配置防火墙往往是最让运维人员头疼的环节之一,相比于Windows系统那种图形化的“一键设置”,Linux的防火墙机制更加底层且灵活,但也因此带来了更高的学习门槛,iptables作为Netfilter框架的核心组件,虽然在新版系统中逐渐被firewalld和nftables取代,但在大量存量服务器、Docker容器底层以及嵌入式设备中,它依然是不可或缺的基础工具,理解它的运作逻辑,不仅能解决当下的网络访问问题,更能帮你构建起纵深防御的安全体系。

第27课:iptables 详解
加载中
第27课:iptables 详解

iptables核心概念与工作原理

要驾驭iptables,首先要明白它不是简单的“开关”,而是一个数据包的处理流水线,我们可以把进入服务器的网络流量想象成快递包裹,iptables就是快递站的分拣中心。

链(Chain):数据包的必经之路

数据包在到达目的地之前,会经过不同的处理阶段,每个阶段对应一条“链”,业内专家指出,理解这些链的触发时机是配置正确规则的前提。

  • PREROUTING:数据包刚进入网络接口,路由决策尚未进行时,这里通常用于目的地址转换(DNAT),比如将公网IP映射到内网服务器。
  • INPUT:数据包经过路由判断,目标是本机进程,这是我们要重点保护的区域,绝大多数入站访问控制都在这里进行。
  • FORWARD:数据包经过路由判断,目标是其他主机,这主要应用于路由器或网关场景,普通Web服务器很少用到。
  • OUTPUT:本机进程发出的数据包,通常用于限制本机对外发起的连接,防止恶意软件外传数据。
  • POSTROUTING:数据包即将离开网络接口前,这里常用于源地址转换(SNAT),实现内网共享上网。

linux iptables怎么配置?iptables防火墙规则设置教程

表(Table):功能的分类容器

链是逻辑路径,而表则是功能分类,iptables默认包含四张表,优先级从高到低依次为:

  1. raw表:用于处理异常连接追踪,优先级最高,通常用于提升性能或关闭某些连接的追踪。
  2. mangle表:用于修改数据包的服务类型(TOS)、TTL等字段,高级路由策略常用。
  3. nat表:负责网络地址转换,如端口映射、IP伪装。
  4. filter表:默认的过滤表,负责包过滤,也是日常配置中最常用的表。

实战:如何高效配置iptables规则

很多新手在配置防火墙时,容易陷入“堆砌命令”的误区,导致规则混乱且难以维护,正确的做法是先理清业务需求,再编写脚本,以下是基于CentOS/RHEL系列系统的标准操作流程。

基础环境准备与规则备份

在进行任何修改之前,务必保留当前运行的规则副本,以防配置错误导致服务器失联。

  • 查看当前规则:执行 iptables -L -n -v,参数-n表示不解析域名和端口名,加快显示速度;-v显示详细信息。
  • 备份现有规则:执行 iptables-save > /etc/iptables.backup。
  • 安装持久化工具:在CentOS 7+中,通常使用iptables-services包来保存规则,执行 systemctl enable iptables 确保开机自启。

核心规则配置示例

假设你需要搭建一台Web服务器,仅允许HTTP(80端口)和HTTPS(443端口)访问,同时保留SSH(22端口)的远程管理权限,并拒绝其他所有入站连接。

第一步:设置默认策略

为了安全起见,建议将默认策略设置为DROP(丢弃),即除非明确允许,否则一律拒绝。

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

注意:在执行INPUT DROP之前,务必先配置好SSH规则,否则你会立即断开连接。

linux iptables怎么配置?iptables防火墙规则设置教程

第二步:允许已建立及相关连接

这是最关键的一步,如果不允许已建立的连接,当你允许SSH访问后,服务器返回的数据包会被默认策略丢弃,导致连接无法维持。

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

这里使用了-m state模块(在较新版本中可能被conntrack替代)来匹配连接状态。

第三步:允许特定端口访问

# 允许SSH登录(建议限制特定IP段,如192.168.1.0/24)
iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT
# 允许Web服务
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 允许ICMP协议(Ping)
iptables -A INPUT -p icmp -j ACCEPT

第四步:保存并生效

service iptables save
# 或者在systemd系统中
iptables-save > /etc/sysconfig/iptables

常见误区与进阶优化技巧

在实际生产环境中,简单的规则配置往往不足以应对复杂的网络场景,许多运维人员会遇到“规则不生效”或“性能瓶颈”的问题,这通常源于对iptables工作机制的误解。

规则匹配顺序的重要性

iptables的规则是从上到下依次匹配的,一旦匹配成功,就不再检查后续规则,这意味着,如果你将ACCEPT所有端口的规则放在前面,后面的DROP特定端口规则将永远无法执行,必须遵循“先精确后宽松”或“先拒绝后允许”的逻辑排序,对于高频访问的规则(如SSH),应放在列表靠前位置,以减少CPU匹配开销。

性能优化:使用conntrack替代state

传统的-m state模块在处理高并发连接时,可能会成为性能瓶颈,近年来,业内共识认为使用-m conntrack模块能提供更高效的连接跟踪机制,将上述第二步的命令替换为:

linux iptables怎么配置?iptables防火墙规则设置教程

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

这不仅能提高匹配速度,还能更好地支持IPv6和复杂的多态连接。

iptables与firewalld/nftables的对比

对于新用户,经常会有“iptables和firewalld哪个更好”的疑问,firewalld是iptables的前端管理工具,它使用zone(区域)概念,支持动态更新规则而无需重启服务,更适合桌面环境或需要频繁变更策略的场景,iptables直接操作内核模块,规则持久化更简单,且在脚本自动化部署中兼容性更好,至于nftables,它是iptables的继任者,旨在解决iptables性能差、规则管理复杂的问题,但在2026年的主流服务器生态中,iptables因其极高的稳定性和广泛的文档支持,依然是许多老系统的首选。

常见问题解答

如何查询iptables规则是否生效?

使用iptables -L -n -v --line-numbers命令。--line-numbers会显示每条规则的序号,方便后续删除或插入特定规则,如果看到规则列表中有对应的ACCEPT或DROP动作,且匹配计数(pkts/bytes)在增加,说明规则已生效。

iptables规则重启服务器后会丢失吗?

默认情况下,iptables规则存储在内存中,重启后会丢失,必须使用service iptables save命令将规则写入/etc/sysconfig/iptables文件,并确保iptables服务设置为开机自启(systemctl enable iptables),在Ubuntu/Debian系统中,通常使用netfilter-persistent服务来管理规则持久化。

如何删除某条特定的iptables规则?

直接删除规则比较困难,因为需要精确匹配规则内容,推荐的做法是先使用iptables -L --line-numbers查看规则序号,然后使用iptables -D INPUT <序号>进行删除,删除INPUT链中的第3条规则,执行iptables -D INPUT 3即可。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/linux-iptables%e6%80%8e%e4%b9%88%e9%85%8d%e7%bd%ae%ef%bc%9fiptables%e9%98%b2%e7%81%ab%e5%a2%99%e8%a7%84%e5%88%99%e8%ae%be%e7%bd%ae%e6%95%99%e7%a8%8b/

赞 (0)
如何用excel作直方图,excel做直方图的详细步骤
上一篇 2026年7月9日 04:09
python truelicense如何生成许可证?java软件授权加密方案
下一篇 2026年7月9日 04:12

相关推荐

  • 租服务器玩游戏到底多少钱,怎么租最划算?

    租服务器玩游戏的成本远低于多数人预期,个人玩家月付通常在几十元到两百元区间,团队开服则视在线人数在数百至上千元浮动,而选择持牌自营机房的服务商能显著降低延迟与封禁风险,先搞懂价格构成,再谈预算租服务器不是买台电脑,定价逻辑和云服务商机房成本直接挂钩,影响最终报价的因素就四个:CPU性能、内存大小、带宽质量、防御……

    2026年9月23日
    200
  • 怎么查看服务器系统是多少位,服务器系统位数查询方法

    判断服务器的Linux系统是32位还是64位,最直接的方法是执行uname -m命令,输出x86_64即为64位,i686或i386则为32位,这一结论适用于绝大多数发行版,是系统管理员日常排查、部署软件时最常用的判定标准,先弄懂架构与位数的关系,再动手查Linux的“位数”本质上指的是CPU的指令集架构,而不……

    2026年9月24日
    000
  • 百度服务器的ip地址是多少

    百度服务器的IP地址没有固定值,百度全网采用CDN节点和BGP多线动态调度机制,IP地址会随访问区域、网络运营商和时段实时变化,用户无法通过单一IP访问百度,为什么百度不公布固定服务器IP百度作为国内访问量最大的搜索引擎之一,其服务器架构早已从传统的单点机房模式转向分布式云计算体系,据百度公开技术文档显示,百度……

    2026年8月26日
    500
  • 香港服务器一个月到底多少钱,哪家更便宜?

    香港服务器一个月的费用通常在50元到500元之间,具体取决于配置、带宽和线路类型;入门级共享IP方案月付约50-80元,主流CN2独享IP方案月付150-300元,高配大带宽方案则需500元以上,这个价格区间是2026年香港IDC市场的常态水平,但实际成交价会因服务商资质、机房等级和续费政策产生较大浮动,本文将……

    2026年8月26日
    11800
  • 湖州DNS服务器地址是多少,湖州电信DNS怎么设置?

    湖州地区的首选DNS服务器地址是:主用 202.101.172.35,备用 202.101.172.36(中国电信浙江分公司官方DNS);联通线路用户推荐使用 221.12.1.2 和 221.12.13.2, 若您使用移动宽带,则可配置 221.131.143.69 作为首选DNS,为什么要手动设置湖州DNS……

    2026年10月13日
    100
  • 端游到底有多少个服务器,端游服务器数量怎么查看?

    端游服务器的数量没有统一标准,取决于游戏规模、玩家基数和运营策略,主流大型端游通常运营几十到上百组服务器,中小型端游则可能只有几组甚至单组服务器,端游服务器数量的行业现状先给一个直观概念,以市面上运营超过十年的老牌端游为例,多数保持着相当规模的服务器集群,这个规模不是固定的,新服开启、老服合并是常态,每个季度的……

    2026年10月15日
    300
  • 建游戏服务器到底要多少钱,费用明细有哪些?

    建游戏服务器多少钱,没有一口价, 多数情况下,入门云服务器每月百元级,能支撑小型联机;主流多人游戏用物理机或高配云主机,每月千元级;带高防、大带宽、BGP多线的中大型游戏服务器,每月数千到上万很常见,真正决定账单的,是配置、带宽、防御、机房位置和服务商资质,而不是“服务器”三个字,游戏服务器的钱到底花在哪硬件与……

    2026年10月7日
    000
  • 服务器买一台要多少钱呢,什么配置性价比高

    一台服务器的价格从每年几百元到数万元不等,买多少钱取决于你的业务流量、数据规模和可用性要求, 别急着掏钱,先搞清楚自己到底是在跑一个个人博客,还是要扛住每天几万次请求的电商系统,这两者对硬件和网络的要求完全不同,价格自然差出几十倍,先搞清楚:影响服务器价格的四个关键变量硬件配置不是越高越好,而是匹配需求服务器不……

    2026年10月6日
    100
  • PS4香港服务器DNS设置多少,哪个DNS最快?

    针对PS4香港服务器,手动设置DNS时推荐主DNS填102.23.228(香港HGC),备选DNS填80.96.9(香港HKIX),第二个备选填8.8.8(Google公共DNS),这是经过多数港服玩家验证、能在延迟和解析成功率之间取得平衡的组合,直接改完后,到PS4网络设置里走一遍“测试互联网连接”,能看到N……

    2026年9月24日
    100
  • 卖核心网服务器到底多少钱,哪家价格最便宜呢?

    卖核心网服务器的价格没有统一答案,单台设备从几万元到几百万元不等,核心取决于你的场景是电信级核心网、企业级简化核心网还是实验室测试环境,核心网服务器的价格为什么这么难报很多客户第一次问价都会觉得奇怪,同样是“核心网服务器”,怎么有的厂商报价8万,有的报价180万,这不是谁坑谁,而是大家说的根本不是同一种东西,核……

    2026年9月25日
    100

发表回复

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