Bolesław T. Administrator Linux
Temat: Cisco 1812 i failover
Potrzebuję opinii ekspertów.Mam 2 łącza internetowe (na razie) od jednego dostawcy oraz router 1812.
Aby śledzić, czy łącze działa, wybrałem sobie jeden z serwerów ISP, po trasie którego idą pakiety i zgodnie z tym ustawiłem sobie tracking:
track 102 rtr 2 reachability
delay down 20 up 20
!
track 103 rtr 3 reachability
delay down 20 up 20
ip sla 2
icmp-echo [serwer 1 ISP] source-interface FastEthernet0
timeout 1000
threshold 2
frequency 3
ip sla schedule 2 life forever start-time now
ip sla 3
icmp-echo [serwer 2 ISP] source-interface FastEthernet1
timeout 1000
threshold 2
frequency 3
ip sla schedule 3 life forever start-time now
Tabelę routingu zaadoptowałem do trackingu:
ip route 0.0.0.0 0.0.0.0 [gw Fa0] 2 track 102
ip route 0.0.0.0 0.0.0.0 [gw Fa1] 3 track 103
! trasa domyślna jakby oba łącza siadły:
ip route 0.0.0.0 0.0.0.0 78.8.151.225 10
! zapewnienie, że pakiety będą szły odpowiednim łączem
ip route [serwer 1 ISP] 255.255.255.255 [gw Fa0] permanent
ip route [serwer 2 ISP] 255.255.255.255 [gw Fa1] permanent
Na początku chciałem, żeby router sam sobie robił load-balancing między tymi łączami (nawet znalazłem przykłady jak to ma być ustawione), ale to nie działało dokładnie jak zamierzałem, więc sobie darowałem. Za to część ruchu puściłem przez drugie łącze używając route-map:
interface Vlan1
ip policy route-map przez-drugie-lacze
route-map przez-drugie-lacze permit 10
match ip address 131
set ip next-hop verify-availability [gw Fa1] 2 track 103
set ip next-hop verify-availability [gw Fa0] 3 track 102
Dzięki temu, gdy siadało któreś z łącz, cały ruch przechodził na pozostałe - i to nie tylko ruch domyślny, ale z route-map również.
Oczywiście, na routerze jest NAT:
ip nat inside source route-map internet-dsl interface FastEthernet0 overload
ip nat inside source route-map internet-sym interface FastEthernet1 overload
route-map internet-dsl permit 10
match ip address 111
match interface FastEthernet0
!
route-map internet-sym permit 10
match ip address 111
match interface FastEthernet1
Proszę o uwagi - może coś można zrobić lepiej. Całej konfiguracji nie zamieszczam ze względów bezpieczeństwa oraz czytelności.
Co się dzieje niedobrego to od czasu do czasu wysiada to na tyle, że się skarżą, że nic nie działa, albo że ciągle przerywa. Jedną taką usterkę namierzyłem:
May 11 05:46:38 %TRACKING-5-STATE: 102 rtr 2 reachability Up->Down
May 11 05:49:58 %TRACKING-5-STATE: 102 rtr 2 reachability Down->Up
May 11 05:52:38 %TRACKING-5-STATE: 102 rtr 2 reachability Up->Down
May 11 05:57:43 %TRACKING-5-STATE: 102 rtr 2 reachability Down->Up
May 11 06:00:38 %TRACKING-5-STATE: 102 rtr 2 reachability Up->Down
May 11 06:05:42 %TRACKING-5-STATE: 102 rtr 2 reachability Down->Up
Tak przez cały dzień. 5 minut chodzi, a 5 minut nie. Zgodnie z konfiguracją 20s po zauważeniu awarii następuje przełączenie. W tym momencie wszystkie połączenie internetowe wysadza. Po 4m40s łącze wraca, a po kolejnych 20s ruch jest przywracany na stare łącze (znowu połączenia aktywne wysiadają).
Pomyślałem, że przestawię czas powrotu łącza na ponad 5 minut. Niestety w konfiguracji:
track 102 rtr 2 reachability
delay down 20 up 180
180s jest maksymalną wartością. Czytaj: 3 minuty. Nie jestem w stanie się ustrzec przed taką awarią.
Zastanawiałem się, czy nie zrobić na odwrót - przestawić czas reakcji na minimum - może po 1s to nie będzie zrywać sesji, jeśli nagle adres źródłowy komputera się przestawi na inny?
Ostatnio było kilka burz i przypuszczam, że w związku z tym ISP mają problemy z łączem, bo mam dużo skarg o połączenie. Nie jestem jednak tego pewien. Wygląda na to, że router wskazuje, że łącze działa, gdy w rzeczywistości tak nie jest. Czy jest jakiś lepszy sposób na zabezpieczenie się/wykrycie awarii?
Trzecia sprawa: Nie działa mi CEF na ruch do internetu. Czy to jest normalne, bo spowodowane przez NAT, który wymusza softwareowy routing?
Z góry dziękuję kolegom za pomoc. Wiem, że w kwestii Cisco jeszcze przyjdzie mi się uczyć, zwłaszcza od mądrzejszych.