S95E端口下发MQC策略无法实现包过滤问题分析
一、 组网:
用户组网简化后如上图所示,S95E_1连接用户内网,S95E_2连接外网,S95E_1和S95E_2间运行动态路由协议,实现内外网的正常互访。
用户要求,在S95E_1上配置包过滤策略,限制外网用户仅能ping通S95E_1和S95E_2互联的接口地址202.1.1.1,不能通过其他方式访问该接口地址。除此之外,其他业务网段访问不受影响。
二、 问题描述:
为满足用户要求,工程师在S95E_1(软件版本R1238P02)上做如下配置(路由协议配置略):
#
vlan 10
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
interface Vlan-interface10
ip address 202.1.1.1 255.255.255.0
#
acl number 3000
rule 0 permit icmp
rule 5 deny ip destination 202.1.1.1 0
#
traffic classifier test operator and
if-match acl 3000
#
traffic behavior test
filter permit
#
qos policy test
classifier test behavior test
#
interface GigabitEthernet2/0/1
port access vlan 10
qos apply policy test inbound
#
完成配置后,工程师通过以下测试,验证结果:
1) 从外网ping 201.1.1.1,可以ping通;
2) 从外网telnet 201.1.1.1,可以telnet设备;
3) 从外网ping 1.1.1.1,可以ping通;
4) 从外网 telnet 1.1.1.1,可以telnet设备。
从以上测试结果看, 第2)个测试项未满足用户要求,似乎该包过滤策略未生效!
手册上不是说acl中的permit规则,执行behavior中的动作;acl中的deny规则,不执行behavior中的动作么?!那么上面的配置不就是,icmp报文执行动作“permit”;目的地址为202.1.1.1/32的报文不执行动作“permit”么?!为什么达不到要求了呢?
三、 过程分析:
这位工程师对S95E的MQC还是有一定了解的。
首先,S95E在R1228之前的版本,ACL中的permit和deny是没有区别的,即ACL中的规则,不论是permit还是deny,统统执行behavior里配置的动作。而从R1228开始,ACL中的permit和deny规则有了区别,即permit规则执行behavior里的动作,deny规则不执行behavior里的动作。这一点在需要将S95E从R1228之前版本升级到R1228以及之后版本的时特别注意。
但是,这里要注意deny规则不执行behavior里的动作,表示报文没有命中流分类原则,接下来的动作是直接转发,而不是丢弃,即在MQC的策略里最后一个“隐含”的CB对的作用是“permit all”。
这样看来就好理解了,上面的配置做了一大堆,其实啥作用都没有。
四、 解决方法:
要实现用户的需求,解决方案是修改acl规则为:
#
acl number 3000
rule 0 deny icmp
rule 5 permit ip destination 202.1.1.1 0
#
修改流行为动作为deny:
traffic behavior test
filter deny
最后再S95E_1的GE2/0/1接口下发策略即可。
再通过上面的测试方案验证下效果,一定能满足用户的要求了。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作