Настройка MikroTik Dual WAN с failover — оба публичных IP доступны
Пошаговая инструкция для MikroTik RB5009: Dual WAN с failover — исходящий через основной WAN, рекурсивный роутинг, dst-nat и NAT/Firewall, оба публичных IP доступны для входящих подключений.
Как настроить Dual-WAN с failover на MikroTik RB5009, чтобы оба публичных IP были доступны из интернета одновременно?
Требования:
- Без балансировки трафика: исходящий трафик только через основной WAN.
- Входящие подключения возможны как к основному, так и к резервному IP в любое время.
- При failover исходящий трафик переключается на резервный WAN, но оба IP остаются доступными для входящих соединений.
Оба IP белые (публичные). При переключении на резервный все сервисы должны работать по резервным адресам.
Настройка Dual WAN с failover на MikroTik RB5009 — это реальный способ обеспечить доступность обоих публичных IP одновременно, без балансировки трафика. Исходящий идет строго через основной WAN, а при сбое автоматически переключается на резервный, при этом входящие подключения к белому публичному IP основного и резервного работают круглосуточно. Ключ — рекурсивные маршруты с проверкой ping, masquerade только для активного WAN и dst-nat для каждого IP отдельно, как показано в руководстве по RouterOS 7.
Содержание
- Подготовка интерфейсов и списков для MikroTik Dual WAN
- Настройка маршрутов с failover на MikroTik
- Правильный NAT для исходящего и входящего трафика
- Правила firewall для защиты публичных IP
- Тестирование Dual WAN failover
- Дополнительные советы по MikroTik настройке
- Источники
- Заключение
Подготовка интерфейсов и списков для MikroTik Dual WAN
Сначала подключите провайдеров: основной WAN к ether1 (скажем, IP 203.0.113.1/24, шлюз 203.0.113.254), резервный к ether2 (IP 198.51.100.1/24, шлюз 198.51.100.254). RB5009 с RouterOS 7 справится без проблем — у него куча портов и мощный CPU.
Создайте списки интерфейсов, чтобы упростить правила. В Winbox или терминале:
/interface list add name=WAN
/interface list add name=WAN1
/interface list add name=WAN2
/interface list member add list=WAN interface=ether1
/interface list member add list=WAN1 interface=ether1
/interface list member add list=WAN interface=ether2
/interface list member add list=WAN2 interface=ether2
Теперь LAN на ether3-8, bridge их для простоты: /interface bridge add name=LAN-bridge; /interface bridge port add bridge=LAN-bridge interface=ether3; и так далее. Назначьте LAN IP, например 192.168.88.1/24.
Зачем списки? Они позволяют в NAT и firewall указывать “out-interface-list=WAN1”, не привязываясь к конкретному порту. Без этого при failover трафик сломается. Подробности в инструкции по MultiWAN.
Настройка маршрутов с failover на MikroTik
Здесь магия: без PCC-балансировки, только failover. Используем рекурсивный роутинг — проверяем доступность через ping к надежному хосту вроде 8.8.8.8 или 4.2.2.1.
Сначала дефолтные маршруты:
/ip route
add dst-address=0.0.0.0/0 gateway=203.0.113.254 distance=1 check-gateway=ping routing-table=main
add dst-address=0.0.0.0/0 gateway=198.51.100.254 distance=2 check-gateway=ping routing-table=main
Но это базово. Для надежности — рекурсия. Добавьте маршруты к “проверщику”:
/ip route
add dst-address=8.8.8.8/32 gateway=203.0.113.254 distance=1 check-gateway=ping
add dst-address=8.8.8.8/32 gateway=198.51.100.254 distance=2 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=8.8.8.8 distance=1 check-gateway=ping routing-mark=to_wan1
add dst-address=0.0.0.0/0 gateway=8.8.8.8 distance=2 check-gateway=ping routing-mark=to_wan2
Почему рекурсия? Прямой ping к шлюзу может лгать — провайдер отвечает, но интернет мертв. Рекурсия проверяет реальный доступ. Если WAN1 упадет, distance=2 активируется за секунды. Видео с примерами тут.
А что с публичными IP? Маршруты не трогают входящий — он придет по интерфейсу напрямую.
Правильный NAT для исходящего и входящего трафика
Без балансировки исходящий masquerade только через основной WAN. Входящий — dst-nat на каждый публичный IP отдельно.
Исходящий:
/ip firewall nat
add chain=srcnat out-interface-list=WAN1 action=masquerade comment=“Исходящий через WAN1”
add chain=srcnat out-interface-list=WAN2 action=masquerade comment=“Исходящий через WAN2 при failover” place-before=0
Place-before=0 — чтобы резервный NAT срабатывал только при активном failover.
Для входящих сервисов, скажем HTTP на внутренний сервер 192.168.88.10:
/ip firewall nat
add chain=dstnat dst-address=203.0.113.1 protocol=tcp dst-port=80 action=dst-nat to-addresses=192.168.88.10 to-ports=80 in-interface-list=WAN comment=“WAN1 HTTP”
add chain=dstnat dst-address=198.51.100.1 protocol=tcp dst-port=80 action=dst-nat to-addresses=192.168.88.10 to-ports=80 in-interface-list=WAN comment=“WAN2 HTTP”
Dst-address — ваш белый публичный IP. In-interface-list=WAN — для обоих. Hairpin NAT добавьте для локального доступа: chain=srcnat src-address=192.168.88.0/24 dst-address=192.168.88.10 action=masquerade.
При failover исходящий уйдет через WAN2, но входящий к 203.0.113.1 все равно придет на ether1 (если провайдер не отзывает маршрут). Сервисы на резервном IP работают всегда. Подробно в пошаговой настройке двух провайдеров.
Правила firewall для защиты публичных IP
Не забудьте защиту — RB5009 не firewall сам по себе.
/ip firewall filter
add chain=input action=accept connection-state=established,related comment=“Установленные”
add chain=input action=accept connection-state=new in-interface-list=LAN
add chain=input action=drop in-interface-list=WAN comment=“Drop all WAN input”
add chain=forward action=accept connection-state=established,related
add chain=forward action=accept in-interface-list=LAN out-interface-list=WAN comment=“LAN to WAN”
add chain=forward action=drop connection-state=invalid
add chain=forward action=drop comment=“Drop all other”
Для входящих сервисов добавьте accept перед drop: action=accept dst-address=203.0.113.1 protocol=tcp dst-port=80 in-interface-list=WAN1. Аналогично для WAN2.
Address-list для fine-tune: /ip firewall address-list add list=Only_WAN1 address=4.2.2.1; и drop output не через WAN1. Из форума по Dual WAN — это спасает от утечек.
Тестирование Dual WAN failover
Готово? Отключите WAN1 кабелем. /ip route print — distance=2 должен активироваться. Ping 8.8.8.8 с LAN — переключится за 3-10 сек (настройте netwatch для уведомлений).
Тест входящих: с внешнего хоста telnet 198.51.100.1 80 — работает всегда. Curl ifconfig.me — покажет IP активного WAN.
Логи: /log print where topics~wan. Если что-то сломано, проверьте gateway status в /ip route.
Проблемы? PCC мог остаться — удалите mangle rules: /ip firewall mangle print; remove [find].
Дополнительные советы по MikroTik настройке
Для RB5009 включите hardware NAT: /ip settings set allow-fast-path=yes. Если PPPoE — настройте на WAN интерфейсах.
Netwatch для скриптов: /tool netwatch add host=8.8.8.8 interval=10s up-script=“:log/info WAN1 up” down-script=“:log/info Failover to WAN2”.
Мониторинг: The Dude или SNMP. Если оба IP статические — идеал. Динамические? Используйте script на dhcp-client для update NAT.
Из Techbreeze гайда — отключите load-balance полностью, оставьте чистый failover. А для пробросов портов смотрите dst-nat инструкцию.
Источники
- Настройка DualWAN RouterOS 7
- Dual WAN with PCC preventing failover - MikroTik Forum
- Настройка 2 провайдера MikroTik
- Ultimate Guide to Dual WAN Failover (YouTube)
- DualWAN и MultiWAN на MikroTik
- MikroTik Dual WAN Load Balancing and Failover
- DSTNAT проброс портов MikroTik
Заключение
MikroTik Dual WAN с failover на RB5009 — надежное решение для бизнеса: оба публичных IP всегда онлайн для входящих, исходящий без сбоев переключается. Главное — рекурсивные маршруты, targeted NAT и чистый firewall. Протестируйте на тестовой сети, и uptime взлетит. Если трафик вырастет, RB5009 потянет гигабиты без пота.