Не могу настроить резервирование инета в Mikrotik, в чем проблема?
Проблема, видимо, очень простая, но не могу разобраться.
Настраиваю автоматическое переключение каналов на MKikrotik. 2 интерфейса от 2 провайдеров у обоих статический белый IP, ether2 - основной, ether1 - резервный, с двумя маршрутами по умолчанию, с разной дистанцией:
Ether2 дистанция -2
Ether1 Дистанция -3.
Проверяю доступность инета пингом гугла и яндекса.
И здесь странный результат:
Пингую через ether1, с маршрутом по умолчанию eher2 - пингуется.
Меняю дистанцию у маршрута Ether1 на 1 (он становится основным)
Пингую через ether2 - не пингуется.
Почему?
Пингую через ether1, с маршрутом по умолчанию eher2 - пингуется.
Меняю дистанцию у маршрута Ether1 на 1 (он становится основным)
Пингую через ether2 - не пингуется.
ШтаааааааааА? Что за дичь я прочитал? Можно понятным и адекватным языком?
Это как? :-) В сети 4.5.1.0/30 всего 4 адреса. И 4.5.1.12 туда точно не входит. Такая же история про ether2 -- то, что у вас указано как network, не попдает в подсеть на интерфейсе.
Олег, зачем вы указываете интерфейс?
Некоторые провайдеры режут трафик не из подсети выданной вам, т.е трафик идущий от вас с IP провайдера 1 может резаться провайдером 2 и наоборот
Олег, так работать не будет.
Добавляйте статические маршруты через провайдера 1 и провайдера 2 к нужному адресу, можно даже в разные таблицы маршрутизации. При пинге указывайте таблицу
Олег, поле interface учитывается только для IPv6 и link-local адресов, для IPv4 оно игнорируется и никак не влияет. Трафик пойдёт по дефолтному маршруту
Хмм, почему тогда в первом случае пинг идет по дефолтному маршруту и пингуется, а во тором идет по дефолтному и не пингуется.
Все эксперименты проводятся, когда оба провайдера работают.
Из самого очевидного:
1. Выбрать 2 ip в инете, которые будут пинговаться для определения доступности, для каждого канала по одному адресу.
2. Прописать статические маршруты до каждого из выбранных ip, через соответствующего провайдера. Т.е. адреса должны пинговаться без прописанного шлюза по умолчанию (default) причём каждый из них через свой канал провайдера.
3. Далее, задача сводится к установке default gw на основной или резервный канал, в зависимости от результатов пингов. Причём, для корректной работы nat, желательно при переключении канала зачищать уже открытые соединения nat.
У вас через ether1 не найдет шлюз 4.5.1.13, потому что при маске /30 он увидит только адреса 4.2.6.12-15.
По идее у вас даже маршрут должен быть не активен. Поэтому пинги даже не выходят. Запустите трассировку посмотрите на каком шаге он пропадает
Не надо настраивать через метрику. (Сам на этом обломался.)
Если падает основной канал у прова, но его шлюз доступен, то ничего у вас работать не будет.
То что вам нужно, можно сделать через NetWatch скриптами типа таких. (Т.е отключать и включать нужные роуты.)
/ip route set [find comment="ISP2"] disabled=no
/ip route set [find comment="ISP1"] disabled=yes
предварительно пометив роуты. Поищи подробно в интернете.
достаточно отключать/включать основной маршрут.
но это те же самые грабли. если нетвач наблюдает за узлом 8888 к примеру, и если он недоступен, то отключает маршрут ISP1 (я делал изменение дистанции на 100 потому что так правильнее). при этом узел этот жестко привязывают к за определенным шлюзом.
рекурсия работает точно так же.
падает основной канал у прова, но его шлюз доступен,
поэтому настраивают рекурсию и все будет работать.
PS
но в своем прошлом комментарии я сделал ошибку.
теперь поправил