Введение
В статье разбирается настройка двух Интернет-каналов в режиме резервирования. Т. е. в ситуациях, когда один провайдер будет работать постоянно (основной канал), а второй будет включаться в случае, если Интернет через первый канал будет недоступен (резервный канал).
Есть два основных способа настройки работы устройств МикроТик для работы с двумя провайдерами в режиме резервирования. Кратко их можно охарактеризовать, как “быстрый способ” и “комплексный способ”. Первый способ является быстрым для настройки. Что явно следует из названия. Второй способ является более сложным в настройке, но при этом лишен недостатков, которые присущи первому способу.
Схема сети

Внешняя сеть:
Интернет-канал №1
IP-адреса маршрутизатора: 10.1.100.1
IP-адреса провайдера: 10.1.100.254
маска: 255.255.255.0
Интернет-канал №2
IP-адреса маршрутизатора: 10.1.200.1
IP-адреса провайдера: 10.1.200.254
маска: 255.255.255.0
Внутренняя сеть:
IP-адреса маршрутизатора: 192.168.15.1
маска: 255.255.255.0
Быстрый способ
Через графический интерфейс
Приведенные ниже манипуляции подразумевают, что вы уже настроили IP-адреса двум внешним интерфейсам, прописали маршруты и сделали правила masquerade.
Если у вас статические IP-адреса от обоих провайдеров, то простейшая настройка резервирования сводится к установке приоритетов маршрутов на первого и второго провайдера.
Зайти в IP => Routes и для маршрута на Провайдера-1 указываем Check Gateway=ping и Distance=5. В настройках маршрута на Провайдера-2 указываем Check Gateway=ping и Distance=10. Значения параметра Distance не обязательно должны быть такими. Важно, что бы значения для Провайдера-1 было меньше чем для Провайдера-2. Как правило, статические маршруты имеют приоритет (Distance) равный единице. Для примера мы привели другое значение. При такой схеме весь трафик будет идти через Провайдера-1, путь через Провайдера-2 будет резервным. Шлюзы обоих провайдеров будут периодически пинговаться, и при недоступности шлюза Провайдера-1 маршрут на него будет отключен, а трафик пойдет по маршруту на Провайдера-2. После того, как шлюз Провайдера-1 станет опять доступным трафик опять пойдет через него.
Недостатком данной схемы является то, что в ней проверяется не наличие Интернета, а именно доступность следующего узла. Часто встречаются ситуации, когда оборудование провайдера (следующий узел) доступно, а интернета нет. Очень яркий пример это Интернет через ADSL-модем. Соседний узел (ADSL-модем) будет доступным, а Интернет нет.
Для первого Интернет-канала:

Для второго Интернет-канала:

Через консоль
Первый маршрутизатор:
/ip route
add check-gateway=ping distance=5 gateway=10.1.100.254
Второй маршрутизатор:
/ip route
add check-gateway=ping distance=10 gateway=10.1.200.254
Комплексный способ
Через графический интерфейс
Приведенные ниже манипуляции подразумевают, что вы уже настроили IP-адреса двум внешним интерфейсам, прописали маршруты и сделали правила NAT.
“Комплексный” способ основан на том, что с помощью встроенной утилиты “Netwatch”, мы будем один раз в минуту проверять доступность интернета с помощью команды ping до узла 8.8.4.4 через первый интернет канал. Доступ до этого узла через второй Интернет-канал будет всегда закрыт. Таким образом если ping проходит – это значит, что первый канал находится в рабочем состоянии и он должен быть включен, а 2-ой канал должен быть выключен. И наоборот: если ping не проходит – это значит, что первый канал не работает и он должен быть выключен и включен 2-ой канал. Как только ping начнет проходить произойдет обратной переключение. Нужный маршрут утилита будет определять по комментарию, который мы назначим. Как видите этот способ лишен недостатка первого способа.
Добавить комментарии к маршрутам. К маршруту через первого провайдера добавить комментарий ISP1, к маршруту через второго провайдера добавить комментарий ISP2. Приведем пример для первого провайдера. Для второго действие делается аналогично.

Создать статический маршрут до 8.8.4.4. В IP => Routes создать маршрут до адреса 8.8.4.4 через шлюз 1-го интернет провайдера.

Добавить правило блокирующее доступ к 8.8.4.4 через 2-ой WAN-интерфейс.


Добавить условие переключения. В Tools => Netwatch на вкладке «Host» создать новый “Netwatch host”. В графе “Host” указать отслеживаемый ip-адрес, в “Interval” – частоту осуществляемых проверок, а в “Timeout” – время недоступности хоста при котором сработает триггер.
В примере указан адрес 8.8.8.8. Это опечатка. Должен быть адрес 8.8.4.4

На вкладке “Up” добавить скрипт следующего содержания:/ip route set [find comment="ISP1"] disabled=no
/ip route set [find comment="ISP2"] disabled=yes

На вкладке “Down” добавить скрипт следующего содержания:/ip route set [find comment="ISP1"] disabled=yes
/ip route set [find comment="ISP2"] disabled=no

Через консоль
/ip route
set comment=ISP1 [find gateway=10.1.100.254]
set comment=ISP2 [find gateway=10.1.200.254]
/ip route
add distance=1 dst-address=8.8.4.4/32 gateway=10.1.100.254
/ip firewall filter
add action=drop chain=output dst-address=8.8.4.4 out-interface=ether4-WAN2 protocol=icmp comment="Deny 8.8.4.4 through reserved internet-channel"
/tool netwatch
add down-script="/ip route set [find comment=\"ISP1\"] disabled=yes\r\
\n/ip route set [find comment=\"ISP2\"] disabled=no" host=8.8.4.4 \
up-script="/ip route set [find comment=\"ISP1\"] disabled=no\r\
\n/ip route set [find comment=\"ISP2\"] disabled=yes"
Свежие комментарии