策略路由 PBR
policy-based-route person permit node 2
if-match acl 3250
apply ip-address next-hop 192.168.8.53
policy-based-route person permit node 2
if-match acl 3250
apply ip-address next-hop 192.168.8.53
意思是对acl permit下来的流量进行PBR,而acl deny的流量没有任何意义。
换句话就是PBR只对permit的流量有执行动作,deny流量忽略检查。
举个例子
acl number 3250 name person_2
rule 0 deny ip source 192.168.15.128 0 destination 192.168.0.0 0.0.255.255
rule 10 permit ip source 192.168.15.128 0 counting
rule 0 deny ip source 192.168.15.128 0 destination 192.168.0.0 0.0.255.255
rule 10 permit ip source 192.168.15.128 0 counting
这个deny没有任何含义,PBR对acl 3250的检测,只针对permit语句。
也就是说,192.168.15.128去往192.168.18.230的流量还是根据 rule 10 permit的动作来走。
所以要解决这个问题,有1种解决方案,就是使用deny模式
acl number 3245 name person
rule 0 permit ip source 192.168.15.128 0 destination 192.168.0.0 0.0.255.255
rule 0 permit ip source 192.168.15.128 0 destination 192.168.0.0 0.0.255.255
acl number 3250 name person_2
rule 10 permit ip source 192.168.15.128 0
rule 10 permit ip source 192.168.15.128 0
policy-based-route test deny node 1
if-match acl 3245
if-match acl 3245
意思是对acl 3245 permit流量不执行任何动作。
policy-based-route test permit node 2
if-match acl 3250
apply ip-address next-hop 192.168.8.53
if-match acl 3250
apply ip-address next-hop 192.168.8.53
而H3C官方文档的说明如下:
“如果if-match子句中使用了ACL,将忽略ACL规则的permit/deny动作以及time-range指定的规则生效时间段,只使用ACL中的分类域来匹配报文。如果使用的ACL不存在,则不匹配任何报文。”
其中‘分类域’这个概念我找遍了度娘,也不知道是什么意思,但是根据我上面的实验可以看出,‘分类域’实际指的是permit语句。
ps:没有去google查‘分类域’的概念。有空的可以找下,找到顺便告知我一声。
没有评论:
发表评论