由于Router-id冲突导致部分业务受影响

发布时间:  2014-09-20 浏览次数:  459 下载次数:  0
问题描述
组网结构:
如图4-2所示,两台防火墙采用主备方式分担业务流量,防火墙之间开启HRP与OSPF COST值调整功能,但没有开启快速会话备份功能。

用户上网比较慢,且有部分业务丢失。
处理过程
1. 调整主备防火墙OSPF 20的Router id,并执行reset ospf 20 process命令,重启OSPF进程。查看S9306B-1和S9306B-2上路由,发现路由正常,且业务也恢复。
2. 在主备防火墙上增加会话快速备份命令hrp mirror session enable,快速备份相关会话,保证业务不中断。
根因
1. 查看FW1的接口信息时,发现有从Eth-trunk2到Eth-trunk1的流量,也有回程的流量;查看FW2的接口信息,有Eth-trunk2到Eth-trunk1的流量,但没有回程流量。
图4-3 接口流量信息

2. 在S9306B-2查看路由时,发现缺省路由下一跳指向S9306B-1;再在S9306B-1上查看缺省路由,发现下一跳指向S9306B-2。正常情况下,由于防火墙开启HRP与OSPF COST值调整功能,因此交换机的缺省路由应该指向FW1方向。
3. 使用display ospf 20 peer命令查看防火墙OSPF20邻居关系,发现邻居关系正常。
4. 在FW2上shutdown连接S9306B-2的接口Eth-trunk2,查看S9306B-1和S9306B-2设备查看路由信息。发现S9306B-2缺省路由下一跳指向S9306B-1,S9306B-1缺省路由下一跳指向FW1,业务恢复正常;但是在FW2上undo shutdown连接S9306B-2的接口Eth-trunk2后,再次查看S9306B-1设备的路由信息,刚开始缺省路由指向FW1,过了一会,缺省路由下一跳变为指向S9306B-2了。
5. 在两台防火墙上查看OSPF的LSA信息。
FW1设备上OSPF 20相关信息:
HRP_M[XJWLMQ-TJL-USG9000-Gi-1] display ospf 20 peer
02:41:51  2014/05/08
  OSPF Process 20 with Router ID 192.168.0.1
   Neighbors 

Area 0.0.0.0 interface 192.168.160.25(Eth-Trunk2)'s neighbors
Router ID: 192.168.160.254  Address: 192.168.160.26  
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: None   BDR: None   MTU: 0    
   Dead timer due in 33  sec 
   Retrans timer interval: 2 
   Neighbor is up for 00:27:36     
   Authentication Sequence: [ 0 ] 

HRP_M[XJWLMQ-TJL-USG9000-Gi-1] display ospf 20 lsdb
02:42:45  2014/05/08
  OSPF Process 20 with Router ID 192.168.0.1
   Link State Database 

           Area: 0.0.0.0
Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
Router    221.7.7.126     221.7.7.126       1048  72    80000D07     200
Router    192.168.160.254 192.168.160.254   1711  96    80005742     100
Router    192.168.160.253 192.168.160.253   1249  72    800056AC     100
Router    192.168.160.252 192.168.160.252   2278  48    8000009A     100
Router    192.168.160.251 192.168.160.251   1885  48    8000009D     300
Router    192.168.0.1     192.168.0.1       1247  48    80000030       1
Network   192.168.160.5   192.168.160.254   1155  32    80000CEE       0
Network   192.168.160.9   192.168.160.253   1017  32    80000CED       0
 

   AS External Database
Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
External  0.0.0.0         192.168.0.1       1256  36    800000B5       1
External  0.0.0.0         192.168.160.251   1885  36    8000009A       1
External  0.0.0.0         192.168.160.252   2276  36    80000002       1
External  172.16.128.0    221.7.7.126       1794  36    80000CF0       1
External  172.20.0.0      221.7.7.126       1794  36    80000CF0       1
External  172.23.128.0    221.7.7.126       1794  36    80000CF0       1

FW2设备上OSPF 20相关信息:
HRP_S[XJWLMQ-TJL-USG9000-Gi-2]display ospf 20 peer
02:46:23  2014/05/08
  OSPF Process 20 with Router ID 192.168.0.1
   Neighbors 

Area 0.0.0.0 interface 192.168.160.29(Eth-Trunk2)'s neighbors
Router ID: 192.168.160.253  Address: 192.168.160.30  
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: None   BDR: None   MTU: 0    
   Dead timer due in 27  sec 
   Retrans timer interval: 6 
   Neighbor is up for 00:01:33     
   Authentication Sequence: [ 0 ] 

HRP_S[XJWLMQ-TJL-USG9000-Gi-2] display ospf lsdb
02:46:33  2014/05/08
  OSPF Process 20 with Router ID 192.168.0.1
   Link State Database 

           Area: 0.0.0.0
Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
Router    221.7.7.126     221.7.7.126       1277  72    80000D07     200
Router    192.168.160.254 192.168.160.254    140  96    80005743     100
Router    192.168.160.253 192.168.160.253    105  96    800056AE     100
Router    192.168.160.252 192.168.160.252   2507  48    8000009A     100
Router    192.168.160.251 192.168.160.251   2111  48    8000009D     300
Router    192.168.0.1     192.168.0.1          9  48    80000042    65500
Network   192.168.160.5   192.168.160.254   1384  32    80000CEE       0
Network   192.168.160.9   192.168.160.253   1244  32    80000CED       0
 

   AS External Database
Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
External  0.0.0.0         192.168.0.1          9  36    800000C7    65500
External  0.0.0.0         192.168.160.251   2111  36    8000009A       1
External  0.0.0.0         192.168.160.252   2505  36    80000002       1
External  172.16.128.0    221.7.7.126        221  36    80000CF1       1
External  172.20.0.0      221.7.7.126        221  36    80000CF1       1
External  172.23.128.0    221.7.7.126        221  36    80000CF1       1
External  172.18.128.0    221.7.7.126        221  36    80000CF1       1
External  172.22.0.0      221.7.7.126        221  36    80000CF1       1
External  172.17.0.0      221.7.7.126        221  36    80000CF1       1

查看两台防火墙的OSPF相关信息后,发现在主备两台防火墙上OSPF 20使用的是同一个router id 192.168.0.1。至此问题已经确认为Router id冲突导致。
根据上面的分析内容,有如下两个疑问:
 疑问一:为什么router id冲突,会导致S9306B-1和S9306B-2缺省路由互指?
因主备防火墙设备router id一样,导致防火墙发布的缺省路由到S9306B上之后,出现左右震荡的情况。当我们在S9306B-2上查看的时候,缺省路由下一跳正好是往FW1方向的,当在S9306B-1上查看的时候,缺省路由此时也正好指向FW2,这样就让我们产生了缺省路由互指的错觉。
 疑问二:即便是S9306B-1和S9306B-2缺省路由互指,流量应该在交换机之间环路才对,为什么主备防火墙上还都有流量?
上面疑问一中已经解释缺省路由左右震荡的情况,因此流量是一会到FW1,一会又到FW2上,两边都会有流量,业务之所以部分有问题,是因为没有配置会话快速备份功能,两边会话不同步,来回路径不一致,从而导致部分业务丢包。
建议与总结
配置OSPF路由时,建议手动指定OSPF进程对应的Router id。
OSPF协议要求使用Router ID,如果在启动OSPF协议时没有指定Router ID,则缺省使用路由管理的Router ID。
Router ID选择规则如下:
1. 如果通过命令router id配置了Router ID,则按照配置结果设置。没有配置Router ID,则按照下面的规则进行选择。
− 如果存在配置了IP地址的Looback接口,则选择Loopback接口地址中最大的作为Router ID。
− 如果没有已配置IP地址的Loopback接口,则从其他接口的IP地址中选择最大的作为Router ID(不考虑接口的UP/DOWN状态)。
2. 当且仅当被选为Router ID的接口IP地址被删除/修改,才触发重新选择过程,其他情况(例如接口处于DOWN状态;已经选取了一个非Loopback接口地址后又配置了一个Loopback接口地址;配置了一个更大的接口地址等)不触发重新选择的过程。
3. 存在主备的情况下,系统将备份命令行配置的Router ID和从接口地址中选择出来的Router ID。主备平滑转换的时候,系统将检查从地址中选出的Router ID的有效性,如果无效将重新进行选择。

END