- PVSM.RU - https://www.pvsm.ru -
Оговорюсь сразу, на многих ресурсах есть множество инструкций по настройке failover, от простейших настроек до сложных скриптов. Моя же статья подойдёт не всем, тут есть два необходимых условия:
Инициализировать PPPoE соединения у нас будет роутер MikroTik hAP AC Lite. Перед роутером у нас стоят — GePON ONT Eltex NTE RG-1402G (основной канал) и Ubiquity Litebeam M5-23 (резервный канал, радио). Все устройства подключения к сети провайдера настроены в режиме моста (bridge).
Создаём PPPoE клиент основного канала.
/interface pppoe-client add name=«Opta» interface=[имя интерфейса основного канала] user="[ваше имя пользователя]" password="[ваш пароль]" add-default-route=yes use-peer-dns=yes disabled=no default-route-distance=0
Создаём PPPoE клиент резервного канала.
/interface pppoe-client add name=«Radio» interface=[имя интерфейса резервного канала] user="[ваше имя пользователя]" password="[ваш пароль]" add-default-route=yes use-peer-dns=yes disabled=no default-route-distance=1
Создаём DHCP клиент основного канала.
/ip dhcp-client
add interface=[имя интерфейса основного канала] use-peer-dns=yes add-default-route=yes disabled=no default-route-distance=2
Метрика интерфейсов подобрана специально таким образом, что при активном состоянии основного канала трафик будет идти только через него.
Создаём статический маршрут. Таким образом у нас будет идти проверка состояния канала. Наверняка провайдер не будет пускать в интернет через DHCP client, в основном DHCP клиент у PPPoE провайдеров используется для внутренних ресурсов(телевидение, личный кабинет). В качестве адреса для проверки состояния можно использовать один из этих ресурсов или же какой-то из BRAS, если правилами файрвола со стороны провайдера не запрещен пинг до него. Также стоит учитывать, что если у провайдера начнутся проблемы с ресурсом, произойдет переключение канала.
/ip route add [адрес, по которому будет вестись проверка состояния] [шлюз, в нашем случае мы указываем шлюз DHCP клиента] distance=2
Запрещаем подключение до проверочного ресурса через PPPoE туннель.
/ip firewall filter add chain=output action=drop dst-address=[адрес, по которому будет вестись проверка состояния] out-interface=Opta
Запрещаем подключение до проверочного ресурса через PPPoE туннель.
/ip firewall filter add chain=output action=drop dst-address=[адрес, по которому будет вестись проверка состояния] out-interface=Radio
Правило NAT позволяющее нам получать доступ к ресурсу из локальной сети.
/ip firewall nat add chain=srcnat action=masquerade out-interface=[имя интерфейса, на котором у нас DHCP клиент]
Добавляем правило netwatch. Interval = время опроса хоста в секундах. Timeout = время ожидания отклика хоста. Down-script = скрипт, который, выполняется при отсутствии отклика от хоста, в нашем случае это отключение основного PPPoE клиента. Up-script = скрипт выполняющийся при появлении отклика до хоста.
/tool netwatch add host=[адрес ресурса для проверки] interval=00:00:05 timeout=1 down-script="/interface pppoe-client disable 0" up-script="/interface pppoe-client enable 0"
Таким образом netwatch производит пинг до указанного хоста, в случае отсутствия отклика выключается основной PPPoE клиент. По скольку резервный канал у нас поднят трафик начинает идти через него. После восстановления основного канала включается основной PPPoE клиент, по скольку метрика у него ниже, трафик автоматически начинает идти через него.
Автор: Пупсень и Вупсень
Источник [1]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/pesochnitsa/268079
Ссылки в тексте:
[1] Источник: http://habrahabr.ru/sandbox/112208/
Нажмите здесь для печати.