news 2026/6/25 20:00:01

Packet Tracer中ACL在路由器上的应用示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Packet Tracer中ACL在路由器上的应用示例

用Packet Tracer玩转路由器ACL:从“通不通”到“谁能让它通”的实战指南

你有没有遇到过这种情况:网络明明是通的,但就是不能访问某个服务器?或者两台主机在一个局域网里,却要互相限制访问?别急——这可能不是线路问题,而是访问控制策略在起作用。

在真实企业网络中,我们不会让所有设备“想连就连”。为了安全和管理需要,必须对流量进行精细化管控。而实现这一目标最基础、也最关键的工具之一,就是ACL(Access Control List,访问控制列表)

今天我们就以Cisco Packet Tracer为实验平台,带你亲手搭建一个典型的小型企业网络拓扑,一步步配置标准ACL和扩展ACL,搞清楚“为什么我能上网页,他就不行”。


先问一个问题:ACL到底是个啥?

简单说,ACL就是路由器上的“门卫”。

当你发一个数据包,比如想打开网页,这个包会经过路由器。这时候,ACL就会站出来问:“你是谁?要去哪儿?干什么?”然后根据预先设定的规则决定——放行,还是直接拦下。

它不改数据内容,也不做路由选择,但它能决定这个包能不能通过

在Packet Tracer里,你可以一边拖设备、连线缆,一边敲命令行,还能打开“模拟模式”亲眼看着数据包被“放行”或“丢弃”,简直是学习ACL的黄金组合。


场景设定:一家小公司的网络需求

假设我们有一家小公司,内部有两组员工:

  • 销售部:使用192.168.1.0/24网段(PC1)
  • 研发部:使用192.168.2.0/24网段(PC2)

他们共享一台对外的Web服务器(IP:209.165.200.226),但这台服务器很敏感,只允许销售部访问,禁止研发部触碰。

同时,任何其他外部请求一律拒绝。

怎么实现?靠嘴说不行,得靠ACL来执行策略。


第一步:动手搭环境(拓扑结构)

Packet Tracer中搭建如下结构:

[PC1] —— Switch1 —— \ [Router R1] —— [Server] / [PC2] —— Switch2 ——

接口分配:
- PC1 接 R1 的 G0/0
- PC2 接 R1 的 G0/1
- Server 接 R1 的 G0/2

各设备IP配置示例:

设备IP地址子网掩码默认网关
PC1192.168.1.10255.255.255.0192.168.1.1
PC2192.168.2.10255.255.255.0192.168.2.1
Server209.165.200.226255.255.255.224209.165.200.225
R1-G0/0192.168.1.1/24-
R1-G0/1192.168.2.1/24-
R1-G0/2209.165.200.225/27-

✅ 提示:记得给R1配置静态路由或启用RIP,确保全网互通。否则连基本通信都没有,谈何过滤?


方案一:用标准ACL实现粗粒度过滤

标准ACL的特点一句话总结:

只看“你是谁”(源IP),不管你要去哪、干啥。

它的编号范围是1–991300–1999

需求拆解:

我们要阻止192.168.2.0/24(研发部)访问服务器,可以考虑在靠近目标的位置设置规则。

所以,把ACL放在R1的G0/2出口是合理的——所有去往服务器的流量都得从这儿过。

配置命令来了:
Router> enable Router# configure terminal Router(config)# access-list 1 deny 192.168.2.0 0.0.0.255 Router(config)# access-list 1 permit any Router(config)# interface gigabitEthernet 0/2 Router(config-if)# ip access-group 1 out
解释一下关键点:
  • access-list 1 deny 192.168.2.0 0.0.0.255
    拒绝来自研发部的数据包。

  • permit any
    放行其他所有人(包括销售部)。注意:虽然末尾有“隐式deny any”,但我们显式写了permit any,意味着前面没匹配的都会被放行。

  • ip access-group 1 out
    把ACL应用到G0/2接口的出站方向。也就是说,是从路由器往外发往服务器的流量才会被检查。

测试验证:
  • PC1(销售部) → 能ping通Server,也能访问HTTP服务 ✅
  • PC2(研发部) → ping不通,网页打不开 ❌

搞定!看似成功了?

等等……这里有个大坑!

⚠️ 标准ACL的致命弱点:位置太关键!

因为标准ACL只能识别源IP,一旦部署不当,会造成误伤。

举个例子:如果我把这条ACL放在G0/1接口的in方向(即PC2进来的入口),会发生什么?

答案是:它只会控制从PC2发出的流量,但无法区分这些流量是要去内网打印机,还是去外网服务器!

也就是说,我不仅拦住了对服务器的访问,还可能顺手把PC2访问其他合法资源的路也堵死了。

这就是所谓的“控制粒度太粗”。

因此,标准ACL的最佳实践是:尽量靠近目标部署,减少副作用。

但即便如此,它依然不够精准。有没有更好的办法?

当然有——上扩展ACL


方案二:用扩展ACL实现精准打击

扩展ACL一句话概括:

我不仅知道你是谁,还知道你要去哪、用什么协议、访问哪个端口。

这才是真正的“五元组”级控制:源IP、目的IP、协议类型、源端口、目的端口。

它的编号范围是100–1992000–2699

回到我们的需求:

只允许销售部访问服务器的HTTP服务(TCP 80),其他一切拒绝。

这次我们可以更灵活地部署——建议靠近源端,防止无效流量进入核心网络。

比如,在R1的G0/1接口上应用入站ACL,直接挡住研发部的非法请求。

配置命令如下:
Router(config)# access-list 101 permit tcp 192.168.1.0 0.0.0.255 host 209.165.200.226 eq 80 Router(config)# access-list 101 deny ip any any Router(config)# interface gigabitEthernet 0/1 Router(config-if)# ip access-group 101 in
逐行解析:
  • access-list 101 permit tcp ... eq 80
    允许销售部(192.168.1.0/24)通过TCP协议访问服务器(host 209.165.200.226)的80端口。

  • eq 80表示“等于80端口”,常见缩写还有:

  • eq www→ 同样指80
  • gt 1023→ 大于1023的端口
  • range 20 21→ FTP端口范围

  • deny ip any any
    明确拒绝所有其他IP流量。虽然这是默认行为,但写出来更清晰。

  • ip access-group 101 in
    应用于G0/1接口的入站方向,即从研发部进来的流量先过筛子。

效果如何?
  • 销售部(PC1):能正常访问Web服务 ✅
  • 研发部(PC2):完全无法访问服务器 ❌
  • 如果PC2尝试访问其他内网资源?不影响!因为ACL只作用于G0/1接口且规则明确。

这才是真正的“最小权限原则”:只开放必要的服务。


ACL工作原理深度剖析:三条铁律

无论标准还是扩展ACL,都有三个必须牢记的核心机制:

1. 自上而下匹配,命中即停

ACL里的规则是一条一条往下走的。一旦某条规则匹配成功,立刻执行permitdeny,后面的规则不再查看。

所以顺序非常重要!

错误示例:

access-list 101 deny ip any any access-list 101 permit tcp 192.168.1.0 0.0.0.255 host 209.165.200.226 eq 80

第一条就把所有流量拒了,第二条根本没机会执行!白配!

✅ 正确做法:具体规则在前,泛化规则在后。

2. 隐式拒绝(implicit deny)

每条ACL末尾都藏着一条看不见的规则:

deny any

即使你没写,它也在那儿。

这意味着:如果你只写了允许某些流量,剩下的都会被自动拒绝。

这也是为什么很多初学者发现“明明没禁止别人,怎么也连不上?”——其实是被这条隐藏规则挡了。

3. 每个接口每个方向只能绑定一个ACL

一个接口的in方向只能挂一个ACL,out方向也只能挂一个。

但你可以同时应用两个方向的ACL,例如:

ip access-group 101 in ip access-group 102 out

实战技巧与避坑指南

🛠 技巧1:善用“模拟模式”看清数据流向

在Packet Tracer中切换到Simulation Mode,点击PC上的Web浏览器,你会看到数据包一步一步传输的过程。

当数据包到达路由器时,如果被ACL拒绝,状态会变成红色,并提示“ACL denied”。

这种可视化反馈,比反复ping还直观得多。

🛠 技巧2:用命名ACL提升可读性

编号ACL容易混淆,尤其规则多了以后记不住是干啥的。

推荐进阶使用命名ACL

ip access-list extended ALLOW_SALES_WEB permit tcp 192.168.1.0 0.0.0.255 host 209.165.200.226 eq 80 deny ip any any

名字自带注释功能,团队协作时特别有用。

🛠 技巧3:别忘了日志功能(可选)

加上log关键字,可以让路由器记录ACL匹配事件:

access-list 101 deny ip any any log

配合logging on命令,可以在控制台看到类似:

%SEC-6-IPACCESSLOGP: list 101 denied ip 192.168.2.10 -> 209.165.200.226 (0 packets)

这对排查问题很有帮助。


总结:从“通”到“控”的跨越

通过这个案例,你应该已经体会到:

  • 标准ACL像一把大锤,适合快速隔离整个子网;
  • 扩展ACL像一把手术刀,能精确切断特定服务的访问路径;
  • Packet Tracer就是你练手的最佳沙箱——不用砸钱买设备,也能体验真实网络世界的攻防逻辑。

掌握ACL,意味着你不再只是“让网络通起来”的人,而是开始思考“谁该通、谁不该通”的策略制定者。

下一步你可以挑战更复杂的场景:
- 结合时间范围实现“上班时间才能上网”
- 在VLAN间应用ACL控制部门互访
- 与NAT、QoS联动构建综合策略

这些高级技能,都是从今天这一小步开始的。

💬 最后提醒一句:在Packet Tracer里多试几次没关系,但在真实网络中改ACL之前,请务必确认规则无误,最好备份当前配置。毕竟,一不小心把自己远程断开了,那就尴尬了……

现在,打开你的Packet Tracer,动手试试吧!如果你在配置过程中遇到问题,欢迎留言交流。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 1:44:07

APIKit 终极指南:从零开始构建类型安全的网络请求

APIKit 终极指南:从零开始构建类型安全的网络请求 【免费下载链接】APIKit Type-safe networking abstraction layer that associates request type with response type. 项目地址: https://gitcode.com/gh_mirrors/ap/APIKit APIKit 是一个强大的类型安全网…

作者头像 李华
网站建设 2026/6/16 6:42:55

学长亲荐9个AI论文软件,助你搞定本科生毕业论文!

学长亲荐9个AI论文软件,助你搞定本科生毕业论文! AI 工具如何帮你轻松应对论文写作难题 在如今的学术环境中,AI 工具已经成为许多本科生撰写毕业论文时的重要助手。从内容生成到格式调整,再到降重处理,这些工具不仅提升…

作者头像 李华
网站建设 2026/6/21 11:33:44

突破性视觉语言模型:重新定义人机交互体验

突破性视觉语言模型:重新定义人机交互体验 【免费下载链接】Qwen3-VL-8B-Thinking 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Qwen3-VL-8B-Thinking 在人工智能技术飞速发展的今天,视觉语言模型正成为连接数字世界与现实世界的桥梁。…

作者头像 李华
网站建设 2026/6/20 14:40:40

终极指南:如何用CRIU快速实现Linux应用状态冻结与恢复

终极指南:如何用CRIU快速实现Linux应用状态冻结与恢复 【免费下载链接】criu Checkpoint/Restore tool 项目地址: https://gitcode.com/gh_mirrors/cr/criu 在当今云计算和容器化技术蓬勃发展的时代,Linux应用冻结技术成为了系统管理员和开发者的…

作者头像 李华
网站建设 2026/6/7 0:35:23

SegMap:重新定义机器人3D段映射的未来

SegMap:重新定义机器人3D段映射的未来 【免费下载链接】segmap A map representation based on 3D segments 项目地址: https://gitcode.com/gh_mirrors/se/segmap SegMap是一个革命性的开源项目,它基于3D段构建地图表示系统,为机器人…

作者头像 李华
网站建设 2026/6/19 21:23:54

Shotcut视频元数据批量处理终极指南:一键自动化解决方案

Shotcut视频元数据批量处理终极指南:一键自动化解决方案 【免费下载链接】shotcut cross-platform (Qt), open-source (GPLv3) video editor 项目地址: https://gitcode.com/gh_mirrors/sh/shotcut 在视频编辑工作流中,元数据管理往往是最容易被忽…

作者头像 李华