微信优化

weixinyouhua

访问控制列表配置命令

2026-08-28 10:10:26

访问控制列表(ACL)配置命令,本质就是给网络设备下发一套“允许谁走、拦下谁”的规则表,核心结论是:只要掌握access-list(思科系)和acl(华为/H3C系)两条命令体系,再配合接口下的调用语句,你就能在十分钟内完成一台企业级交换机或路由器的基本流量管控。这套命令并不神秘,它只是把“源地址、目的地址、端口号、动作”四个要素组合成一句话,设备逐行匹配后执行放行或丢弃。

ACL配置命令的核心语法拆解

很多网络新手拿到ACL配置命令第一反应是去背参数,这其实是弯路,ACL命令的设计逻辑很直白:先建规则,再应用到接口,所有厂商都是这个套路。

思科系设备的标准配置命令

思科(Cisco)的ACL配置命令分编号式和命名式两种,其中编号式使用频率较高。

  • 标准ACL配置命令:access-list 10 permit 192.168.1.0 0.0.0.255
  • 扩展ACL配置命令:access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 80
  • 编号范围另有门道:标准ACL编号1-99,扩展ACL编号100-199,2000-2699则属于扩展范围,如果记混了,设备会直接报错。

配置命令里那串“0.0.0.255”不是子网掩码,而是通配符位。0代表严格匹配,255代表忽略,也就是只匹配前24位,这个细节容易让不少人踩坑,因为如果写成255.255.255.0,设备会直接拒绝这条ACL配置命令。

华为与H3C系设备的配置命令写法

华为与H3C的ACL配置命令使用acl关键字,语法逻辑区别不大,但命名规则更紧凑。

  • 创建基本ACL配置命令:acl number 2000
  • 创建高级ACL配置命令:acl number 3000
  • 在ACL视图内写规则:rule 5 permit source 192.168.1.0 0.0.0.255
  • 应用在接口上的命令:traffic-filter inbound acl 2000

华为系设备的基本ACL(2000-2999)只能匹配源地址,高级ACL(3000-3999)才能匹配协议和端口,这个限制让不少人吃过亏,比如想在基本ACL里拦HTTP流量,配置命令写进去,设备提示“参数错误”,换成高级ACL立即解决。

华为交换机ACL配置命令详解:从入站到出站的实战思路

行业共识认为,配置ACL的关键不只是记住命令,而是搞清楚流量方向和调用位置,有人问“华为交换机ACL配置命令详解”这类问题时,通常会想找一份能直接抄的作业,下面给出一个可落地的完整过程。

假设场景:公司研发部在VLAN 10(192.168.10.0/24),服务器区在192.168.100.0/24,老板要求研发部只能访问服务器的80和443端口,其他网段不能访问研发部。

访问控制列表配置命令

第一步,创建高级ACL:

system-view
acl number 3001
rule 5 permit tcp source 192.168.10.0 0.0.0.255 destination 192.168.100.0 0.0.0.255 destination-port eq 80
rule 10 permit tcp source 192.168.10.0 0.0.0.255 destination 192.168.100.0 0.0.0.255 destination-port eq 443
rule 15 deny ip

第二步,把ACL绑定到接口的入方向:

interface GigabitEthernet0/0/1
traffic-filter inbound acl 3001

这里有两个容易忽略的细节:规则编号(rule 5/10/15)默认步长是5,后续插入新规则时不用重排,直接用中间编号,ACL默认末尾隐藏一条deny all,所以最后那条rule 15 deny ip其实是可写可不写的,写上的好处是让规则意图更清晰。

华为ACL配置命令怎么用才能避免方向错误

方向选错在实战中太常见了,配置命令本身没问题,效果却完全反了。

  • inbound方向:过滤从外部进入接口的流量,适合放在靠近终端一侧的接口。
  • outbound方向:过滤从接口发出去的流量,适合放在靠近服务器一侧的接口。
  • 如果同时设置双向过滤,inbound先匹配,通过的流量才有资格匹配outbound,两个方向是串行关系,不是并行。

Cisco与H3C的ACL配置命令对比:选型时你需要知道的事

问“Cisco与H3C的ACL配置命令对比”的人,多半是在做设备选型或交叉维护,两者语法风格差异不大,但细节上各有习惯。

对比项 思科(Cisco) 华为/H3C
创建命令 access-list 100 permit/tcp/… acl number 3000
删除规则 no access-list 100 undo rule 10
应用接口命令 ip access-group 100 in traffic-filter inbound acl 3000
默认行为 末尾隐含deny all 末尾隐含deny all
通配符写法 0.0.255 0.0.255(写法一致)
规则编号概念 无显示编号,按顺序插入 rule 5/10/15显式编号

思科没有显式规则编号,想插一条规则到中间几乎不可能,只能删除重建;华为/H3C的显式编号则灵活得多,如果设备使用年限较长,内部流量策略复杂,华为/H3C的维护体验会更顺手。

关于价格上的考量,华为/H3C的中低端交换机通常比同配置的思科设备便宜不少,相关采购价格可以咨询当地经销商,不同城市的渠道价差异较大,但ACL配置命令本身是免费的,不开任何功能授权,买了设备就能直接用。

访问控制列表配置命令

实战场景:access-list命令在办公网中的落地操作

真正考验ACL配置命令功底的,是那些“规则之间互相打架”的场面,拿最常见的办公网举例,公司要求:

  1. 财务部(192.168.30.0/24)只能访问内网服务器,不能上外网。
  2. 总经理办公室(192.168.88.0/24)可以访问所有网络。
  3. 公共Wi-Fi区域(192.168.50.0/24)只能访问互联网,禁止访问内网任何服务器。

这三个需求分别对应三条独立ACL,最管用的做法是在核心交换机的各个VLAN接口(SVI)上分别调用不同ACL,而不是写一条大杂烩ACL,一条ACL规则条数过多,一是排查困难,二是设备转发性能会下降。

给财务部做限制时,在核心交换机上敲:

interface Vlanif30
traffic-filter inbound acl 3005

ACL 3005里写:

rule 5 deny ip

注意,这条ACL会拦掉所有入站流量,包括内网访问,所以还需要放行内网网段:

rule 5 permit ip source 192.168.0.0 0.0.255.255
rule 10 deny ip

顺序很重要,ACL从上往下匹配,命中即停止,意思是,如果先写deny ip,后面的permit永远不会生效,很多人的配置命令逻辑没问题,但顺序写反了,结果整个部门断网,这种教训在业内数见不鲜。

模拟器验证:华为eNSP中ACL配置命令的调试过程

初学ACL配置命令时,强烈建议先在模拟器里跑一遍,华为eNSP(企业网络模拟平台)免费且好用,流程是:启动设备,进入系统视图,敲入ACL配置命令,然后在接口下调用,如果命令执行后没有任何回显,多半是成功的;如果出现“Error: Unrecognized command”,检查关键字拼写和协议名大小写。

配置ACL命令后要验证,不验证等于白配,查看当前ACL规则用display acl all,查看接口上绑定了哪些ACL用display traffic-filter applied-record,这两条命令能帮你快速判断配置命令是否真的生效。

ACL配置命令常见报错与排查思路

每个人在配置ACL时都会遇到的报错,这里挑几个高频的来聊。

  • “Error: The ACL is already applied to an interface.”(华为设备)这条ACL已绑定到一个接口上,不能直接删除或修改,先执行undo traffic-filter inbound解除绑定,再改规则。
  • “Access-list cannot be deleted.”(思科设备)ACL还在被接口引用,使用

    访问控制列表配置命令

    no ip access-group先解除调用。

  • 通配符写错导致匹配了整个网段这条不会报错,但流量特征会和你预期完全不符,属于隐蔽问题。
  • 规则顺序错误导致全通或全断ACL匹配是自上而下的,把deny写在permit前面是新手区最主要的问题。

从排查效率来看,先看规则列表,再看接口绑定关系,最后抓包确认实际命中情况,这个流程能解决绝大多数ACL配置命令引发的故障。

针对CLI操作不熟的人:ACL配置命令怎么用才不慌乱

如果你平时主要用Web界面,一打开CLI就紧张,建议记住一条原则:ACL操作是个三步走的机械流程,创建、调用、验证,缺一不可。

  1. 创建ACL,进入ACL视图,逐条写permit/deny规则。
  2. 退出ACL视图,进入接口视图,调用ACL(traffic-filter或ip access-group)。
  3. 使用display类命令查看规则和接口状态,确认无误。

这套流程不依赖设备型号,思科、华为、H3C、锐捷都遵循同样节奏,只要语法细节换一下就行,掌握了这个框架,ACL配置命令就不再是零散的代码,而是一条完整的思维链。

访问控制列表配置命令常见问题解答

华为设备的ACL默认是允许所有流量还是拒绝所有流量?

华为设备的ACL默认规则即末尾隐藏的deny ip any,也就是拒绝一切未匹配的流量,一个ACL如果只写了permit规则,那么只有这些规则命中的流量会被放行,其他全部丢弃,如果是刚刚创建的ACL还没写任何规则,那么所有流量都会被拒绝。

思科扩展ACL里的协议关键字要怎么选?

思科扩展ACL中常见的协议关键字包括tcp、udp、icmp、ip,选协议时有一个基本判断标准:网络层控制用ip,传输层控制端口用tcp或udp,网络排障测试放行icmp,如果摸不准目标应用走的是TCP还是UDP,直接查应用端口号,或使用ip关键字放开全部协议类型,代价是管控粒度变粗。

修改ACL后为什么没有立即生效?

ACL修改后通常会在数秒内生效,但部分老款交换机存在硬件转发表延迟刷新的情况,可以先执行display acl确认规则条目已更新,再用reset命令清除相关会话表项,强制设备重新匹配新规则,另一种可能是ACL被多次调用,流量走的接口不是你改的那个,检查所有接口的绑定关系,ACL配置命令本身没问题,但生效范围和你预期不一致,这种情况在跨设备联动配置时较常见。

相关文章

2024年,SaaS软件行业碰到获客难、增长慢等问题吗?

我们努力让每一次邂逅总能超越期待