取消
显示结果 
搜索替代 
您的意思是: 
cancel
4623
查看次数
30
有帮助
5
评论
yondong
Cisco Employee
Cisco Employee
本帖最后由 yondong 于 2018-3-27 21:54 编辑
MAC ACL介绍
MAC ACL是通过识别数据包二层包头信息来实现对进入接口的数据包进行过滤的目的。

MAC Packet Classification介绍
MAC Packet Classification功能需要和MAC ACL组合起来部署,当MAC Packet Classification功能开启的时候,调用了MAC ACL的接口既能实现对IP(业务流量数据包)数据包的过滤也可以实现对非IP(大都为协议报文,如ARP报文)数据包的过滤。当MAC Packet Classification功能关闭时,调用了MAC ACL的接口只能实现对非IP数据包的过滤不能实现对IP数据包通过。

对于N9K来说,不同的硬件平台MAC ACL的配置有很大区别。目前来说N9K主要分为T2芯片平台和Tahoe芯片平台两大类。我们可以通过以下命令来区分设备属于哪个芯片平台。
N9K# attach module x
module-x# show hardware internal version
如果看到的芯片名字为Forwarding ASIC,则该板卡(或1U设备)为T2平台;如果看到芯片的名字为SugarbowlLacrosseDavos,则该板卡(1U或2U设备)为Tahoe平台。

示例如下:
module-1# show hardware internal version (T2平台)
-------------------------------------------------------------------
Name InstanceNum Version Date
-------------------------------------------------------------------
Forwarding ASIC 0 0x03

module-1# show hardware internal version (Tahoe平台)
-------------------------------------------------------------------
Name InstanceNum Version Date
-------------------------------------------------------------------
Sugarbowl 0 0x02

不同平台MAC ACL工作方式具体区别如下
对于T2平台:
测试案例1:
N9508(E1/21)----------------(E1/1)N9272
SVI 1:1.1.1.254/24 1.1.1.1/24

N9508配置:
interface Vlan1
noshutdown
ipaddress 1.1.1.254/24

interface Ethernet1/21
macport access-group test
switchport
switchport mode trunk
noshutdown

MAC access list test
statistics per-entry
20 deny any any [match=12]

N9272配置:
interface Ethernet1/1
mac-address 0001.0001.0001
ipaddress 1.1.1.1/24
noshutdown
测试结果:
N9272(config)# ping 1.1.1.254
PING 1.1.1.254 (1.1.1.254): 56 data bytes
64 bytes from 1.1.1.254: icmp_seq=0 ttl=254time=2.061 ms
64 bytes from 1.1.1.254: icmp_seq=1 ttl=254time=1.641 ms
64 bytes from 1.1.1.254: icmp_seq=2 ttl=254time=1.723 ms
64 bytes from 1.1.1.254: icmp_seq=3 ttl=254time=1.773 ms
64 bytes from 1.1.1.254: icmp_seq=4 ttl=254time=1.585 ms

--- 1.1.1.254 ping statistics ---
5 packets transmitted, 5 packets received,0.00% packet loss
round-trip min/avg/max = 1.585/1.756/2.061ms

测试结论:
N9508 MAC ACL配置为denyany any后,N9272还是可以ping通N9508,是因为N9508端口下没有开启MAC Packet Classification功能,MAC ACL不会对IP数据包起作用。
测试案例2:
延续测试案例1的拓扑及配置,变化的配置如下:
interface Ethernet1/21
macport access-group test
switchport
switchport mode trunk
mac packet-classify <<<<<<<<<<开启MAC Packet Classification功能
noshutdown

测试结果:
N9272(config)# ping 1.1.1.254
PING 1.1.1.254 (1.1.1.254): 56 data bytes
Request 0 timed out
Request 1 timed out
Request 2 timed out
Request 3 timed out
Request 4 timed out

--- 1.1.1.254 ping statistics ---
5 packets transmitted, 0 packets received,100.00% packet loss
测试结论:
N9508 MAC ACL配置为denyany any后,N9272不可以ping通N9508,是因为N9508端口下开启了MACPacket Classification功能,MAC ACL会对IP数据包起作用。

更多细节可以访问官方文档:

对于Tahoe平台:
Tahoe平台不支持MACPacket Classification功能,接口下可以配置macpacket-classify但不可以像T2平台一样正常工作,官方文档没有说明,后期可能会对文档进行完善。

在Tahoe平台如果想实现对IP和非IP数据包的过滤可以使用以下方法。

示例如下:
N9K-1(E1/1) ----------------- (E1/1)N9K-2
SVI1: 1.1.1.1 SVI1: 1.1.1.2(286f.7f7e.62e5)

N9K-1 configuration:
mac access-list test
5permit 286f.7f7e.62e5 0000.0000.0000 any 0x806<<<<<<<<<匹配ARP 包(非IP)
10 permit 286f.7f7e.62e5 0000.0000.0000 any ip<<<<<<<<<匹配IP 包

interface Ethernet1/1
mac port access-group test

评论
yondong
Cisco Employee
Cisco Employee
大家有什么问题,可以留言,我有时间一定会一一回复大家。
linyufan200008
Community Member
沙发我来坐,谢谢分享
木吉法师
Community Member
是不是意味着在tahoe平台上使用mac acl无法查看到三层的ip包头?
yondong
Cisco Employee
Cisco Employee
木吉法师 发表于 2018-3-29 13:40
是不是意味着在tahoe平台上使用mac acl无法查看到三层的ip包头?

你说的什么意思呀?没看明白。
Yanli Sun
Community Manager
Community Manager
感谢楼主分享并解答大家问题
入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接