Dobrą praktyką przy zapewnianiu dostępności połączenia do Internetu jest posiadanie dwóch redundantnych łącz. Najlepiej, żeby były to łącza od dwóch dostawców, przeciągnięte dwoma różnymi szachtami komunikacyjnymi. Duże firmy nie mogą sobie pozwolić na utratę dostępu do sieci ale w przypadku tych mniejszych nie jest to już takie oczywiste. Oczywiście taki stan może wynikać z przeprowadzonej analizy ryzyka więc zdziwienie w obliczu braku zapasowego łącza nie jest już takie oczywiste. Mam to szczęście, że w mojej organizacji nie pominięto tego wątku i zapasowe łącza działają nawet w przypadku bardzo małych klientów. Natomiast w dobie wszędobylskiego Internetu możemy zapewnić sobie redundancję nawet na poziomie własnego “M” wykorzystując modemy LTE. Czyli pierwsze łącze zapewnia nam dostawca Internetu stacjonarnego a drugie możemy wybrać sobie z bogatej oferty sieci komórkowych. Ważne tylko aby dostawcy dostarczali publiczne IP, nie musi być stałe. W tym wpisie skonfigurujemy urządzenie Mikrotik do współpracy z dwoma operatorami stacjonarnymi. Następnie wywołamy awarię jednego z łącz a na samym końcu ustawimy tak routing aby wychodzić dwoma łączami równolegle z dwóch segmentów sieci.
Topologia

Konfiguracja
Dual WAN
Zaczynamy od stworzenia interfejsu bridge na naszym routerze. W tym celu przechodzimy do zakładki “Bridge” i dodajemy nowy interfejs znakiem “+“.

aaaa
Definiujemy nazwę interfejsu, zostawiając pozostałe pozycje bez zmian.

aaaa
Następnie do interfejsu bridge przypisujemy porty. Przechodzimy zatem na kartę “Ports” i dodajemy odpowiednie porty znakiem “+“.

aaaa
W polu “Interface” wybieramy port, który ma być dołączony do bridge’a a poniżej w polu “Bridge” wybieramy, do którego interfejsu bridge.

aaaa
Taką samą operację wykonujemy z kolejnymi portami, które mają zostać dołączone do bridge’a.
Po dodaniu portów do interfejsu bridge, tworzymy przynajmniej dwa interfejsy vlan. W tym celu przechodzimy do zakładki “Interfaces -> VLAN” i tworzymy nowe sieci wirtualne znakiem “+“.

aaaa
Definiujemy nazwę sieci wirtualnej, przypisujemy jej tag oraz podłączamy pod interfejs “Bridge“.

aaa
Teraz przypisujemy naszym sieciom wirtualnym odpowiednie adresy. W tym celu przechodzimy do zakładki “IP -> Addresses” i dodajemy adres IP do każdej sieci znakiem “+“.

aaaa
Adresy dla portów WAN’owych ether1 i ether5 zostały wcześniej skonfigurowane statycznie aby mieć połączenie z każdym operatorem.
Przypisujemy adres IP, maskę podsieci i przypinamy je do odpowiedniego interfejsu.

aaaa
Następnie tworzymy ustawienia serwera DHCP dla obu sieci wirtualnych. W tym celu przechodzimy na zakładkę “IP -> Pool” i tworzymy zakres adresów do przydzielania dla poszczególnych segmentów znakiem “+“.

aaa
Dodajemy serwer DHCP dla każdej sieci wirtualnej. W tym celu przechodzimy do zakładki “IP -> DHCP Server” i dodajemy serwer znakiem “+“.

aaaa
Definiujemy nazwę serwera, przypisujemy do właściwego interfejsu i wybieramy z jakiej puli mają być przydzielane adresy IP dla klientów.

aaaa
Następnie przechodzimy na kartę “Networks” i dodajemy powiązanie bramy z odpowiednią siecią, w której ma działać nasz serwer DHCP znakiem “+“.

aaa
W polu “Address” wprowadzamy adres sieci, w polu “Gateway” adres bramy domyślnej oraz opcjonalnie (jeżeli dostaliśmy jakiś od operatora) serwer DNS.

aaaa
Kolejno dodajemy nasze interfejsy łączące nas z Internetem pod jedną logiczną nazwę. W tym celu przechodzimy do zakładki “Interfaces -> Interface List” i wybieramy kafelek “Lists“.

aaaa
Po przejściu na kafelek “Lists” dodajemy nazwę dla naszej grupy interfejsów. W tym celu naciskamy znak “+” i definiujemy nazwę grupy.

aaaa
Jeżeli mamy dodaną grupę interfejsów, dodajemy kolejno interfejsy naciskając znak “+” i przypisujemy porty WAN’owe.

aaaa
Następnie ustawiamy NAT dla naszej sieci wychodzący przez grupę ustawioną na liście interfejsów. W tym celu przechodzimy do zakładki “IP -> Firewall -> NAT” i na liście dodajemy regułę znakiem “+“.

aaaa
Dodajemy regułę NAT’ującą (maskaradę) wskazując łańcuch przekierowujący ruch z sieci lokalnej do Internetu.

aaaa
Dodajemy trasę domyślną do Internetu poprzez sieć operatora. W tym celu przechodzimy do zakładki “IP -> Routes” i dodajemy nową trasę znakiem “+“.

aaaa
Pozostałe trasy zostały dodane dynamicznie po skonfigurowaniu sieci wirtualnych i adresów IP operatorów.
Wprowadzamy trasę routingu do Internetu wpisując adres docelowy sieci, adres IP bramy i priorytet trasy.

aaaa
To samo robimy z trasą wyznaczoną przez drugiego operatora. Różnica polega na obniżeniu priorytetu trasy.

aaaa
O priorytecie trasy mówi nam pole “Distance”. Im ta wartość będzie wyższa tym niższy priorytet.
W tym momencie tylko jedna z tras będzie aktywna. Jeżeli odłączymy się od jednego operatora, pierwsza trasa zostanie zdezaktywowana (niebieski kolor) a druga trasa zostanie aktywowana (czarny kolor).

Policy Based Routing
Teraz skonfigurujemy nasze połączenie tak aby obie trasy były aktywne i przekazywały dostęp do Internetu równolegle z dwóch różnych segmentów sieci. W tym celu przechodzimy do zakładki “IP -> Firewall -> Mangle” i dodajemy regułę znakiem “+“.

aaaaa
Wskazujemy łańcuch umożliwiający dodanie do ruchu z konkretnego segmentu sieci pewnych oznaczeń przed wykonaniem zadania routowania, wybieramy z jakiego interfejsu ruch będzie wpadał na router i wskazujemy połączenia, które nie były w żaden sposób oznaczone.

aaaa
Przechodzimy na kartę “Action” i wybieramy sposób postępowania z ruchem wybierając opcję oznaczenia połączenia, nadania mu jaki znacznik ma zostać dodany i zaznaczamy opcję wyboru przepuszczaj dalej.

aaaa
Dodajemy kolejną regułę podobnie jak poprzednią tylko tym razem wybieramy na takim samym łańcuchu pakiety już oznaczone konkretną frazą.

aaaa
Przechodzimy na kartę “Action” i wybieramy sposób postępowania z ruchem wybierając opcję oznaczenia routowania, wskazując którą bramą ma zostać wypuszczone połączenie i zaznaczamy opcję wyboru przepuszczaj dalej.

aaa
Dodanie nowego znacznika dla routowania spowoduje utworzenie nowej tablicy routingu.
Wracamy na listę tras domyślnych i zmieniamy ustawienia trasy zapasowej. W tym celu otwieramy ustawienia trasy zapasowej i zmieniamy wartości dotyczące priorytetu oraz tablicy routingu przez które ma przejść połączenie.

aaaa
W tym momencie obie trasy będą aktywne. Wyjście z sieci wirtualnej (12) będzie realizowane poprzez interfejs ether1 a równolegle wyjście z sieci wirtualnej (45) będzie realizowane poprzez interfejs ether5.

Podsumowanie
Tak przygotowana konfiguracja zapewni nam nadmiarowość połączenia i zminimalizuje przestoje w organizacji. Przynajmniej przestoje na styku z Internetem :). Można pokusić się o wzbogacenie takiego rozwiązania dodając:
- mechanizm sprawdzania bramy domyślnej operatora (check gateway),
- mechanizm sprawdzania “ósemek” przez bramkę operatora (recursive routing),
- mechanizm wysyłania wiadomości sms / mail przy braku aktywności jednego z łącz.
Nie ominiemy natomiast problemu gdy nasz router brzegowy ulegnie awarii. Toteż oprócz nadmiarowości łącza warto pomyśleć o zapasowym urządzeniu. Ale czy tylko na podmiankę? NIE, oczekuj…VRRP.