Łącze zapasowe to w dzisiejszych czasach „must have” niemal każdej sensownej firmy, bywa nawet tak że użytkownicy domowi również zabezpieczają się przez awarią swojego głównego łącza internetowego. W tym artykule pokaże kilka aspektów w jaki sposób wykonać konfigurację z łączem zapasowym.
Nasza przykładowa sieć będzie wyglądać następująco:
ISP1 – jest to nasz główny dostawca Internetu. Na jego łączu mamy adresację statyczną.
ISP2 – jest to nasz zapasowy dostawca. W jego przypadku adresy będziemy otrzymywać z serwera DHCP.
Konfiguracja
Na początku skupmy się na podstawowej konfiguracji czyli na podniesieniu adresu IP 172.20.150.13/28 na interfejsie ether1. Następnie w menu IP->Routes dodajemy trasę domyślą a w polu „Check Gateway” wybieramy ping. W ten sposób nasz MikroTik będzie wysyłał do bramy 172.20.150.14 zapytania ping sprawdzając w ten sposób czy jest ona dostępna. W przypadku braku 2 odpowiedzi pod rząd RouterOS uzna tą trasę za nieaktywną. Oczywiście w tle ciągle będzie wysyłał do niej pingi i po otrzymaniu chociaż 1 odpowiedzi ponownie aktywuje tą trasę.
Kolejnym krokiem jest włączenie klienta DHCP na interfejsie ether2. Tutaj ważne aby w zakładce Advanced ustawić dystans dodawanej trasy na wyższą wartość – przykładowo 10. Proponuję też wyłączyć używanie DNS i NTP z tego łącza.
Nasza tablica routing’u wygląda teraz tak:
Czyli nasz router będzie automatycznie przełączał się na drugie łącze i sam wróci na pierwsze gdy wróci ono do żywych.
Niby wszystko super ale…
Powyższa konfiguracja załatwia nam temat totalnego padu pierwszego łącza. Natomiast co w sytuacji gdy awaria będzie gdzieś dalej w infrastrukturze operatora czyli przykładowo zajdzie sytuacja gdy brama będzie odpowiadać ale hosty „dalej” będą już nieosiągalne ?
Tutaj właśnie z pomocą przychodzi mechanizm „recursive routing”. Działa on również za zasadzie sprawdzania zapytaniem ping stanu łącza. Jednak testowanym hostem nie jest nasza brama a dowolny IP w Internecie. Aby go skonfigurować najpierw usuńmy ustawioną wcześniej trasę przez ISP1. Załóżmy że testowanym hostem jest DNS Google adresem 8.8.8.8 – jednak finalnie proponuję użyć innego hosta ponieważ przy tym rozwiązaniu ruch do niego będzie zawsze wykonywany przez ISP1. Dlaczego? Ponieważ ustawienie „check gateway” przy tej trasie spowoduje niepoprawne przełączenie tras w przypadku braku dostępności tego hosta – jest to błąd w RouterOS (zgłoszony do support’u) który ma być poprawiony w przyszłości. Reasumując utwórzmy trasę tylko do testowanego hosta.
Następnie tworzymy trasę domyślną jednak w polu Gateway wpisujemy hosta będącego celem pierwszej reguły czyli 8.8.8.8. W „Check Gateway” wybieramy ping następnie w polu „Target Scope” musimy wpisać wartość tą samą lub wyższą niż ta w polu Scope – przykładowo 40.
Nasza tablica routing’u wygląda teraz tak:

Natomiast w przypadku padu pierwszego łącza (host testowy jest nieosiągalny) wygląd tablicy routing’u prezentuje się następująco:

Finalnie otrzymuje konfigurację gdzie nasze główne łącze jest monitorowane poprzez dostępność zdalnego hosta w Internecie. W przypadku braku jego dostępności trasa domyślna zmieni się na zapasowego ISP i automatycznie wróci na pierwszego gdy host testowy będzie osiągalny.