Huawei与C厂在实现重定向时的差异导致搬迁后业务异常

发布时间:  2015-02-26 浏览次数:  163 下载次数:  0
问题描述

T局的邮件业务部署了路由策略,将发送和接收的邮件都重定向到一台邮件服务器进行病毒检查,确认无毒后正常转发。在搬迁过程中,用翻译工具将C厂的路由器上的重定向配置翻译成Huawei配置后,邮件业务部分异常,内部员工之间不能相互发邮件,但是内部员工能发送和接收外部邮件。

告警信息

处理过程

内部员工之间的邮件不需要经过服务器查毒,能直接送达,但是现象正好相反,内部之间的不能转发,而内部与外部的却能正常发送接收。去除端口上绑定的重定向策略后,所有邮件正常,所以是重定向配置有问题。

如下是C厂上的重定向配置:

access-list 121 deny   tcp 202.160.10.0 0.0.0.255 61.6.192.0 0.0.63.255 eq smtp log

access-list 121 permit tcp 202.160.10.0 0.0.0.255 any eq smtp log

------------------------

route-map Outbound_PBR_OUT permit 10

 match ip address 121

 set ip next-hop 61.6.254.115

------------------------

interface Vlan6

 ip policy route-map Outbound_PBR_OUT

对于access-list 121语句中的permit匹配项进行重定向,下一跳指向61.6.254.115即邮件查毒服务器,而deny 匹配项不进行重定向,直接转发。

使用2680工具进行翻译时候,翻译成华为的配置语句是这样的:

acl 3121

rule deny tcp source 202.160.10.0 0.0.0.255 destination 61.6.192.0 0.0.63.255 destination-port eq smtp

rule permit tcp source 202.160.10.0 0.0.0.255 destination any destination-port eq smtp

 

traffic classifier Outbound_PBR_OUT operator or precedence 5          

  if-match acl 3121                                                                                       

 

traffic behavior Outbound_PBR_OUT                                             

 redirect ip-nexthop 61.6.254.115  

traffic policy Outbound_PBR_OUT                                               

 classifier Outbound_PBR_OUT behavior Outbound_PBR_OUT

Vlan 6

traffic-policy Outbound_PBR_OUT inbound

原因是在华为路由器上面,如果ACL中匹配上的是deny语句的,动作是直接丢弃,而对于permit语句,匹配上之后,还要看traffic behavior中的动作来决定(允许,拒绝,重定向,remark等等),而C厂设备,access list中的语句,对于deny项,只是不进行重定向,但还是会正常转发,在这一点上,华为与C厂有差异。

根因

在华为设备上面,如果ACL中匹配上的是deny语句的,动作是直接丢弃,而对于permit语句,匹配上之后,还要看traffic behavior中的动作来决定(允许,拒绝,重定向,remark等等),而C厂设备,access list中的语句,对于deny项,只是不进行重定向,但还是会正常转发,在这一点上,华为与C厂有差异。

解决方案

对于上述配置,华为设备在进行配置翻译的时候,应该只配置那些permit项就可以了,deny项不能配置

acl 3121

rule permit tcp source 202.160.10.0 0.0.0.255 destination any destination-port eq smtp

建议与总结

搬迁之前需要了解Huawei设备与其他厂家之间实现上的差异,有些默认值并不一定与其他厂家一致。华为设备中ACL只要匹配上的是deny,是直接丢弃的,不管对应的traffic behavior中的动作是什么。

END