Cisco路由器ACL配置全解析:从基础原理到实战避坑指南
1. 项目概述为什么ACL是网络工程师的“守门员”搞网络运维或者安全的朋友对Cisco路由器的ACL访问控制列表肯定不陌生。它就像是你网络边界的“守门员”决定哪些数据包可以进哪些必须拦在外面。而access-list命令就是配置这个守门员的核心工具。别看这条命令语法看起来简单真正用起来里面的门道可多了。配置得好网络既安全又通畅配置得不好轻则业务中断重则安全防线形同虚设。今天我就结合自己踩过的坑和实战经验把access-list命令从基础到进阶掰开揉碎了讲清楚特别是那些官方文档里不会明说但又至关重要的细节。2. ACL基础概念与设计思路拆解在动手敲命令之前我们必须先理解ACL的工作原理和设计逻辑。这决定了你配置的ACL是精准的手术刀还是伤及无辜的“大砍刀”。2.1 ACL的核心工作原理包过滤的逻辑ACL本质上是一组按顺序排列的规则rule。当路由器检查一个数据包时会从ACL的第一条规则开始逐条进行匹配。一旦找到匹配的规则就立刻执行该规则定义的动作允许permit或拒绝deny并且停止继续向下匹配。如果数据包与所有规则都不匹配那么在ACL的末尾会有一个隐式的、拒绝所有的规则生效。这个“首次匹配即停止”和“末尾隐式拒绝所有”的原则是理解ACL行为的基础。注意这个隐式拒绝意味着如果你创建了一个ACL但里面只有permit规则那么所有未被这些permit规则匹配到的流量都会被默认拒绝。很多新手在配置“只允许特定流量”的ACL时忘记了这个原则导致其他必要流量被阻断。2.2 标准ACL与扩展ACL的选型考量Cisco路由器主要使用两种ACL标准ACL和扩展ACL。选哪种不是随机的而是有明确的最佳实践。标准ACL (Standard ACL)匹配依据仅根据源IP地址进行匹配。编号范围1-99 1300-1999。设计思路因为只关心数据包从哪里来所以它的控制粒度很粗。通常用于“信任某个网络”这种场景。比如你只想禁止某个特定子网访问互联网而不关心它访问什么服务。部署位置原则由于它只识别源地址为了不影响其他流量的正常转发标准ACL应该被应用在尽可能靠近目的设备的地方。如果放在离源太近的地方可能会过度限制该源地址去往其他目的地的流量。扩展ACL (Extended ACL)匹配依据可以根据源IP地址、目的IP地址、协议类型IP、TCP、UDP、ICMP等、源端口号、目的端口号进行精细匹配。编号范围100-199 2000-2699。设计思路这是最常用的ACL类型可以实现非常精细的策略。例如“只允许财务部的IP访问服务器的TCP 3389端口远程桌面”。部署位置原则扩展ACL应该被应用在尽可能靠近源设备的地方。这样不需要的流量在进入网络核心之前就被丢弃节省了带宽和核心设备的处理资源。这是一种“早丢弃”的优化思想。简单来说标准ACL管“谁”不能来部署在目的地附近扩展ACL管“谁”不能访问“哪里”的“什么服务”部署在源头附近。2.3 命名ACL vs 编号ACL现代网络的选择早期ACL都用编号如access-list 10。现在更推荐使用命名ACL。优势直观名字可以描述功能如ACL_OFFICE_TO_SERVER比access-list 101好懂得多。灵活编辑编号ACL一旦创建只能整体删除再重建。命名ACL支持插入或删除单条规则维护起来方便太多。更多协议支持命名ACL可以用于除了IP之外的其他协议如IPX。除非维护非常老的设备否则在新项目中一律建议使用命名ACL。3.access-list命令语法深度解析与实操要点理解了设计思路我们来看具体的命令。这里我会把每个参数背后的逻辑和容易出错的地方讲透。3.1 标准ACL命令详解基本语法access-list 1-99|1300-1999 {permit | deny} {source-address source-wildcard | any} [log]permit | deny动作。务必想清楚这条规则是放行还是拒绝。source-address source-wildcard这是核心难点。source-wildcard是通配符掩码不是子网掩码子网掩码1代表网络位0代表主机位。255.255.255.0。通配符掩码0代表需要精确匹配的位1代表“不关心”可以任意的位。0.0.0.255。转换技巧将子网掩码的每一位取反0变11变0就得到了通配符掩码。例如子网192.168.1.0/24子网掩码255.255.255.0通配符掩码就是0.0.0.255。host关键字匹配单个主机。host 192.168.1.1等价于192.168.1.1 0.0.0.0。any关键字匹配任何地址。等价于0.0.0.0 255.255.255.255。[log]可选参数。匹配该规则的数据包信息会被记录到路由器的日志中控制台或系统日志服务器用于监控和排错。注意频繁匹配的规则加log可能会对CPU造成压力。示例1允许特定子网拒绝其他所有。! 创建一个编号为10的标准ACL access-list 10 permit 192.168.1.0 0.0.0.255 ! 允许192.168.1.0/24网段 ! 注意这里没有写 deny any因为末尾有隐式拒绝所有示例2命名标准ACL。ip access-list standard ACL_STANDARD_DEMO permit host 10.1.1.100 ! 允许单个主机 deny 10.2.0.0 0.0.255.255 ! 拒绝整个10.2.0.0/16网段 permit any ! 允许其他所有这会覆盖末尾的隐式拒绝3.2 扩展ACL命令详解扩展ACL语法复杂得多功能也强大得多。我们拆开来看。基本语法框架access-list 100-199|2000-2699 {permit | deny} {protocol} {source} {destination} [operator port] [established] [log]protocol指定协议。常见的有ip匹配所有IP流量最宽泛。tcp匹配TCP流量通常需要指定端口。udp匹配UDP流量通常需要指定端口。icmp匹配ICMP流量如ping。gre匹配GRE隧道协议等。{source}和{destination}源和目的的定义。格式和标准ACL一样可以是地址 通配符掩码、host或any。[operator port]端口操作符仅用于TCP/UDP协议。eq等于。如eq 80(HTTP)eq 443(HTTPS)eq 23(Telnet)。lt小于。gt大于。range范围。如range 20 21(FTP数据和控制端口)。端口可以用数字也可以用名称如www,ftp但建议用数字更通用。[established]一个极其重要的参数用于状态化过滤。它只用于TCP协议。配置了established的规则只匹配那些TCP报头中ACK或RST标志位被设置为1的数据包。这通常用于允许内部主机发起的会话的返回流量。场景你从内网(192.168.1.0/24)访问外网的Web服务器。你发起连接的第一个SYN包目的端口是80。服务器回复的SYN-ACK包源端口是80且ACK1。如果没有established规则你需要写一条permit tcp any any eq 80这就太危险了等于对外开放了80端口。而用established你可以写permit tcp any 192.168.1.0 0.0.0.255 established这样只允许外部对内部已建立连接的回复流量进来外部无法主动向内部80端口发起新连接。这是实现单向访问的关键。示例3一个经典的扩展ACL配置。假设我们要保护一台内网服务器(10.1.1.100)策略是允许任何IP访问该服务器的HTTP(80)和HTTPS(443)服务。只允许内网管理网段(172.16.1.0/24)通过SSH(22)管理该服务器。允许该服务器向外发起DNS查询(UDP 53)和HTTP/HTTPS请求。允许外部对内部发起的Ping回应(ICMP Echo-Reply)。拒绝其他所有流量。! 创建一个编号为110的扩展ACL access-list 110 permit tcp any host 10.1.1.100 eq 80 ! 规则1允许任何来源访问Web access-list 110 permit tcp any host 10.1.1.100 eq 443 ! 规则1允许任何来源访问HTTPS access-list 110 permit tcp 172.16.1.0 0.0.0.255 host 10.1.1.100 eq 22 ! 规则2只允许管理网段SSH access-list 110 permit udp host 10.1.1.100 any eq 53 ! 规则3允许服务器向外发DNS查询 access-list 110 permit tcp host 10.1.1.100 any eq 80 ! 规则3允许服务器访问外部Web access-list 110 permit tcp host 10.1.1.100 any eq 443 ! 规则3允许服务器访问外部HTTPS access-list 110 permit icmp any host 10.1.1.100 echo-reply ! 规则4允许Ping回应进来 ! 注意这里没有写 deny ip any any因为末尾有隐式拒绝所有示例4使用命名扩展ACL实现相同策略并展示编辑灵活性。! 进入命名ACL配置模式 ip access-list extended ACL_PROTECT_SERVER permit tcp any host 10.1.1.100 eq www permit tcp any host 10.1.1.100 eq 443 permit tcp 172.16.1.0 0.0.0.255 host 10.1.1.100 eq 22 permit udp host 10.1.1.100 any eq domain permit tcp host 10.1.1.100 any eq www permit tcp host 10.1.1.100 any eq 443 permit icmp any host 10.1.1.100 echo-reply ! 假设后来发现需要允许服务器访问外部SMTP(25)发邮件 ! 在命名ACL中可以指定行号插入。例如在permit icmp行前插入 15 permit tcp host 10.1.1.100 any eq smtp ! 如果发现某条规则配错了可以直接用 no 加行号删除 no 10 ! 删除第10行假设第一条permit tcp eq www是第10行4. ACL的部署、应用与验证全流程配置好ACL规则只是第一步把它应用到正确的接口和方向上才是让它生效的关键。4.1 应用ACL到接口ip access-group命令语法interface interface-type interface-number ip access-group {acl-number | acl-name} {in | out}in | out方向这是另一个容易混淆的点。inACL对进入该接口的数据包进行过滤。数据包的目的地可能是路由器本身也可能是要通过路由器转发的。outACL对离开该接口的数据包进行过滤。这些数据包是已经由路由器路由决策后准备从这个接口发送出去的。选择原则根据之前的标准/扩展ACL部署原则来选择方向。通常扩展ACL应用在离源近的接口的in方向标准ACL应用在离目的近的接口的out方向。实操示例假设路由器R1的GigabitEthernet0/0连接内网(192.168.1.0/24)GigabitEthernet0/1连接外网。我们要用扩展ACL限制内网只能访问外网的Web和DNS。! 配置ACL ip access-list extended ACL_LAN_TO_WAN permit udp 192.168.1.0 0.0.0.255 any eq 53 ! 允许DNS查询 permit tcp 192.168.1.0 0.0.0.255 any eq 80 ! 允许HTTP permit tcp 192.168.1.0 0.0.0.255 any eq 443 ! 允许HTTPS deny ip any any log ! 拒绝并记录其他所有IP流量注意这里显式写了deny any anylog会记录被拒绝的尝试 ! 应用到内网接口的入方向靠近源 interface GigabitEthernet0/0 ip access-group ACL_LAN_TO_WAN in4.2 验证与排错命令配置完后一定要验证。最常用的命令show access-lists或show ip access-list [acl-name | acl-number]显示所有或指定ACL的配置内容和匹配计数器。计数器是排错的金钥匙show ip access-list ACL_LAN_TO_WAN输出中每条规则前面的匹配次数会告诉你流量是否按预期匹配了规则。show ip interface interface-type interface-number查看指定接口上应用了哪些ACL以及方向。在输出中查找Outgoing access list和Inbound access list字样。clear access-list counters [acl-name | acl-number]清除指定ACL的匹配计数器。在修改ACL或进行新的测试前清除计数器可以让你看到最新的匹配情况。4.3 高级特性基于时间的ACLACL可以和time-range结合实现基于时间的访问控制。这在办公网下班后断网、或仅允许在维护窗口访问特定设备时非常有用。配置步骤定义时间范围。! 定义一个名为WORK_HOURS的时间范围工作日的9点到18点 time-range WORK_HOURS periodic weekdays 9:00 to 18:00 ! 也可以定义绝对时间 time-range MAINT_WINDOW absolute start 00:00 1 May 2024 end 06:00 1 May 2024在ACL规则中引用时间范围。ip access-list extended ACL_TIME_BASED permit ip 192.168.1.0 0.0.0.255 any time-range WORK_HOURS deny ip any any log ! 非工作时间所有流量被拒绝因为上一条规则只在工作时间生效应用ACL到接口。路由器会根据系统时间自动启用或禁用对应规则。5. 常见问题、排错技巧与最佳实践实录这里分享的全是实战中血泪换来的经验。5.1 典型问题排查清单问题现象可能原因排查思路与命令流量完全被阻断1. ACL末尾的隐式拒绝所有生效。2. ACL应用在了错误的方向。3. 规则顺序错误流量被前面的deny规则匹配。1.show access-lists查看计数器看流量匹配到了哪条规则。2.show ip interface确认ACL应用在正确的接口和方向。3. 检查规则逻辑特别是通配符掩码是否计算正确。部分流量异常1. 规则太宽泛或太严格。2. 忘记了相关协议或端口如DNS用UDP 53但可能也用到TCP 53。3. 没有放行必要的控制平面流量如路由协议OSPF、EIGRP的组播地址。1. 在ACL末尾添加一条permit ip any any log临时放行所有并记录看日志里被拒绝的流量是什么针对性调整规则。2. 使用debug ip packet detail acl-number命令生产环境慎用可能打满CPU查看详细包处理过程。ACL修改不生效1. 对于编号ACL修改需要先no掉整个ACL重新配置。2. 新添加的规则被放在末尾但被前面的规则优先匹配了。1. 尽量使用命名ACL支持单条编辑。2. 使用 show run路由器性能下降ACL规则过多、过于复杂或在高流量接口上应用了带log的规则。1. 优化ACL合并规则使用地址聚合。2. 移除不必要的log关键字或将其移至匹配频率较低的规则上。3. 考虑使用硬件加速如果设备支持。5.2 核心避坑指南与最佳实践规则顺序是生命线把最具体、最常用的规则放在最前面把最宽泛的规则放在后面。例如先放行特定主机对特定服务的访问再放行整个网段最后是拒绝所有。这能提高匹配效率。显式拒绝优于隐式拒绝在ACL末尾显式地写一条deny ip any any或deny ip any any log。这不仅是良好的文档习惯更重要的是你可以为这条总拒绝规则添加log监控所有未被明确允许的访问尝试这是重要的安全审计信息。测试测试再测试在将ACL应用到生产环境前一定要在测试环境或维护窗口进行充分测试。可以先在接口上应用ACL并在末尾加上permit ip any any然后通过show access-lists观察流量匹配情况验证规则是否按预期工作再移除临时的permit any规则。注意“允许建立连接的返回流量”这是防火墙策略的核心。对于内部发起的会话一定要在ACL中允许外部返回的流量。使用established关键字针对TCP或明确允许相关ICMP类型如echo-reply是实现这一点的关键。一个常见的错误是只配置了内到外的规则导致外部回包被拒连接无法建立。考虑路由器的自身流量ACL应用在接口的in方向时会过滤目的地是路由器自身管理IP的流量。如果你想通过Telnet/SSH管理路由器必须在ACL中放行去往路由器接口IP的相应端口。更好的做法是使用control-plane策略来管理路由器自身的流量与数据转发流量分开。文档化为每个命名ACL起一个描述性的名字并在配置旁边用注释!说明其用途和部署位置。时间久了你会感谢自己做了这件事。ACL是网络工程师工具箱里最基础也最强大的工具之一。它不复杂但需要严谨的逻辑和细致的测试。掌握access-list命令的每一个细节理解流量过滤的底层逻辑你就能为网络构建起第一道可靠的安全防线。每次配置ACL时多问自己一句“这条规则会不会挡住不该挡的又放过了不该放的” 想清楚了再敲回车。

相关新闻

Nginx 504超时故障深度排查:从配置优化到阿里云环境实战

Nginx 504超时故障深度排查:从配置优化到阿里云环境实战

1. 问题定位:当Nginx抛出504 Gateway Time-out时,到底发生了什么?如果你在阿里云服务器上部署了Nginx作为反向代理或Web服务器,大概率遇到过这个令人头疼的页面:“504 Gateway Time-out”。这个错误的核心信息是“The …

2026/8/18 7:54:43 阅读更多 →
CTF新手入门:从零构建解题者思维与实战工作流

CTF新手入门:从零构建解题者思维与实战工作流

上周,一个刚入行的朋友发来一条消息,问我:“CTF到底该怎么学?网上教程一堆,有的让直接刷题,有的让先学Python,还有的说必须懂汇编。我跟着学了两天,感觉像在打地鼠,东一榔…

2026/8/18 7:54:43 阅读更多 →
Flutter与HarmonyOS双端开发实践:共享社区应用架构设计

Flutter与HarmonyOS双端开发实践:共享社区应用架构设计

1. 共享社区场景下的双端开发挑战 在共享经济蓬勃发展的今天,社区资源共享平台已成为连接居民闲置物品与需求的重要纽带。这类应用通常需要同时覆盖Android和iOS两大主流移动平台,而随着HarmonyOS生态的崛起,三端兼容的需求变得更加迫切。作为…

2026/8/18 7:54:43 阅读更多 →

最新新闻

【单片机课程设计/毕业设计】基于 STM32 或 51 单片机的 AD0832 模数转换红外测距系统设计 基于单片机的按键阈值配置红外距离检测装置设计(020103)

【单片机课程设计/毕业设计】基于 STM32 或 51 单片机的 AD0832 模数转换红外测距系统设计 基于单片机的按键阈值配置红外距离检测装置设计(020103)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/18 8:59:21 阅读更多 →
STM32 GPIO引脚介绍

STM32 GPIO引脚介绍

本文以 STM32F103 系列为例介绍 GPIO。不同 STM32 系列的总线连接和寄存器配置可能有所差异。##1.GPIO简介:GPIO(General Purpose Input Output)通用输入输出口 可配置为8种输入输出模式 引脚电平:0V~3.3V,部分引脚可容…

2026/8/18 8:59:21 阅读更多 →
腾讯workbuddy助力完成实例迁移

腾讯workbuddy助力完成实例迁移

很多玩过autodl的小伙伴一定有种焦虑,就是15天后实例就会被释放。当然有人可能会说,每次登陆的时候无卡模式开机一次不就好了,当然可以,不过我本次分享的不是这种方法,而是实例迁移。我原本准备第二天早上学习B站的视频…

2026/8/18 8:59:21 阅读更多 →
训练免费!ReflexTrack:基于反馈驱动的零样本视频目标分割新范式

训练免费!ReflexTrack:基于反馈驱动的零样本视频目标分割新范式

1. 项目概述:当AI学会“看图说话”与“指哪打哪” 最近在计算机视觉的圈子里,一个老问题又有了新解法,那就是“Referring Video Object Segmentation”,简称RVOS。这名字听起来有点拗口,但说白了,就是让AI在…

2026/8/18 8:59:21 阅读更多 →
从高速碰撞事故看电动车安全设计:能量管理与系统冗余的边界挑战

从高速碰撞事故看电动车安全设计:能量管理与系统冗余的边界挑战

1. 从一起事故看车辆安全设计的边界 最近,一起涉及某品牌电动车的交通事故再次引发了公众对汽车安全,特别是电动车安全性的广泛讨论。事故的初步信息显示,车辆在高速状态下撞击了道路上的障碍物,随后发生了起火。每当这类事件发生…

2026/8/18 8:59:21 阅读更多 →
RAG 有引用,为什么答案仍然可能错?

RAG 有引用,为什么答案仍然可能错?

技术专题 / 企业级 AI 基础设施 从“引用存在”到“证据支持结论”,拆解企业知识库和智能体的事实 grounding 问题 核心检索词:RAG、企业知识库、知识库问答、企业 Agent、引用溯源、事实 grounding、向量检索、幻觉治理 “答案后面有文档引用&#…

2026/8/18 8:58:20 阅读更多 →

日新闻

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 如果你还停留在"看网课 不停暂停 截图 …

2026/8/18 0:00:57 阅读更多 →
思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 你是不是也经历过这种时刻:设计稿里…

2026/8/18 0:00:58 阅读更多 →
华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, …

2026/8/18 0:00:59 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/17 2:58:27 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/17 2:58:30 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/17 2:58:32 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →