AR G3路由器多个分支接入总部,由于私网路由配置错误导致L2TP业务不通

发布时间:  2014-10-23 浏览次数:  1169 下载次数:  0
问题描述

如图所示,企业多个分支接入总部,只有一个分支接入时,分支和总部私网间可以相互通信,一旦两个或两个以上的分支接入时,所有L2TP业务全都中断。

LNS的主要配置如下:

l2tp enable
#
ip pool 1
gateway-list 10.1.1.1
network 10.1.1.0 mask 255.255.255.0
#
aaa
local-user huawei password cipher %#%#_<`.CO&(:LeS/$#F\H0Qv8B]KAZja3}3q'RNx;VI%#%#
local-user huawei service-type ppp
#
interface Virtual-Template1
ppp authentication-mode chap
remote address pool 1
ip address 10.1.1.1 255.255.255.0
ospf network-type p2mp
ospf timer hello 10
ospf p2mp-mask-ignore
#
interface GigabitEthernet1/0/0
ip address 1.1.1.1 255.255.255.0
#
interface GigabitEthernet2/0/0
ip address 10.1.2.1 255.255.255.0
#
l2tp-group 1
allow l2tp virtual-template 1
tunnel password cipher %@%@EB~j7Je>;@>uNr''D=J<]\WL%@%@
tunnel name lns
#
ip route-static 1.1.2.1 255.255.255.255 1.1.1.2
ip route-static 1.1.3.1 255.255.255.255 1.1.1.2
ip route-static 10.1.10.0 255.255.255.0 Virtual-Template1
ip route-static 10.1.20.0 255.255.255.0 Virtual-Template1

处理过程

1.   查看L2TP隧道状态,在总部和分支均看到L2TP的隧道和会话都已建立。

   [LNS] display l2tp tunnel
Total tunnel : 2
LocalTID RemoteTID RemoteAddress    Port   Sessions RemoteName
1        1         1.1.2.1          1701   1        lac_1
2        1         1.1.3.1          1701   1        lac_2
[LAC_1] display l2tp tunnel
Total tunnel : 1
LocalTID RemoteTID RemoteAddress    Port   Sessions RemoteName
1        1         1.1.1.1          42246  1        lns
[LAC_2] display l2tp tunnel
Total tunnel : 1
LocalTID RemoteTID RemoteAddress    Port   Sessions RemoteName
1        1         1.1.1.1          42246  1        lns

2.   查看路由表,看到总部到两个分支私网网段路由的下一跳都是VT接口1,分支到总部的下一跳也是VT接口1。这里只给出私网路由。

   [LNS]display ip routing-table                                          
Route Flags: R - relay, D - download to fib                                    
------------------------------------------------------------------------------ 
Routing Tables: Public                                                         
         Destinations : 19       Routes : 19                                   
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
………..
10.1.10.0/24        Static   60   0         D   10.1.1.1        Virtual-Template1
10.1.20.0/24        Static   60   0         D   10.1.1.1        Virtual-Template1
………..
[LAC_1]display ip routing-table                                          
Route Flags: R - relay, D - download to fib                                    
------------------------------------------------------------------------------ 
Routing Tables: Public                                                         
         Destinations : 14       Routes : 14                                   
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
………..
10.1.2.0/24        Static   60   0         D   10.1.1.254      Virtual-Template1
………..
[LAC_2]display ip routing-table                                          
Route Flags: R - relay, D - download to fib                                    
------------------------------------------------------------------------------ 
Routing Tables: Public                                                         
         Destinations : 14       Routes : 14                                   
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
………..
10.1.2.0/24        Static   60   0         D   10.1.1.253      Virtual-Template1

3.   LNS上带私网网关为源地址Ping对端私网网关地址,两个分支都无法Ping通。

疑问:既然有路由、隧道也建立,为什么Ping不通,而单个LAC接入时却能Ping通。

分析发现:LNS上由于配置到分支私网的静态路由下一跳全都直接指向VT1接口,一条隧道的情况下,报文能直接转发到对端,但多条隧道的情况下,报文到VT1接口后由于没有更多的依据指导报文向哪个分支转发,报文可能会被丢弃。所以LNS上配置的静态路由有误。

4.   LNS上修改静态路由配置,配置下一跳为对端VT接口地址的静态路由

       ip route-static 10.1.10.0 255.255.255.0 10.1.1.253

       ip route-static 10.1.20.0 255.255.255.0 10.1.1.254

修改后,私网间路由可以Ping通。

但是,此方案有缺陷,首先需要查看分支VT接口获取到的地址,然后再配置路由,且分支每次获取的地址有可能变化,后期维护工作量太大。

建议LNSLAC上配置动态路由协议,将私网网段和VT接口地址段发布,通过动态路由协议学习到对端的私网网段路由,这种方式添加分支时只需在LAC上配置,且后期不论LAC侧的VT接口获取到的地址如何变化都不用更改配置,大大减少了后期维护工作量。此处以OSPF为例:

LNS配置:

ospf 10
 area 0.0.0.0
  network 10.1.1.0 0.0.0.255
  network 10.1.2.0 0.0.0.255
  ………..

LAC_1配置:

ospf 10
 area 0.0.0.0
  network 10.1.1.0 0.0.0.255
  network 10.1.10.0 0.0.0.255

LAC_1配置:

ospf 10
 area 0.0.0.0
  network 10.1.1.0 0.0.0.255
  network 10.1.20.0 0.0.0.255



       

根因

LNS侧到分支私网网段静态路由下一跳指定的不恰当,导致报文转发失败。

解决方案

两种方案:
1.在LNS上为每个分支配置静态路由,但这种方式首先需要查看分支VT接口获取到的地址,然后再配置路由,且分支每次获取的地址有可能变化,后期维护工作量太大。
2.LNS和LAC上配置OSPF或其他动态路由协议,将私网网段和VT接口地址段发布,通过动态路由协议学习到对端的私网网段路由,这种方式添加分支时只需在LAC上配置,且后期不论LAC侧的VT接口获取到的地址如何变化都不用更改配置,大大减少了后期维护工作量。

 

建议与总结

L2TP多个分支LAC自拨号场景,最好采用动态路由协议发布私网间路由,可大大减少工作量,便于维护。

END