怎樣把兩條運營商的專線做成負載均衡——BFD技術

    在我前段時間實施的一個項目中,客戶的服務器是放在移動機房的,在辦公區域和服務器區域之間租用一條移動100M專線和一條電信10M專線來進行通信。要使兩條線路實現負載均衡的功能,不能簡單的做靜態路由來實現,因爲運營商的線路斷了,在自己的交換端口上是無法感知到DOWN的(運營商使用了光收接入)。於是我詢問了相關技術人員得知是可以使用BFD技術來感知鏈路狀態的,它和靜態路由關聯就可以實現客戶要求的負載均衡功能。我使用實驗拓撲來和大家做個說明,實驗拓撲圖如下:

blob.png

    

   拓撲圖說明:

1、CE1爲移動機房服務器核心交換機S7703,AR1爲辦公區域出口路由器

2、中間模擬運營商網絡,上面爲電信,下面爲移動。SW3辦公服務區接入交換機。

3、vlan40 172.16.4.0/24辦公服務網段, vlan50 10.10.10.0/24服務器網段

4、PC1 10.10.10.2/24  PC2 172.16.4.2/24

5、CE1:1口 192.168.1.4/24  2口 172.16.1.4/24, AR1:2口 192.168.1.1/24  1口 172.16.1.1/24

6、中間的運營商網絡專線不做任何配置,模擬專線線路裸纖,4臺交換機模擬光纖收發器。

7、設置靜態路由使vlan40和vlan50能夠互通,雙鏈路負載均衡.

8、使用BFD鏈路狀態聯動來檢測運營商線路通斷。

   CE1的配置如下(只做關鍵配置介紹):

sysname ce1

#

vlan batch 10 20 30 40 50   //劃分的vlan

#

bfd              //開啓bfd

#

interface Vlanif50

 ip address 10.10.10.1 255.255.255.0        //設置ip地址,模擬服務器網關

#

interface MEth0/0/0

 undo shutdown

#

interface GE1/0/0

 undo shutdown

 port default vlan 50       //把GE1/0/0端口劃到vlan50下,和PC1通信

#

interface GE1/0/1

 undo portswitch

 undo shutdown

 ip address 192.168.1.4 255.255.255.0    //直接啓用三層口,寫上IP地址,和對面AR1通信,電信網絡

#

interface GE1/0/2

 undo portswitch

 undo shutdown

 ip address 172.16.1.4 255.255.255.0    //直接啓用三層口,寫上IP地址,和對面AR1通信,移動網絡

#

bfd 1 bind peer-ip 172.16.1.1          //配置bfd名稱,檢測對面鏈路IP地址,移動線路

 discriminator local 20               //設置本地識別號

 discriminator remote 10             //設置遠端識別號

#

bfd 2 bind peer-ip 192.168.1.1       //配置bfd名稱,檢測對面鏈路IP地址,電信線路

 discriminator local 40             //設置本地識別號

 discriminator remote 30            //設置遠端識別號

#

ip route-static 172.16.4.0 255.255.255.0 172.16.1.1 track bfd-session 1      //配置靜態路由和BFD綁定,移動線路

ip route-static 172.16.4.0 255.255.255.0 192.168.1.1 track bfd-session 2     //配置靜態路由和BFD綁定,電信線路

#

return

 

  AR1的配置如下(只做關鍵配置介紹):

#

 sysname r1

#

bfd         //開啓bfd

#

interface GigabitEthernet0/0/0

 ip address 172.16.3.1 255.255.255.0          //設置端口IP,和下面辦公交換機相連

#

interface GigabitEthernet0/0/1

 ip address 172.16.1.1 255.255.255.0         //設置端口IP,和對面CEI通信,移動線路

#

interface GigabitEthernet0/0/2

 ip address 192.168.1.1 255.255.255.0       //設置端口IP,和對面CEI通信,電信線路

#

interface NULL0

#

bfd 1 bind peer-ip 172.16.1.4              //配置bfd名稱,檢測對面鏈路IP地址,移動線路

 discriminator local 10                   //設置本地識別號

 discriminator remote 20                  //設置遠端識別號

 commit

#

bfd 2 bind peer-ip 192.168.1.4           //配置bfd名稱,檢測對面鏈路IP地址,電信線路

 discriminator local 30                  //設置本地識別號

 discriminator remote 40                 //設置遠端識別號

 commit

#

ip route-static 0.0.0.0 0.0.0.0 172.16.1.4 track bfd-session 1           //配置靜態路由和BFD綁定,移動線路

ip route-static 0.0.0.0 0.0.0.0 192.168.1.4 track bfd-session 2          //配置靜態路由和BFD綁定,電信線路

ip route-static 172.16.4.0 255.255.255.0 172.16.3.2                      //配置靜態路由到辦公區域

#

return

   SW3的配置如下(只做關鍵配置介紹):

#

sysname sw3

#

vlan batch 30 40       //配置相關vlan

#

interface Vlanif1

#

interface Vlanif30

 ip address 172.16.3.2 255.255.255.0     //配置到路由器接口的IP

#

interface Vlanif40

 ip address 172.16.4.1 255.255.255.0    //配置辦公區域的網關IP

#

interface MEth0/0/1

#

interface Ethernet0/0/1

 port link-type access

 port default vlan 30             //把相應到路由端口劃分到對應的vlan

#

interface Ethernet0/0/2

 port link-type access

 port default vlan 40            //把相應到辦公區域端口劃分到對應的vlan

#

interface Ethernet0/0/3

#

ip route-static 0.0.0.0 0.0.0.0 172.16.3.1      //配置到路由器AR1的路由

#

user-interface con 0

user-interface vty 0 4

#

return

  把PC1和PC2的相應IP地址按規劃設置好後,我們就可以做測試了,首先我們從PC1 ping PC2的地址是可以通信的,如下圖:

blob.png

   然後我們斷開移動的線路,如下圖:

blob.png

   再從PC1 ping PC2的地址,中間斷了兩個包後也是可以通信的,如下圖:

blob.png

   再來查看相關BFD信息,發現移動的BFD已經斷開,如下圖:

blob.png

   查看相關路由信息,發現只有電信的靜態路由,如下圖:

blob.png

   再連回線路後,我們再查看相關的BFD和路由信息,又恢復正常,如下圖:

blob.png

blob.png

    做到這一步就完全可以實現客戶要求的雙線路負載均衡的功能了,是不是也很簡單。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章