Рекурсивная маршрутизация с РРРоЕ-интерфейсами (+ динамический адрес)

Обсуждение ПО и его настройки
Erik_U
Сообщения: 1755
Зарегистрирован: 09 июл 2014, 12:33

классическая рекурсивная - это проверка доступности некст хопа, т.е. именно операторского, а не за ним.

У циски это вроде встроенная функциональность. Типа поставил галочку - запустились проверки доступности.
У микротика такого нет. У него проверка идет непосредственной отправкой пакета. Не получил ask, сменил маршрут, получил - все.

Для проверки чего-то далее нужно скрипты писать.
Типа объявления переменных, присвоения первой значения дефолта с ментьшей метрикой, второй - с большей.
Потом проверка пингом какого-нибудь списка адресов в инете, и если ответов нет, команды на смену таблицы маршрутизации.
И шедулер раз в минуту.


Erik_U
Сообщения: 1755
Зарегистрирован: 09 июл 2014, 12:33

Типа такого наверно.

https://habrahabr.ru/post/279567/


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

Erik_U писал(а):У микротика такого нет. У него проверка идет непосредственной отправкой пакета. Не получил ask, сменил маршрут, получил - все.

Есть
Erik_U писал(а):Для проверки чего-то далее нужно скрипты писать.
Типа объявления переменных, присвоения первой значения дефолта с ментьшей метрикой, второй - с большей.
Потом проверка пингом какого-нибудь списка адресов в инете, и если ответов нет, команды на смену таблицы маршрутизации.
И шедулер раз в минуту.

Всё это есть в базисе "рекурсивная маршрутизация". Уже я Вам описал как она работает.
То есть со статикой это всё канает, работает.
Мне кажется Вы просто путаете с чем-то иным.

И чтобы ещё раз закрепить, вот и Вам от меня ссылка на статью одного из тренеров ===> http://vasilevkirill.com/MikroTik/1/
Найди в тексте статьи такую фразу "Ну и добавим изюминки будем следить за состоянием каналов с помощью рекурсивных маршрутов."
И ниже Вы увидите как это делается. Хочу сразу отметить, что данный тренер был с докладом на МУМ-2017.



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
Erik_U
Сообщения: 1755
Зарегистрирован: 09 июл 2014, 12:33

У вас разница только в том, что в примере гейты известны заранее, а у вас - нет.
Ну и сделайте все то же самое, только в скрипте, выяснив сначала, какие гейты дал оператор.
Не забыв нюансы из статьи по моей ссылке.

Скрипт можно запускать при каждом подъеме интерфейса с динамикой. После этого до следующего раза оно как статика работает с сконфигуренными значениями.

И да, я не знал об этой функциональности у микротика, спасибо.


KARaS'b
Сообщения: 1199
Зарегистрирован: 29 сен 2011, 09:16

А в чем сложность-то? Я делал на 2х интерфейсах, один pppoe, второй просто dhcp.
Не добавляйте "деф. роут", создайте руками, и простетский скрипт запустить, который будет брать шлюз из pppoe клиента и проверять подставлять в нужные маршруты, который можно ловить по каментам. Т.е. вся разница между статикой и pppoe, это добавление скрипта по проверке шлюза и замене если он поменялся.


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

KARaS'b писал(а):А в чем сложность-то? Я делал на 2х интерфейсах, один pppoe, второй просто dhcp.
Не добавляйте "деф. роут", создайте руками, и простетский скрипт запустить, который будет брать шлюз из pppoe клиента и проверять подставлять в нужные маршруты, который можно ловить по каментам. Т.е. вся разница между статикой и pppoe, это добавление скрипта по проверке шлюза и замене если он поменялся.

Чего Вы все так к этому шлюзу "прилипли". :-) :hi_hi_hi:
Меняется адреса, меняется шлюз, каждая сессия рррое - всё разное.
Да и мне безразлично какой шлюз и маску мне выдал провайдер,
главное - чтобы был Интернет, поэтому до шлюза мне как-то.

ЦЕЛЬ (была наверно): сделать/поднять рекурсив. маршрутизацию, но понимаю, что рекурсивную
маршрутизацию реализовать "из коробки" (как со статикой) на рррое - судя по всему никак.

Да, скриптом понятно что можно, и не адрес и не шлюз мне не нужны даже.
Маркировки ведутся, поэтому задача упрощается, закинуть проверку доступности
удалённого узла через этот интерфейс(через эту таблицу), и сделать аналитику:
есть ответ, канал жив, сидим, работаем, нет ответа, проверим ещё раз, если всё плохо, уже
переходить на запасной канал...всё это понятно. Но это уже другая тема...



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
kt72ru
Сообщения: 141
Зарегистрирован: 23 июн 2017, 07:55

/interface pppoe-client
add ac-name="" add-default-route=no allow=chap dial-on-demand=no disabled=no interface=ether1 name=PPPoE_ISP1 user=USER1 password=PASSWORD1 profile= default service-name=""
add ac-name="" add-default-route=no allow=chap dial-on-demand=no disabled=no interface=ether2 name=PPPoE_ISP2 user=USER2 password=PASSWORD2 profile= default service-name=""

/ip route
add distance=1 dst-address=8.8.4.4/32 gateway=PPPoE_ISP2
add distance=1 dst-address=8.8.8.8/32 gateway=PPPoE_ISP1

/ip route
add check-gateway=ping distance=10 gateway=8.8.8.8 target-scope=30
add check-gateway=ping distance=20 gateway=8.8.4.4 target-scope=30


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

kt72ru писал(а):/interface pppoe-client
add ac-name="" add-default-route=no allow=chap dial-on-demand=no disabled=no interface=ether1 name=PPPoE_ISP1 user=USER1 password=PASSWORD1 profile= default service-name=""
add ac-name="" add-default-route=no allow=chap dial-on-demand=no disabled=no interface=ether2 name=PPPoE_ISP2 user=USER2 password=PASSWORD2 profile= default service-name=""
/ip route
add distance=1 dst-address=8.8.4.4/32 gateway=PPPoE_ISP2
add distance=1 dst-address=8.8.8.8/32 gateway=PPPoE_ISP1
/ip route
add check-gateway=ping distance=10 gateway=8.8.8.8 target-scope=30
add check-gateway=ping distance=20 gateway=8.8.4.4 target-scope=30

Спасибо, но Ваши правила - полная копия с мануалов, лишь интерфейсы явно РРРоЕ.
И смысла они не имеют (не работают).
Устал я описывать, прилагаю картинку чтобы показать что происходит, как говориться - из практики,наяву
Изображение


Теперь Важное описание-пояснение:
1) жёлтым выделено то, что сделано на статике и работает:
а) взял адреса 4.2.2.1 и 4.2.2.2 и их описал.
б) и уже их использовал как рекурсивные маршруты.
Статус маршрутов показано "recursive". Они отрабатываются, переключаются.

2) Зелёным я показал, что я взял адрес 4.2.2.5 для рррое-out4 и этот адрес прописал как маршрут,
но второе действие, задать маршрут через него - не работает, окно выше (со стрелочкой)
Как видите статут маршрута - анричибал. А должно быть ричебл и типа via pppoe-out4-...


P.S.
Использовал адреса 4.2.2.х потому что гугловские не хочу использовать, забуду, привяжу
их (гугловские) к разным политикам и файрволам, пингов не будет, и буду думать что канал(ы) померли.
Поэтому взял другие публичные ДНСы. Главное что пингуются и ладно.



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
kt72ru
Сообщения: 141
Зарегистрирован: 23 июн 2017, 07:55

Vlad-2 писал(а):Спасибо, но Ваши правила - полная копия с мануалов, лишь интерфейсы явно РРРоЕ.

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

Vlad-2 писал(а):И смысла они не имеют (не работают).

Может быть, PPPoE нету, соответственно проверить не могу.
Если указание интерфейса не помогает, значит остается только одно, при поднятии сессии ловить IP шлюза и скриптом добавлять правило в таблицу.


kt72ru
Сообщения: 141
Зарегистрирован: 23 июн 2017, 07:55

кстати в wiki черный по белому написано


"Nexthop lookup
....
Routes with interface name as the value of gateway are not used for nexthop lookup. If route has both interface nexthops and active IP address nexthops, then interface nexthops are ignored."

так что рекурсия будет работать только при указании IP шлюза, никаких интерфейсов и т.п. Хоть PPPoE p-t-p интерфейс и при обычной маршрутизации можно указывать только его в качестве шлюза, но в данном случае это не работает.


Ответить