Teknik Not: Link yedeklemesini konfigüre etmek – Trafik yük paylaşımı ECMP (Equal Cost Multiple Path) - Dual Internet veya WAN senaryosu

Ürünler
FortiGate

Amaç
Bu yazı çoklu arabirimler (örneğin çoklu ISP’ler – dual (veya daha fazla) WAN) üzerinde yük paylaşımının ve link yedekleme uygulamasının (fail-over) nasıl yapılacağını anlatmaktadır.

Sunum : "ECMP"nin açılımı "Equal Cost Multiple Path(Eşit Maliyetli Çoklu Yol)"dir.  ECMP çoklu yönlerin aynı hedefe farklı sıradaki-nokta ve ve bu noktalar üzerinden yük paylaşımlı yönlendirilmiş trafik ile gitmesine izin veren mekanizmadır. 

FortiGate’de ECMP uygulaması :

•    ECMP, OSPF ve Statik Route için desteklidir.
•    ECMP, sadece aynı routing protokolü kaynaklı route’lar için çalışır. (yani Statik Route’lar veya OSPF’ler.
•    ECMP, varsayılan olarak 10 path ile etkinleştirilmiştir.
•    Statik Route’lu ECMP, en çok route’lar aynı mesafe ve aynı öncelikle yapılandırıldığında etkindir.


ECMP Dağıtım Algoritması:
•    4.0MR1’den önce : ECMP dağıtım algoritması IP kaynağınınki (Pre-NATed IP adresine dayalı)
•    4.0MR1’den beri ECMP route failover ve yük paylaşımı için üç konfigürasyon seçeneği vardır: Kaynak tabanlı (IP tabanlı da denir – varsayılan ayar) ; Ağırlıklı (ağırlık tabanlı da denir) ; Spill-over (kullanım tabanlı da denir)
Bu 2 mod hakkında daha fazla bilgiyi docs.fortinet.com adresinde "FortiGate™ Version 4.0 MR1 Administration Guide"’den alabilirsiniz.


Kaynak tabanlı hakkında not:

ECMP Fortinet algoritması,  pre-NAT’ed IP adrese dayalı IP kaynak hash tabanlı iken:
   - FortiGate’i geçen her yeni kaynak cihazı (örneğin, diyagramdaki PC) internete 3 yoldan birini kullanacaktır.
   - aynı kaynak IP’den gelen tüm trafiğin “her zaman” aynı yolu kullanması beklenir.


FAIL OVER : Arabirimlerden birinde hata olur ve routing tablosundan kaldırılırsa, trafik geriye kalan route’lardan yönlendirilir. Daha sonra açıklanacak olan örnekte, route fail-over için belirli bir konfigürasyon gerekli değildir.

Kapsam
•    Tüm FortiGate modelleri
•    v3.0 MR3’den beri tüm FortiOS versiyonları
•    Sadece NAT modunda FortiGate veya VDOM

Diyagram
Aşağıdaki diyagram bu yazıyı anlatmak için kullanılabilir: FortiGate’in internete erişim için 3 farklı arabirimi (fiziksel veya VLAN’lar) vardır ve trafikte yük paylaşımı ve yedekleme için her üçünü de kullanmak istiyoruz.

       [            ] port1 ---- [ Internet ]
LAN ===[ FortiGate  ] port2 ---- [ Internet ]
       [            ] port3 ---- [ Internet ]

veya bir dual WAN senaryosunda:


       [            ] wan1---- [ Internet ]
LAN ===[ FortiGate  ] wan2---- [ Internet ]


veya aynı arabirimde farklı duraklarla:

       [            ] wan1--[l2 switch]-- [ router1]
LAN ===[ FortiGate  ] wan1--[l2 switch]-- [ router2]

Beklentiler, Gereksinimler

Trafiğin her bir internet portundan geçmesi için her yol için firewall kuralı ayarlanmalıdır.


Konfigürasyon
Not: ECMP, VDOM-başına ayarıdır (sadece CLI’den)

config system settings
    (settings) # set ecmp-max-paths    (10 is default)
end


Internete varsayılan route’ların konfigürasyon örneği:

Bu, aynı hedefe 3 farklı route’u konfigüre etmek için CLI örneğidir. (burada varsayılan route’lar olacaklar) .  Bu örnekte FortiGate’in varsayılan kaynak tabanlı dağıtım algoritmasını kullanacağını gözlemleyin.

config router static
    edit 1
        set device "port1"
        set gateway 192.168.2.2
    next

   edit 2
        set device "port2"
        set gateway 192.168.3.2
    next

   edit 3
        set device "port3"
        set gateway 192.168.4.2
    next
end


Doğrulama
FortiGate’in routing tablosunu kontrol edin ve aşağıdaki konfigüre edilmiş 3 route’a bakın:

FGT1 # get router info routing-table all

S*      0.0.0.0/0 [10/0] via 192.168.2.2, port1
                          [10/0] via 192.168.3.2, port2
                          [10/0] via 192.168.4.2, port3
C       192.168.1.0/24 is directly connected, internal
C       192.168.2.0/24 is directly connected, port1
C       192.168.3.0/24 is directly connected, port2
C       192.168.4.0/24 is directly connected, port3



Not:  Eğer FortiGate aynı arabirim üzerinde farklı duraklarla (next-hop) konfigüre edildiyse routing tablosu şöyle olacaktır:

FGT # get router info routing-table all

S    *> 0.0.0.0/0 [10/0] via 172.31.224.223, port2
     *>           [10/0] via 172.31.224.224, port2
C    *> 172.31.224.0/23 is directly connected, port2


Sorun Giderme
ECMP etkin haldeyken hangi giden arabiriminin kullanılacağını tanımlamak oturum tablosu kullanılarak yapılabilir (policy id):
GUI’den, System->Status’a gidin, oturumu tanımlayın ve policy ID’yi kontrol edin.
Hangi arabirimin kullanıldığını bulmak için Firewall tablosunda policy ID’ye bakın.

‘any’ arabirimini ve level 4’ü kullanarak FortiGate sniffer’ı kullanmak, kullanılan gidiş arabirimini gösterir.

Örneğin: diagnose sniffer packet any ’<filter>’ 4