0

0

Linux系统Iptables基础规则编写及流量过滤教程

舞姬之光

舞姬之光

发布时间:2026-03-16 15:58:03

|

441人浏览过

|

来源于php中文网

原创

iptables是Linux内核netfilter框架上的无守护进程包过滤工具,由filter、nat、mangle、raw四表及五链构成,规则按链顺序匹配,filter表INPUT/OUTPUT链最常用,需手动保存持久化。

linux系统iptables基础规则编写及流量过滤教程

iptables 是 Linux 系统中经典且功能强大的包过滤防火墙工具,掌握基础规则编写能帮你快速实现主机级访问控制、端口限制和流量审计。它不依赖守护进程,规则直接运行在内核 netfilter 框架中,生效快、开销低。

理解 iptables 的四表五链结构

iptables 并非“一张表”,而是由 filter、nat、mangle、raw 四个规则表组成,各自承担不同职责:

  • filter 表:默认表,专用于包过滤(如 ACCEPT、DROP),含 INPUT、FORWARD、OUTPUT 三条链
  • nat 表:负责网络地址转换,典型用于 SNAT(出口修改源地址)、DNAT(入口修改目标地址),含 PREROUTING、POSTROUTING、OUTPUT 链
  • mangle 表:用于修改包头字段(如 TTL、TOS),较少日常使用
  • raw 表:用于绕过连接跟踪(NOTRACK),常配合高并发服务优化

每条链代表数据包在网络栈中的一个处理节点。例如:外部请求进入本机时,依次经过 PREROUTING → INPUT;本机发出的请求则走 OUTPUT → POSTROUTING。写规则前先确认目标表和链,避免规则不生效。

常用 filter 表规则编写与实战示例

绝大多数安全策略集中在 filter 表的 INPUT 和 OUTPUT 链。以下为高频操作(以 root 或 sudo 执行):

  • 清空现有规则:iptables -F(谨慎!建议先备份:iptables-save > /root/iptables.bak
  • 设置默认策略(推荐先设为 ACCEPT,调试完成再收紧):iptables -P INPUT ACCEPT
  • 允许本地回环通信:iptables -A INPUT -i lo -j ACCEPT
  • 允许已建立连接的返回流量:iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  • 开放 SSH(端口 22)并限制来源 IP(如仅允 192.168.1.0/24 网段):iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
  • 拒绝所有其他入站请求:iptables -A INPUT -j DROP(放在最后,确保前面规则已覆盖合法流量)

注意:-A 表示追加到链尾,-I 表示插入到链首(如 iptables -I INPUT 1 -p icmp --icmp-type echo-request -j ACCEPT 可优先放行 ping)。

Seed-Music
Seed-Music

字节跳动推出的AI音乐生成与编辑工具

下载

保存与持久化规则

iptables 规则默认不跨重启保存。不同发行版方式略有差异:

  • Debian/Ubuntu:iptables-save > /etc/iptables/rules.v4,并确保 netfilter-persistent 服务已启用
  • RHEL/CentOS 7+:iptables-save > /etc/sysconfig/iptables,启用 iptables 服务(systemctl enable iptables)
  • 通用兼容方案:将规则写入脚本(如 /usr/local/bin/iptables-init.sh),通过 systemd service 或 rc.local 调用

务必验证重启后规则是否加载成功:iptables -L -n -v 查看计数器是否增长,确认策略实际生效。

排查与调试技巧

规则不生效?常见原因包括链顺序错误、协议/端口写错、状态匹配未启用、或被更高优先级表(如 nat)干扰:

  • 查看详细规则及匹配计数:iptables -L INPUT -n -v(观察 pkts 列是否增加)
  • 临时记录被丢弃的包(用于诊断):iptables -I INPUT -j LOG --log-prefix "IPBLOCK: ",日志通常输出到 /var/log/messages 或 journalctl -k
  • 检查是否启用 conntrack 模块:lsmod | grep nf_conntrack,缺失时需 modprobe nf_conntrack
  • 确认网卡名和方向:-i(入接口)与 -o(出接口)勿混淆,如 docker 容器通信常涉及 docker0 接口

不复杂但容易忽略。规则越精简越可靠,宁可多写几条明确规则,也不要依赖模糊匹配或过度依赖默认策略。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

2004

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

681

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2438

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

49

2026.01.19

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

448

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

606

2023.08.10

点击input框没有光标怎么办
点击input框没有光标怎么办

点击input框没有光标的解决办法:1、确认输入框焦点;2、清除浏览器缓存;3、更新浏览器;4、使用JavaScript;5、检查硬件设备;6、检查输入框属性;7、调试JavaScript代码;8、检查页面其他元素;9、考虑浏览器兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

198

2023.11.24

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

280

2023.07.24

chatgpt使用指南
chatgpt使用指南

本专题整合了chatgpt使用教程、新手使用说明等等相关内容,阅读专题下面的文章了解更多详细内容。

0

2026.03.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号