Страница 1 из 1

Автоматическое переключение между провайдерами

Добавлено: 01 ноя 2020, 18:39
RomA
Введение:
Необходимо что бы в офисе никогда не прекращался интернет. Для этого было заведено 3 провайдера.

Задача:
Автоматическое переключение на следующего провайдера, если текущий не работает

Условие:
1. Один провайдер будет основным. Другие 2 - запасными.
2. Офис будет ходить в интернет одновременно только через одного конкретного провайдера - балансировки не будет.
3. В 3 разных порта подключаем 3 разный линка от провайдеров:
interface GigabitEthernet0/2 - Провайдер1 - он же основной - ip:1.1.1.10 gw:1.1.1.1
interface GigabitEthernet0/1 - Провайдер2 - ip:2.2.2.20 gw:2.2.2.1
interface Vlan10 - Провайдер3 - ip:3.3.3.30 gw:3.3.3.1
4. Основной провайдер для своей живости будет проверять связь с IP-адресом 8.8.8.8 - остальные со своими шлюзами по умолчанию
5. Локальная сеть: 10.10.10.0/22, 192.168.3.0/24, 192.168.255.0/24

Решение:

настраиваем треки

Код: Выделить всё

track 100 ip sla 100 reachability
 delay down 5 up 5
!
track 101 ip sla 101 reachability
 delay down 5 up 5
!
track 102 ip sla 102 reachability
 delay down 5 up 5
Настраиваем интерфейсы

Код: Выделить всё

interface GigabitEthernet0/1
 description "ISP2"
 ip address 2.2.2.20 255.255.255.0
 ip nat outside

interface GigabitEthernet0/2
 description "ISP1"
 ip address 1.1.1.10 255.255.255.0
 ip nat outside
 
interface Vlan10
 description "ISP3"
 ip address 3.3.3.30 255.255.255.0
 ip nat outside
Настраивает NAT

Код: Выделить всё

ip nat inside source route-map ISP_1 interface GigabitEthernet0/2 overload
ip nat inside source route-map ISP_2 interface GigabitEthernet0/1 overload
ip nat inside source route-map ISP_3 interface Vlan10 overload

access-list 100 deny   ip 10.10.0.0 0.0.3.255 192.168.3.0 0.0.0.255
access-list 100 deny   ip 10.10.0.0 0.0.3.255 192.168.255.0 0.0.0.255
access-list 100 permit ip 10.10.0.0 0.0.3.255 any
access-list 100 deny   ip any any

Маршруты по умолчанию

Код: Выделить всё

ip route 0.0.0.0 0.0.0.0 1.1.1.1 track 100
ip route 0.0.0.0 0.0.0.0 2.2.2.1 track 101
ip route 0.0.0.0 0.0.0.0 3.3.3.1 track 102
ip route 0.0.0.0 0.0.0.0 2.2.2.1 254
ip route 0.0.0.0 0.0.0.0 3.3.3.1 255
Настраиваем проверки

Код: Выделить всё

ip sla 100
 icmp-echo 8.8.8.8 source-interface GigabitEthernet0/2
 threshold 1000
 frequency 10
ip sla schedule 100 life forever start-time now
ip sla 101
 icmp-echo 2.2.2.1 source-interface GigabitEthernet0/1
 threshold 1000
 frequency 10
ip sla schedule 101 life forever start-time now
ip sla 102
 icmp-echo 3.3.3.1 source-interface Vlan10
 threshold 1000
 frequency 10
ip sla schedule 102 life forever start-time now
Настраиваем переключение шлюза по умолчанию

Код: Выделить всё

route-map PolicyBaseRouting-nexthop permit 10
 match ip address 100
 set ip next-hop verify-availability 1.1.1.1 1 track 100
 set ip next-hop verify-availability 2.2.2.1 2 track 101
 set ip next-hop verify-availability 3.3.3.1 3 track 102
!
route-map ISP_1 permit 10
 match ip address 100
 match interface GigabitEthernet0/2
!
route-map ISP_3 permit 10
 match ip address 100
 match interface Vlan10
!
route-map ISP_2 permit 10
 match ip address 100
 match interface GigabitEthernet0/1
Очищаем NAT

Код: Выделить всё

event manager applet DOWN_and_UP
 event track 100 state any
 action 1.0 cli command "clear ip nat trans forced"
event manager applet CWNDOWN
 event track 101 state any
 action 1.0 cli command "clear ip nat trans forced"
Таким образом по умолчанию всегда будет работать ISP1. Если на нём пропадает пинг до 8.8.8.8 - маршрут по умолчанию начинает идти через ISP2 и происходит очистка таблицы трансляций NAT. Если же и он не пингует свой шлюз - всё то же самое применится к ISP3.
Как только восстановится первый провайдер - всё снова вернётся на него.

Литература:
https://iamroot.ru/2013/05/cisco-2-prov ... l#comments
http://ciscomaster.ru/node/9
https://www.liveinternet.ru/users/karman/post118979969/
https://www.opennet.ru/base/cisco/2isp_link.txt.html
https://ker-laeda.livejournal.com/1345.html
https://habr.com/ru/post/270261/