Админская фамилия

Make Sysadmins Great Again

DHCP Failover with RouterOS

DHCP сервер - одна из наиболее критичных служб сетевой инфраструктуры. Он обычно прост в настройке и не привлекает к себе внимание до того момента пока в сети не начинаются непонятные моменты: машины не получают адреса или получают, но совсем не те, которые хотел бы администратор. Вследствие чего сеть просто перестает работать.

В этой статье попробуем создать отказоустойчивый DHCP сервер на Mikrotik RouterOS.

Для понимания работы системы системы нужно сначала понять принцип работы самого протокола. Тем, кто и так это знает, следующий пункт можно не читать.


Как Windows работает с несколькими шлюзами по умолчанию

Для обеспечения отказоустойчивости сетей применяется практика использования нескольких шлюзов по умолчанию. В таком случае при доступности одного из шлюзов, трафик будет идти через него (шлюзы не эквивалентны, постоянно активен только один). При отказе этого шлюза, трафик пойдет через второй шлюз. С соединениями по TCP проблем это не создаст. Единственное, TCP коннект должен будет пересоединиться по новому маршруту после завершения таймаута соединения. С трафиком же UDP могут возникнуть проблемы при переключении шлюза - телефония начнет заикаться, видео будет пропадать. Но по прошествии какого-то времени проблема исчезнет. А как Windows определяет доступность шлюза? Об этом ниже.Когда TCP-соединение маршрутизируется через основной шлюз, хост пытается отправить пакет к получателю столько раз, сколько указано в ключе реестра TcpMaxDataRetransmissions, деленное пополам. И если ответ от получателя за это количество попыток ни разу не пришел, то алгоритм меняет Route Cache Entry (RCE) (кэш маршрутов). Наше соединение (отправившее TcpMaxDataRetransmissions/2 пакетов и не получившее ни одного ответа) переключается на шлюз, указанный вторым в настройках адаптера. Когда 25% TCP-соединений переключатся на второй шлюз, он становится шлюзом по умолчанию. Новый шлюз по умолчанию будет использоваться до возникновения аналогичных проблем с ним, либо до перезагрузки системы.Вольный перевод KB171564


Самый полный мануал по резервированию интернета на Mikrotik RouterOS

В сети много мануалов по фэйловеру на RouterOS и подобрать нужный под конкретные цели иногда проблематично. В ходе своих экспериментов я выяснил, что наиболее универсальным является этот способ. Но у меня возникло несколько вопросов, ответы на которые я пока не нашел.

/ip route  
add dst-address=**Host1** gateway=GW1 scope=**10**  
add dst-address=**Host2** gateway=GW2 scope=**10**
/ip route  
add distance=1 gateway=**Host1** routing-mark=ISP1 check-gateway=ping  
add distance=2 gateway=**Host2** routing-mark=ISP1 check-gateway=ping
/ip route  
add distance=1 gateway=**Host2** routing-mark=ISP2 check-gateway=ping  
add distance=2 gateway=**Host1** routing-mark=ISP2 check-gateway=ping

Я делаю немного по-другому: первые две строки точно такие же, а дальше:


RouterOS failover links

Фэйловер разных типов подключений