讲师中心 微信公众号
AI工具推荐 视频效率加速

如何配置 Linux 防火墙策略实现灰度访问控制

冬墨姑娘_9990

冬墨姑娘_9990

发布时间:2026-07-01 12:42:34

|

638人浏览过

|

来源于php中文网

原创

Linux防火墙不原生支持灰度发布,但可通过iptables、firewalld或nftables实现基于IP/端口的流量分流:优先放行灰度用户(如指定IP段访问8080端口),再拦截其余流量,仅作入口层导流,灰度逻辑需由上层组件完成。

如何配置 linux 防火墙策略实现灰度访问控制

Linux 防火墙本身不原生支持“灰度发布”这类应用层概念,但可通过组合基础网络控制能力(IP/端口/协议匹配 + 规则优先级 + 动态加载),在流量入口层模拟灰度访问控制效果:即让部分用户(特定IP、IP段、端口或连接特征)提前访问新服务,其余流量仍走旧路径或被拦截。 关键思路是:**用防火墙规则实现“流量分流”,而非功能降级或AB测试逻辑本身**。真正灰度逻辑应在上层(如反向代理、服务网格)完成,防火墙只做第一层精准导流或拦截。 以下是实用配置方式,按工具分类说明:

基于 iptables 实现 IP 段灰度放行

适用于小规模、静态用户分组场景(如内网测试组先行):

先清空 INPUT 链默认策略(确保后续规则有序执行):

  • iptables -P INPUT ACCEPT(临时设为宽松,便于调试)
  • iptables -F INPUT(清空现有规则)

再按优先级插入灰度规则(iptables 规则从上到下匹配,顺序即策略):

  • 允许灰度IP段(如 192.168.10.0/24)访问新服务端口(如 8080):
    iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 8080 -j ACCEPT
  • 拒绝其他所有访问该端口的请求(兜底拦截):
    iptables -A INPUT -p tcp --dport 8080 -j DROP
  • 确保常规服务(如 80/443)仍开放:
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT

最后设置默认拒绝并保存:

  • iptables -P INPUT DROP
  • Debian/Ubuntu:iptables-save > /etc/iptables/rules.v4
  • RHEL/CentOS:service iptables save

用 firewalld 的 rich rule 做动态灰度组管理

适合需要频繁调整、配合脚本自动化运维的环境(如 CI/CD 流水线触发灰度开关):

firewalld 支持 rich rule 精确匹配,并可永久生效:

linux-sysadmin
linux-sysadmin

Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...

下载
  • 添加灰度组(如测试部门IP):
    firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.20.30.0/24" port port="8080" protocol="tcp" accept'
  • 屏蔽非灰度流量对新端口的访问:
    firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="8080" protocol="tcp" reject'
  • 重载生效:
    firewall-cmd --reload

后续可一键切换灰度范围:

  • 追加新IP:firewall-cmd --permanent --add-rich-rule='rule ... source address="10.20.31.5" ...'
  • 移除旧IP:firewall-cmd --permanent --remove-rich-rule='rule ... source address="10.20.30.100" ...'

结合 nftables 实现带状态的灰度连接控制

适合高并发、需关联连接上下文的场景(例如仅允许灰度用户建立新连接,但放行其已有会话):

nftables 规则更简洁,且原生支持 connection tracking:

  • 创建灰度表和链:
    nft add table ip gray
    nft add chain ip gray input { type filter hook input priority 0 \; }
  • 放行灰度IP的新连接:
    nft add rule ip gray input ip saddr 172.16.0.0/16 tcp dport 8080 ct state new accept
  • 放行灰度IP的已有连接(保障体验连续):
    nft add rule ip gray input ip saddr 172.16.0.0/16 ct state established,related accept
  • 拒绝其他所有 8080 连接:
    nft add rule ip gray input tcp dport 8080 drop
  • 导入到主过滤链:
    nft insert rule ip filter input jump gray input

规则持久化只需保存当前规则集:
nft list ruleset > /etc/nftables.conf,开机自动加载。

注意事项与边界提醒

防火墙灰度有明确局限,务必注意:

  • 它只控制“能否建立连接”,不处理请求内容、Header、Cookie 或业务标识——真正的用户级灰度需由 Nginx、Envoy 或应用代码实现
  • IP 可伪造或变动,生产环境慎用纯 IP 灰度;建议与内网DNS切流、负载均衡标签路由配合使用
  • 所有修改前执行 iptables -L -n -v 或 firewall-cmd --list-all 备份现状;误操作可能导致SSH断连,建议预留console或带外管理通道
  • 灰度窗口期结束后,及时清理规则,避免残留策略影响后续发布

热门AI工具

更多
讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

相关专题

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

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

4185

2025.10.13

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

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

375

2025.11.04

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

3710

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3213

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2293

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

5490

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

5162

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3073

2023.07.20

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

160

2026.09.23

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn