Mikrotik 2XWAN 2XLAN Separacja i Failover

Trafiłem ostatnio zlecenie na użycie dwóch łącz internetowych dla dwóch podsieci. Każda podsieć korzysta z innego łącza. Ten konkretny przykład zrobiłem na RB2011, 10 portów elektrycznych. Port ETH1 jest portem WAN1, port ETH6 jest portem WAN2, porty 2-5 to LAN1, porty 7-10 to LAN2.

Topologia sieci wygląda następująco:

Network 2WAN 2LAN

Tworzymy na początek dwa bridge dla dwóch podsieci oraz dodajemy porty do odpowiednich sieci LAN:

/interface bridge
add name=LAN1
add name=LAN2
/interface bridge port
add bridge=LAN1 interface=ether2
add bridge=LAN1 interface=ether3
add bridge=LAN1 interface=ether4
add bridge=LAN1 interface=ether5
add bridge=LAN2 interface=ether7
add bridge=LAN2 interface=ether8
add bridge=LAN2 interface=ether9
add bridge=LAN2 interface=ether10

Nadajemy adresacje, gdzie IP ISP1 to 10.10.10.2 a brama to 10.10.10.1 maska 255.255.255.0, IP ISP2 to 10.10.20.2 a brama to 10.10.20.1 maska 255.255.255.0.

/ip address
add address=10.0.0.1/24 comment=LAN1 interface=LAN1 network=10.0.0.0
add address=10.0.2.1/24 comment=LAN2 interface=LAN2 network=10.0.2.0
add address=10.10.10.2/24 comment=WAN1 interface=ether1 network=\
    10.10.10.0
add address=10.10.20.2/24 comment=WAN2 interface=ether6 network=\
    10.10.20.0

Zajmiemy się teraz sieciami LAN, tworzymy serwery DHCP dla dwóch podsieci z osobnymi klasami adresowymi.

/ip pool
add name=LAN1 ranges=10.0.0.50-10.0.0.250
add name=LAN2 ranges=10.0.2.50-10.0.2.250
/ip dhcp-server
add add-arp=yes address-pool=LAN1 disabled=no interface=LAN1 lease-time=1h name=DHCP_LAN1
add add-arp=yes address-pool=LAN2 disabled=no interface=LAN2 lease-time=1h name=DHCP_LAN2
/ip dhcp-server network
add address=10.0.0.0/24 comment=LAN1 dns-server=208.67.220.220,208.67.222.222 gateway=10.0.0.1 ntp-server=193.219.28.2,194.29.130.252
add address=10.0.2.0/24 comment=LAN2 dns-server=208.67.220.220,208.67.222.222 gateway=10.0.2.1 ntp-server=193.219.28.2,194.29.130.252

Ustawiamy klienta czasu, serwer DNS oraz strefę czasową i nazwę urządzenia

/system ntp client
set enabled=yes primary-ntp=150.254.183.15 secondary-ntp=193.219.28.2
/ip dns
set servers=208.67.220.220,208.67.222.222
/system clock
set time-zone-name=Europe/Warsaw
/system identity
set name=2WAN2LAN

Przechodzimy teraz już do konfiguracji samego działania dwóch łącz oraz przełączenia się podsieci pomiędzy łącza w przypadku awarii jednego z nich.

Najpierw markujemy pakiety z odpowiednich podsieci na odpowiednie łącza internetowe

ip firewall mangle
add action=mark-routing chain=prerouting new-routing-mark=to_WAN1 passthrough=yes src-address=10.0.0.0/24
add action=mark-routing chain=prerouting new-routing-mark=to_WAN2 passthrough=yes src-address=10.0.2.0/24

Następnie dodajemy dodajemy maskradę, dając internet komputerom w podsieciach LAN1 i LAN2

/ip firewall nat
add action=masquerade chain=srcnat comment=WAN1 out-interface=ether1
add action=masquerade chain=srcnat comment=WAN2 out-interface=ether6

Następnie dodajemy bramy domyślne dla podsieci oraz główną bramę domyślną dla routera, w przypadku gdy jedna z bram przestanie odpowiadać sieć LAN która z niej korzysta przełączy się automatycznie na drugą podsieć

/ip route
add check-gateway=ping distance=1 gateway=10.10.10.1 routing-mark=to_WAN1
add check-gateway=ping distance=1 gateway=10.10.20.1 routing-mark=to_WAN2
add check-gateway=ping distance=2 gateway=10.10.10.1,10.10.20.1

Jeżeli dostajemy dwa łącza internetowe od jednego ISP zdarzyć się może, że będą one w jednej podsieci ze wspólną bramą. Np. IP1 10.10.10.2 oraz IP2 10.10.10.3 ze wspólną bramą 10.10.10.1 to należy oznaczyć taki ruch w sposób następujący

/ip route
add check-gateway=ping distance=1 gateway=10.10.10.1%ether1 routing-mark=to_WAN1
add check-gateway=ping distance=1 gateway=10.10.10.1%ether6 routing-mark=to_WAN2
add check-gateway=ping distance=2 gateway=10.10.10.1%ether6,10.10.10.1%ether1

Na koniec standardowo zabezpieczam takiego mikrotika wyłączając zbędne usługi oraz dając dostęp do zarządzania tylko z wewnętrznych podsieci

/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh disabled=yes
set api disabled=yes
set winbox address=10.0.0.0/24,10.0.2.0/24
set api-ssl disabled=yes

 

Comments

radzio6 pisze:

Świetnie opisane ? tylko chciałbym zapytać jak zrobić taki load balancing w przypadku 2xWan i 2xLan ale tak aby oba lany były balansowanie i wychodziły przez wan1 lub wan2? W powyższym przykładzie lan1 wychodzi jednym wan-em a lan2 drugim…

Darek pisze:

Dzięki za super artykuł.
Będziesz kontynuował ?

robitom pisze:

Extra artykuł, wszystko śmiga aż miło. Możesz opisać jak zrobić, żeby komputer z Lan1 miał dostęp do zasobów dwóch komputerów w Lan2?

Łukasz pisze:

Ma się rozumieć że połączenie trzech łączy robimy tak samo tylko x 3.

Dodaj komentarz