如何利用 iptables 进行针对性的网络分流与拦截

舞夢輝影

舞夢輝影

2026-07-18

545人浏览

原创

iptables 是四层流量控制工具,支持按连接特征、用户身份、流量方向精细分流与拦截,需合理选用表、链、模块并协同策略路由实现限流、标记与多出口分流。

如何利用 iptables 进行针对性的网络分流与拦截

iptables 不只是封端口或拦 IP 的工具,它能按连接特征、用户身份、流量方向做精细分流与拦截。关键在于选对表(mangle/nat/filter)、链(INPUT/OUTPUT/FORWARD)和匹配模块(如 owner、hashlimit、multiport),再配合标记(MARK)与策略路由协同工作。

按服务端口做精准限流拦截

针对高频访问或易被扫描的服务(如 SSH、MySQL、Web),用 hashlimit 模块限制单个源 IP 的新建连接速率,避免暴力尝试或慢速攻击:

  • 只匹配新连接:必须加 -m state --state NEW,否则会把 ACK、RST 等包也计入,导致正常会话中断
  • 按源 IP 分桶计数:用 --hashlimit-mode srcip,确保每个 IP 独立限流,不互相干扰
  • 设合理突发值:比如 --hashlimit-burst 8 配合 --hashlimit-above 3/min,允许短时重连但抑制持续探测
  • 白名单优先:在限流规则前插入 iptables -I INPUT -s 192.168.10.5 -j ACCEPT,保障运维通道畅通

按用户身份分流本地出站流量

在软路由或跳板机上,可区分不同用户的网络行为。例如让开发用户走代理,测试用户直连,运维用户走专线:

  • 在 mangle 表 OUTPUT 链中,用 owner 模块识别 UID:iptables -t mangle -A OUTPUT -m owner --uid-owner devuser -j MARK --set-mark 100
  • 创建自定义路由表(如 echo "100 devproxy" >> /etc/iproute2/rt_tables)
  • 添加策略路由:ip rule add fwmark 100 table devproxy,再配置该表的默认网关
  • 注意:owner 模块仅适用于本机发起的连接,不适用于转发或容器内进程

按目标端口或协议类型做应用层分流

虽然 iptables 是四层工具,但结合 multiport、string 或 protocol 模块,也能粗粒度区分应用流量:

  • 区分游戏与信令流量:PS4/PS5 的 RTMP 直播走 1935 端口,弹幕走 6667 端口,可用 -m multiport --dports 1935,6667 单独标记或转发
  • 拦截非标准端口扫描:对常见未开放端口(21、23、110、143)加 SYN 限速:-p tcp --syn -m multiport --dports 21,23,110,143 -m hashlimit --hashlimit-above 3/sec -j DROP
  • 避免七层误判:不建议用 string 匹配 HTTP 方法做限流,效率低且易绕过;这类需求更适合 Nginx 或应用层处理

结合策略路由实现多出口分流

当有多个代理通道(如 US/Singapore/HK 的 SOCKS 服务器)时,可将不同目的端口或 IP 段导向不同出口:

  • 用 DNAT 将本地端口映射到远端代理:iptables -t nat -A PREROUTING -p tcp --dport 12345 -j DNAT --to-destination us-server:10000
  • 用 TPROXY 或 REDIRECT 配合透明代理,再通过 fwmark 触发策略路由
  • 对局域网设备按 IP 分流:比如 PS4(192.168.88.100)所有非 1935/6667 流量打标,走 HK 通道;其余走 SG 通道
  • 注意链位置:PREROUTING 在路由决策前,OUTPUT 在本地进程发出后,选择错误会导致规则不生效
PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

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

相关专题

更多
Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

2025.10.13

1965

12

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

2025.11.04

268

21

Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

2025.10.13

1965

12

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

2025.11.04

268

21

墨刀AI提示词教学
墨刀AI提示词教学

本合集由PHP中文网精心整理,为您提供全面的墨刀AI提示词教学。内容涵盖高质量原型撰写公式与实操窍门,助您轻松掌握AI设计工具。无论是零基础入门还是进阶技巧,都能让您快速上手,大幅提升产品设计与协作效率。

2026.08.04

8

21

墨刀AI完整入门
墨刀AI完整入门

PHP中文网为您倾力打造墨刀AI保姆级入门指南完整版!本合集从零基础讲起,涵盖AI生成原型、提示词优化、图片转原型及多轮对话等核心功能。无论您是新手还是进阶用户,都能轻松掌握产品设计全流程。快来PHP中文网,一键解锁高效设计技巧,让想法即刻成型!

2026.08.04

3

20

墨刀AI进阶技巧
墨刀AI进阶技巧

本合集由PHP中文网精心整理,为您提供墨刀AI核心进阶策略指南。内容涵盖高效提示词写作、原型智能生成与微调、结构化导图制作及行业分析报告输出等实战技巧。助您轻松掌握AI设计工具,大幅提升产品设计与团队协作效率。

2026.08.04

7

14

火山引擎实名认证失败怎么办
火山引擎实名认证失败怎么办

火山引擎实名认证失败可能与证件信息填写错误、姓名或企业信息不一致、证件照片不清晰、营业执照状态异常、手机号验证失败或审核资料不完整有关。本专题整理个人认证、企业认证、资料上传、审核退回、重新提交和认证不通过的常见处理方法。

2026.08.04

4

10

火山引擎域名备案流程详解
火山引擎域名备案流程详解

火山引擎域名备案适合需要在火山引擎云服务器、对象存储、CDN或网站服务上绑定域名的用户参考。本专题整理备案入口、账号实名认证、备案类型选择、主体信息填写、网站信息提交、资料上传、初审核验、管局审核和备案失败排查,帮助用户完成网站上线前的备案流程。

2026.08.04

0

10

热门下载

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

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.4万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 131.8万人学习