2012年6月11日 星期一

使用IP SLA完成police route


在幫客戶規劃multi-WAN Link備援架構時常常會看到如下圖所示的架構
   
   
   
     我們可能會規劃兩條WAN Link,一條是10Mbps的WAN link,另一條是2Mbps的WAN link 10Mbps的WAN link是主要線路,平常的網路流量在這一條WAN link上流通,而2Mbps的WAN link的作用是當10Mbps WAN link斷線時取代成為備用的線路(畢竟這一條線路頻寬較小,你不會希望平常重要的服務剛好走到這一條備用線路)
   
     所以身為網路工程師的我們最常使用的設定,就是在Router/L3 switch裡面設定兩條default route,一條走主要的WAN link,另一條就是使用更高的metric。
   
     但如果網路上的實際狀況是主要WAN link並沒有斷線,而是遇到不知原因的high latency而造成連線常常中斷(身為網路工程師後續還是需要協助幫忙找出原因),這時候如何將流量暫時切換到備用線路(當然是做到自動切換)讓客戶的WAN service維持一定的品質呢?
   
     當然,使用Dynamic routing protocal可能是一種作法,但我們的狀況是連線品質出問題,在這種狀況下我們必須將Dynamic Routing protocol packet視為我們的一般的traffic,他也可能因為連線品質而造成路由表內容不穩定。

     這時候我們可以使用Cisco Router/L3 switch上的IP SLA功能來完成。
Cisco IP SLA在這個場景中的作法跟我們在很多WAN loadbalance使用的原理很像:
首先,先監控遠端的某個具有IP的裝置,接著設定一個track來套用該監控機制套用到某
一條WAN Link上來確認這一條線路的服務品質。
   
     例如:我設定一個透過主要WAN link的監控,監控的對象是遠端的一台主機168.95.1.1,
                當該監控對象的監控結果無法達到我們預先設定的條件時,備援路由才被啟用。
   
     在Cisco Router/L3 switch上的設定方式如下:

STEP 1:  
     ip sla 5
   icmp-echo 168.95.1.1 source-interface GigabitEthernet0/0
   timeout 1000
   frequency 2
   ip sla schedule 5 life forever start-time now
   
     上述設定範例是建立一個session ID為5的監控條件,監控的方式是從GigabitEthernet0/0每
     兩秒鐘去ping 168.95.1.1,當168.95.1.1的回應時間超過1000ms時就宣告168.95.1.1為down
     的狀態

 STEP 2:
     接著,設定一個track來套用該監控條件:
   
     track 1 ip sla 5 reachability
   
 STEP 3:  
     再來,在一般的設定觀念中,我們會直接將該track套用於備援的default route中:
   
     ip route 0.0.0.0 0.0.0.0 10.10.10.1 track 1
   
 STEP 4:  
     這樣看起來似乎已經完成了,但其實不然,以上的結果如同我們加了兩筆同metric的
     default route,但這不是我麼想要的。
     我們需要的是當IP SLA 5不成立時,備援路由才建立起來,因此我們還需要以下設定:
   
     track 2 list boolean and
   object 1 not
   
  STEP 5:
     然後將正確的備援default route設定如下:
   
     ip route 0.0.0.0 0.0.0.0 10.10.10.1 track 2

     這樣就可以達到在WAN Link連線品質不好的情況之下就自動切換其他備援線路。

沒有留言:

張貼留言