Вы находитесь на странице: 1из 9

01

Настройка резервирования
на MikroTik: Dual-Wan
основные принципы и
пошаговая настройка
Настройка резервирования на MikroTik: Dual-Wan основные принципы и
пошаговая настройка

Вопросы вебинара

• Использование tool netwatch для


переключения каналов
• Использование опции check-gateway
• Для проверки доступности шлюза
• Для проверки доступности внешних
хостов
• Использования маркировки трафика и
скрипта переключения

• Вводные данные
• WAN1 – внешний ip 1.1.1.2/30 gw 1.1.1.1
• WAN2 – внешний ip 2.2.2.3/30 gw 2.2.2.2
Курсы по Mikrotik с гарантией результата 2
Настройка резервирования на MikroTik: Dual-Wan основные принципы и пошаговая
настройка

Netwatch

• Приложение для мониторинга доступности


определенных ip адресов
• Работает с ICMP
• При недоступности хоста можно запустить
последовательность команд и тем самым
переключиться на резервный канал
• Желательно анонсировать адреса для
проверки, через разных провайдеров
• Утилита доступна в меню tool winbox

Курсы по Mikrotik с гарантией результата 3


Настройка резервирования на MikroTik: Dual-Wan основные принципы и пошаговая
настройка
Netwatch
1й шаг 8.8.8.8 /tool netwatch enable numbers=[find comment=Google2]
2й шаг 8.8.4.4 /tool netwatch enable numbers=[find comment=Yandex1]
3й шаг 78.88.8.8 /ip route set distance=2 numbers=[find comment=WLAN1]
/ip route set distance=1 numbers=[find comment=WLAN2]
При доступности 8.8.8.8
1 шаг
/tool netwatch disable numbers=[find comment=Yandex1]
/tool netwatch disable numbers=[find comment=Google2]
/ip route set distance=1 numbers=[find comment=WLAN1]
/ip route set distance=2 numbers=[find comment=WLAN2]
Дополнительно
Поменять маршруты до 8.8.8.8, 8.8.4.4, 78.88.8.8

Курсы по Mikrotik с гарантией результата 4


Настройка резервирования на MikroTik: Dual-Wan основные принципы и пошаговая
настройка
Использование опции check-gateway
1 – создаем маршруты для проверки хостов через разных ISP
/ip route
add dst-address=8.8.8.8 gateway=1.1.1.1 scope=10
add dst-address=78.88.8.1 gateway=1.1.1.1 scope=10
add dst-address=78.88.8.8 gateway=2.2.2.2 scope=10
add dst-address=8.8.4.4 gateway=2.2.2.2 scope=10
2 – создаем обманные маршруты через наши адреса для проверки
add dst-address=10.1.1.1 gateway=8.8.8.8 scope=10 target-scope=10 check-gateway=ping
add dst-address=10.1.1.1 gateway=78.88.8.1 scope=10 target-scope=10 check-gateway=ping
add dst-address=10.2.2.2 gateway=78.88.8.8 scope=10 target-scope=10 check-gateway=ping
add dst-address=10.2.2.2 gateway=8.8.4.4 scope=10 target-scope=10 check-gateway=ping
3 – создаем маршрут по умолчанию с указанием этих обманных адресов
add distance=1 gateway=10.1.1.1
add distance=2 gateway=10.2.2.2
add distance=1 gateway=10.2.2.2
add distance=2 gateway=10.1.1.1

Курсы по Mikrotik с гарантией результата 5


Настройка резервирования на MikroTik: Dual-Wan основные принципы и пошаговая
настройка
• Использования маркировки трафика и скрипта
переключения
1 – распределяем трафик по разным таблицам маршрутизации
ISP1
/ip firewall mangle
add action=mark-connection chain=prerouting comment=ISP1 connection-state=new in-interface=ether1
new-connection-mark=from-ISP1 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=from-ISP1 new-routing-mark=to-ISP1 passthrough=yes
add action=mark-routing chain=output connection-mark=from-ISP1 new-routing-mark=to-ISP1 passthrough=yes
add action=mark-routing chain=output new-routing-mark=to-ISP1 passthrough=yes src-address=1.1.1.2
ISP2
add action=mark-connection chain=prerouting comment=ISP2 in-interface=ether2 new-connection-mark=from-ISP2
passthrough=yes
add action=mark-routing chain=prerouting connection-mark=from-ISP2 new-routing-mark=to-ISP2 passthrough=yes
add action=mark-routing chain=output connection-mark=from-ISP2 new-routing-mark=to-ISP2 passthrough=yes
add action=mark-routing chain=output new-routing-mark=to-ISP2 passthrough=yes src-address=2.2.2.1

Курсы по Mikrotik с гарантией результата 6


Настройка резервирования на MikroTik: Dual-Wan основные принципы и пошаговая
настройка
• Использования маркировки трафика и скрипта
переключения
2 – создание таблиц маршрутизации
/ip route
add distance=1 gateway=1.1.1.1 routing-mark=ISP1
add distance=1 gateway=2.2.2.2 routing-mark=ISP2
add comment=WLAN1 distance=1 gateway=1.1.1.1
add comment=WLAN2 distance=2 gateway=2.2.2.2

3 – создание правил маршрутизации


/ip route rule
add src-address=1.1.1.2/32 table=ISP1
add src-address=2.2.2.1/32 table=ISP2
add dst-address=10.0.0.0/8 table=main
add dst-address=192.168.0.0/16 table=main
add dst-address=172.16.0.0/12 table=main
add routing-mark=to-ISP1 table=ISP1
add routing-mark=to-ISP2 table=ISP2

Курсы по Mikrotik с гарантией результата 7


Настройка резервирования на MikroTik: Dual-Wan основные принципы и пошаговая
настройка
• Использования маркировки трафика и скрипта
переключения
#Main interface name
:global MainIf ether1
#Failover interface name :local MainGWDistance [/ip route get [find comment="WAN1"] distance]
:global RsrvIf ether2 :local RsrvGWDistance [/ip route get [find comment="WAN2"] distance]
:put "MainGWDistance=$MainGWDistance"
:local PingCount 1 :put "RsrvGWDistance=$RsrvGWDistance"

:local PingTargets {213.180.193.3; 77.88.8.8; 8.8.8.8; 217.69.139.202} if ($MainIfInetOk && ($MainGWDistance >= $RsrvGWDistance)) do={
:local host /ip route set [find comment="WAN1"] distance=1
/ip route set [find comment="WAN2"] distance=2
:local MainIfInetOk false :put "switched to main internet connection"
:local RsrvIfInetOk false /log info "switched to main internet connection"
:local MainPings 0 }
:local RsrvPings 0
if (!$MainIfInetOk && $RsrvIfInetOk && ($MainGWDistance <= $RsrvGWDistance)) do={
foreach host in=$PingTargets do={ /ip route set [find comment="WAN1"] distance=2
:local res [/ping $host count=$PingCount interface=$MainIf] /ip route set [find comment="WAN2"] distance=1
:set MainPings ($MainPings + $res) :put "switched to reserve internet connection"
:local res [/ping $host count=$PingCount interface=$RsrvIf] /log info "switched to reserve internet connection"
:set RsrvPings ($RsrvPings + $res) }
:delay 1
}

:set MainIfInetOk ($MainPings >= 1)


:set RsrvIfInetOk ($RsrvPings >= 1)

:put "MainIfInetOk=$MainIfInetOk"
:put "RsrvIfInetOk=$RsrvIfInetOk"

Курсы по Mikrotik с гарантией результата 8


СПАСИБО ЗА ВНИМАНИЕ
Приходите на наши курсы по
Mikrotik и Asterisk

Оценить