2013年9月30日星期一

揭露H3C配置PBR的神秘面纱

策略路由 PBR 
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 

这个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 
acl number 3250 name person_2   
 rule 10 permit ip source 192.168.15.128 0  
policy-based-route test deny node 1    
 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



而H3C官方文档的说明如下:
    “如果if-match子句中使用了ACL,将忽略ACL规则的permit/deny动作以及time-range指定的规则生效时间段,只使用ACL中的分类域来匹配报文。如果使用的ACL不存在,则不匹配任何报文。”
    其中‘分类域’这个概念我找遍了度娘,也不知道是什么意思,但是根据我上面的实验可以看出,‘分类域’实际指的是permit语句。
    ps:没有去google查‘分类域’的概念。有空的可以找下,找到顺便告知我一声。

没有评论:

发表评论