现场拓扑如下:
S5820v2交换机作为普通二层设备,与两台电脑PC1、PC2互联。
S5820v2交换机G1/0/1和G1/0/2接口均为access类型,切pvid相同。PC1和PC2 IP地址属于相同网段。
客户要求:
在PC1和S5820v2上能够ping通PC2;PC2不能ping通PC1和S5820v2。
故障配置:
管理员,在S5820v2 G1/0/1接口inbound方向部署packet-filter 3000,规则如下:
#
acl number 3000
rule 1 deny icmp source PC2 0
#
interface GigabitEthernet1/0/1
packet-filter 3000 inbound
#
采用上述配置部署后,发现PC2无法ping通PC1和S5820v2,但是PC1和S5820v2同样无法ping通PC2.客户需求没有实现。
问题分析
由于客户要求PC1和S5820v2能够ping通PC2,则S5820v2交换机G1/0/1接口允许接收PC2的回应ICMP报文(ICMP的type=0);同时,PC2不能够ping通PC1和S5820v2,则S5820v2交换机G1/0/1接口不允许接收到PC2的请求ICMP报文(ICMP的type=8)。
若通过高级ACL(ACL 3000~3999)只能精细匹配到Protocol协议类型为ICMP(Protocol=8),无法匹配到请求ICMP报文(ICMP的type=8)和回应ICMP报文(ICMP的type=0),因此高级ACL无法实现。
如果想要实现客户要求,则必须在S5820v2交换机上部署用户自定义ACL(ACL 5000~5999)。
创建匹配阻止ICMP请求报文的自定义ACL 5000,如下
#
acl number 5000
rule 1 deny l2 0800 ffff 34
#
“0800”为匹配ICMP请求报文(type=8,code=0)
“34”为从l2 二层头开始往后的偏移量34字节
在G1/0/1接口inbound方向调用该ACL
#
interface GigabitEthernet1/0/1
packet-filter 3000 inbound
#
按照自定义ACL部署后,即可实现PC1和S5820v2能够ping通PC2;PC2不能够ping通PC1和S5820v2.
注意:
1、交换机目前仅支持在物理接口inbound方式部署自定义ACL
2、如果交换机接口为trunk/hybrid类型,通过的报文携带一个有vlan_tag报文时,自定义ACL中偏移量需要增加4个字节
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作