Reachable mikrotik что это

Рекурсивная маршрутизация в MikroTik

Принцип работы рекурсивной маршрутизации в MikroTik и что такое scope и target-scope

Рекурсивная маршрутизация

Данная реализация поведения маршрутизации появилась из-за того, что в протоколе BGP при распространении маршрутов полученных через eBGP в iBGP next-hop по умолчанию, не меняется. Но не будем о BGP, а будем о простом.

Давайте начнём с простого, ниже я привёл таблицу маршрутизации простого маршрутизатора без каких либо излишек.

Смотря на таблицу маршрутизации выше, ответьте на вопрос. Какой шлюз будет выбран для отправки пакета на адрес 8.8.8.8?

Я более чем уверен, что вы абсолютно правильно определили шлюз как 10.11.100.254 в маршруте 0.0.0.0/0 по номером ноль.

А теперь попробуйте ответить на следующий вопрос. Какой интерфейс будет выбран для отправки пакета на адрес 8.8.8.8? Почувствуйте разницу, в первом вопросе я спрашивал про шлюз, а в данном вопросе про интерфейс.

И вы скорее всего все ответите, что ether1 и будете правы, но вопрос почему именно так.

Задача маршрутизатора, определить не шлюз, а интерфейс выхода, так как маршрутизатору надо будет понять как передать до шлюза пакет, если тип ethernet, то необходимо будет выяснить с помощью arp mac адрес шлюза, если это какой-то тип инкапсуляции, то пакет надо обернуть в данный тип инкапсуляции и отправить, на адрес пира.

Я не могу, вам показать fullview таблицу маршрутизации, так как она бы банально заняла огромное место на данной странице.

И так представьте у себя в голове таблицу маршрутизации в 700000 маршрутов. Представили?!

Я намеренно проигнорирую такие вещи как Кеш таблицы маршрутизации. (Представим, что его нет.)

Перед маршрутизатором стоит задача, отправить пакет на адрес 8.8.8.8

В данном процесс поиска, есть одно тонкое место, при повторном поиске маршрута, уже до адреса шлюза 5.5.5.1 маршрутизатор проходит опять всю таблицу маршрутизации. Вам не кажется, что это немного излишне? Строго говоря адрес шлюза должен быть в непосредственно присоединенной сети к маршрутизатору! Так может следующий поиск осуществлять только среди connected маршрутов? да это было бы идеально. Но так как я уже написал выше, в протоколе BGP при передачи маршрута из eBGP в iBGP адрес шлюза не меняется, то шлюз уже не может быть connected. И что же делать?

Scope

В linux, а так как RouterOS основан на Linux, то также и в RouterOS введено такое понятие как scope маршрута и target-scope

Reachable mikrotik что это. scope1. Reachable mikrotik что это фото. Reachable mikrotik что это-scope1. картинка Reachable mikrotik что это. картинка scope1

У любого маршрута есть, свой scope и target-scope.

Теперь давайте смотря на таблицу маршрутизации выше, попробуем ответить на вопрос. Какой интерфейс будет выбран для отправки пакета на адрес 8.8.8.8?

Значения Scope

Значение вы можете править руками, как для scope так и для target-scope. В случае с динамической маршрутизацией вы можете scope или target-scope указать с помощью фильтров маршрутизации, но вам необходимо знать, что есть предустановленные значения.

Все типы маршрутов, кроме на iBGP, основаны на состоянии интерфейса, ну возможно eBGP немного сбоку стоит, так как по умолчанию он требует прямой связности с пиром, хотя это обходится с помощью multihop. А iBGP у него target-scope = 30, так как адрес шлюза не меняется, и нужен ещё один какой-то протокол, который бы сообщил как достичь сети nexthop-a. Например статический маршрут или зачастую ospf.

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

И так давайте переделаем дефолтный маршрут, и адрес шлюза укажем не наш шлюза, а например 8.8.8.8

Создадим маршрут до 8.8.8.8 через шлюз нашего провайдера.

Создали, маршрут но маршрут по умолчанию, до сих пор не активен. Так как маршрутизатор всё также не смогу найти, маршрут до 8.8.8.8, так как target-scope дефолтного маршрута равен 10, и именно среди таких scope будет производится поиск до адреса 8.8.8.8. Нам необхоидимо установить scope маршрута 8.8.8.8, так чтобы он попадал под поиск, а это значит установить scope либо 10 или меньше. Сделаем.

И наблюдаем, то что поднялся рекурсивный маршрут. gateway-status=8.8.8.8 recursive via 10.11.100.254

Теперь давайте ещё раз ответим на вопрос, только изменим адрес назначения. Какой интерфейс будет выбран для отправки пакета на адрес 4.4.4.4?

А теперь мы можем сделать следующее, мы можем указать, использовать check-gateway и тем самым проверять доступность 8.8.8,8, и если будут недоступны, маршрут умрёт, и станет активным какой-нибудь другой маршрут с худшей дистанцией, например через LTE интерфейс.

Вы можете сделать рекурсивно, друг за другом, но это не имеет значение не в каких целях.

Одними 8.8.8.8 сыт не будешь

Да конечно, если упадёт 8.8.8.8, то мало не поздоровиться, будете переделывать. Можно поступить следующим образом.

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

Создать три маршрута, через нашего провайдера. Таким образом

Далее создать три дефолтных рекурсивных маршрута, разной дистанцией.

В итоге, у вас будет такая картина в Winbox.

Reachable mikrotik что это. reurscive1. Reachable mikrotik что это фото. Reachable mikrotik что это-reurscive1. картинка Reachable mikrotik что это. картинка reurscive1

Если от 77.88.8.8 перестанет приходить ответы icmp, но при этом 8.8.8.8 будет приходить, то маршрут через шлюз 77.88.8.8 выпадет из процесса маршрутизации и его место займет следующий дефолтный маршрут по дистанции.

Часто слышу вопрос, а как сделать так, чтобы можно сделать через PPPoE рекурсивный маршрут? Тут всё дело в понимании, как таковой адрес шлюза не используется, кроме как в ethernet сетях, так как в ethernet нам нужен его mac адрес, в любых типах инкапсуляции в том числе и PPPoE адрес шлюза не используется, в виду того, что маршрутизатору просто надо запихнуть пакет в другой протокол и отправить на другую сторону.

Естественно мы можем этим воспользоваться.

Создайте отдельный PPP Profile и укажите абсолютно любой IP адрес в поле remote-address, главное чтобы этот адрес не пересекался с вашими внутренними сетями. Далее укажите этот профиль в настройках вашего PPPoE клиента, и вы можете использовать указанный адрес в поле remote-address, как адрес шлюза, для настройки рекурсивной маршрутизации.

Источник

Рекурсивная маршрутизация в MikroTik через шлюзы назначемые DHCP

Наиболее часто задаваемый мне вопрос по использованию рекурсивной маршрутизации звучит так: «Что делать, если основной провайдер назначает нам ip-адрес через dhcp, при этом часто изменяется шлюз по-умолчанию?».

Reachable mikrotik что это. image loader. Reachable mikrotik что это фото. Reachable mikrotik что это-image loader. картинка Reachable mikrotik что это. картинка image loader

Warning! материалы и схемы в данной статье упрощены до примитивизма с целью дать общее понятие о методе решения проблемы. Без углубления в частности.

Для чего нужна рекурсивная маршрутизация? Для мониторинга наличия интернета за шлюзом провайдера. Ведь нередко случается, что маршрутизатор провайдера прекрасно отвечает на эхо-запросы, но [ап]линк в глобальную сеть у провайдера о какой-то причине пропал.

Рекурсивная маршрутизация позволяет оценить наличие доступа в Интернет через выбранного провайдера и принять решение о маршрутизации трафика.

Однако, дело в том, что использование рекурсивной маршрутизации предполагает наличие прибитого гвоздями прямое явное указание IP-адреса шлюза среди параметров создаваемого маршрута. Указание в качестве шлюза имени broadcast-интерфейса является неправильным и во многих случаях просто не работает, т.к. требует наличия proxy-arp со стороны провайдера. А еще, вместо провайдера proxy-arp может включить ваш сосед про провайдерскому свитчу и попытаться перехватить таким образом ваш трафик, устроив классический MITM!

Магия рекурсивной маршрутизации прячется за параметрами «scope» и «target-scope». Чтобы маршрут работал как рекурсивный, его «target-scope» должен быть больше или равен значению «scope» у статического маршрута на который он ссылается рекурсивно, а указанный в маршруте шлюз лежал вне прямой досягаемости через один из интерфейсов.

Рассмотрим простейшую схему Active/Backup. Наш маршрутизатор выполнятет NAT и подключен к двум провайдерам посредством интерфейсов Ether1-isp1 и Ether2-isp2. Основной провайдер (ISP-1) раздаёт своим клиентам IP-адреса посредством протокола DHCP и никак иначе. Второй провайдер предоставляет нам статический IP-адрес, но значительно меньшую скорость.
Переключение на запасного (ISP-2) должно происходить тогда, когда доступ в Интернет через основного провайдера становится невозможным.

Reachable mikrotik что это. image loader. Reachable mikrotik что это фото. Reachable mikrotik что это-image loader. картинка Reachable mikrotik что это. картинка image loader

Изюминкой от провайдера для подобной схемы является периодическая произвольная смена не только IP-адреса клиента, но и default-gateway.

До версии 6.39 мне приходилось видеть весьма изощренные костыли в различных комбинациях sheduler, netwatch и тому подобных механизмов.

Начиная с версии 6.39 разработчики RouterOS пошли навстречу таким пользователям и создали возможность вызывать специальный скрипт при срабатывании dhcp-клиента на устройстве.

Собственно решение состоит из двух частей:

Создадим резервный маршрут через «ISP-2» со значением «distance» больше, чем у будущего основного. В данном примере я использовал «distance=2»:

Далее, для того, чтобы получать от провайдера «ISP-1» маршрут по-умолчанию, но прямо его не использовать, существует специальное значение «distance=255». Маршрут с таким значением distance попадет в системную таблицу маршрутизации, но никогда не станет активным.

Такой маршрут нужен нам только для чтения присланных провайдером параметров и внедрением их в настройки рекурсивных маршрутов посредством скрипта.

Первая строка должна (и будет!) указывать на настоящий шлюз в сети провайдера лишь после того, как провайдер выдаст параметры по dhcp и они будут обработаны посредством dhcp-client script:

Теперь, при получении от провайдера «ISP-1» IP-адреса для использования в качестве шлюза по-умолчанию, он будет внесен в маршрутную пару вместо «127.0.0.1».
Вторая строка, где указан маршрут до 0.0.0.0/0, собственно и осуществляет всю магию. Указанный там в качестве шлюза узел 8.8.4.4 будет проверяться на отклик опцией «check-gateway=ping» именно через сеть ISP-1. В случае если узел 8.8.4.4 не ответит дважды на эхо-запросы в течение 20 секунд, маршрутизатор будет считать связь с Интернетом через этот маршрут (ISP-1) недоступной. Новые соединения в этом случае будут направлены через запасного провайдера ISP-2.

Если всё сделано правильно, то в окне winbox /ip->routes около маршрута до 8.8.4.4 будет видно слова «resursive via. ». Это значит маршрут построился именно как рекурсивный.

В завершении, исключительно для примера — скрин окна винбокса:

Источник

MikroTik. Правильный dst nat при использовании 2-х и более провайдеров

Приступая к выполнению задачи я рассчитывал на легкую прогулку в тени дубового парка, созерцая природу и предаваясь размышлениям… Однако позже стало понятно, что это будет тернистый и сложный поход сквозь горные реки с подводными камнями, обледеневшими скалами и глубокими пещерами.
Через медитации, борьбу со стихиями и собственной тупостью преодоление себя я, все таки, достиг желанной нирваны.

В этой статье я не только предоставлю готовый набор правил, но и постараюсь максимально доступно объяснить почему и как именно они работают.

Reachable mikrotik что это. image loader. Reachable mikrotik что это фото. Reachable mikrotik что это-image loader. картинка Reachable mikrotik что это. картинка image loader

Часть 1.

Для начала пробежимся по всем настройкам, дабы самые нетерпеливые могли скопипастить не читая.

Не помню начиная с какой версии RouterOS появилась эта фишка. Она позволяет группировать интерфейсы, что весьма удобно (например, в правилах /ip firewall). У меня создана группа из 3-х WAN-интерфейсов.
AcidVenom подсказал, что в 6.36

IP-адреса (адреса, по понятным причинам, «левые»):

Для организации Failover’а я настроил рекурсивную маршрутизацию, подробнее расскажу в 2-ой части.

Firewall (для данной публикации я сознательно привожу правила, разрешающие все.
Не делайте так!):

Часть 2.

Рассмотрим все подробнее.

/ip route
В первых трех строчках мы указываем default gateway каждого из 3-х наших провайдеров.
Маршруты имеют одинаковый вес (distance), но работают в разных таблицах маршрутизации.

Другими словами, эти маршруты работают для пакетов промаркированных соответствующим тегом (routing-mark). Теги пакетам мы будем навешивать в /ip firewall mangle (о чем я подобно расскажу ниже).

Следующие 3 строки — указание маршрутов по умолчанию в основной таблице маршрутизации.

Здесь стоит обратить внимание на:

ISP1 — основной, за ним ISP2 и ISP3 замыкает, т.е. при отказе провайдера ISP1 работать будем через ISP2, если и ISP2 почил в бозе, то за дело возьмется ISP3.

На самом деле трафик отправится активному провайдеру, а дальше тот отправит его в Интернет через свои аплинки.

Английский статьи http://wiki.mikrotik.com/wiki/Manual:IP/Route, на мой взгляд, слегка упорот. Это не Cisco CCNA Exploration, который читается на одном дыхании, но я постараюсь перевести ее отрывок максимально понятно. Если где-то увидите такую же упоротость, поправьте меня, пожалуйста.

Во-первых, определимся с некоторыми терминами.
Nexthop — следующий прыжок, если дословно. Следующий шлюз/роутер/маршрутизатор на пути следования пакета из точки А(от моего роутера, например) в точку Б (допустим до гуглового DNS 8.8.8.8), т.е. следующий транзитный участок, на котором будет обрабатываться пакет. В переводе будет использоваться словосочетание “следующий хоп” (простите за англицизм).

Immediate nexthop — следующий шлюз/роутер/маршрутизатор на пути следования пакета из точки А в точку Б, доступный непосредственно. Для моего домашнего MikroTik, с маршрутом по-умолчанию:

89.189.163.1 — это и есть immediate nexthop, т.к. доступен он через ether1-gateway. В переводе будет использоваться словосочетание “непосредственно доступный следующий хоп”.

Connected route — связанный маршрут. Маршрут, шлюз которого доступен непосредственно.

Gateway — сетевой шлюз/роутер/маршрутизатор.
Я буду пользоваться всеми тремя вариантами перевода.

scope — Используется в механизме поиска следующего хопа, т.е. решения какой же хоп станет следующим. Нужный маршрут может быть выбран только среди маршрутов, значения scope которых меньше либо равно значению target-scope. Значения по-умолчанию зависят от протокола:

Табличка значений обоих параметров.

Reachable mikrotik что это. image loader. Reachable mikrotik что это фото. Reachable mikrotik что это-image loader. картинка Reachable mikrotik что это. картинка image loader

Поиск следующего хопа.
Поиск следующего хопа является частью процесса выбора маршрута.

Маршрутам, находящимся в FIB, нужен интерфейс, соответствующий каждому из адресов шлюзов. Адрес следующего хопа-шлюза должен быть непосредственно доступен через этот интерфейс. Интерфейс, который следует использовать для посылки исходящего пакета каждому из шлюзов, находится с помощью поиска следующего хопа.

Некоторые маршруты (например, iBGP), в качестве адреса шлюза, могут иметь адрес принадлежащий маршрутизатору, находящемуся через несколько прыжков-шлюзов от нашего MikroTik. Для установки таких маршрутов в FIB необходимо найти адрес шлюза, доступного непосредственно (an immediate nexthop), т.е. напрямую от нас, который и будет использоваться для достижения адреса шлюза в этом маршруте. Непосредственный адрес следующего хопа также может быть найден при помощи механизма поиска следующего хопа.

Поиск следующего хопа выполняется только в основной таблице маршрутизации main, даже для маршрутов, имеющих отличное значение параметра routing-mark. Это необходимо для ограничения установки маршрутов, которые могут быть использованы для поиска непосредственно доступных хопов (immediate nexthops). В маршрутах для протоколов RIP или OSPF предполагается, что следующий маршрутизатор доступен непосредственно и должен быть найдены используя только связанные маршруты(connected routes).

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

Маршруты, имеющие значение параметра scope больше максимально допустимого не используются в поиске следующего хопа. В каждом маршруте указывается максимально допустимое значение параметра scope, для его следующего хопа, в параметре target-scope. Значение по-умолчанию для этого параметра позволяет выполнить поиск следующего хопа только через связанные маршруты (connected routes), за исключением iBGP-маршрутов, которые имеют большее значение по-умолчанию и могут выполнить поиск следующего хопа также через IGP и статические маршруты.

Reachable mikrotik что это. image loader. Reachable mikrotik что это фото. Reachable mikrotik что это-image loader. картинка Reachable mikrotik что это. картинка image loader

Интерфейс и адрес следующего непосредственно доступного маршрутизатора выбираются основываясь на результатах поиска следующего хопа:

Он и принимает, и таким образом маршруты по-умолчанию через:

Надеюсь мой перевод и объяснение будут вам полезны.

Пока самые охочие до знаний читают под спойлером, расскажу немого короче и проще.
Когда мы указываем scope=10 в последних трех строках, мы даем понять MikroTik’у, что:

/ip firewall mangle

Для пояснения правил этого раздела пригласим несколько помощников.

Начем с первых двух.
В первом мы сообщаем роутеру, что все входящие chain=input соединения на интерфейс ISP1 нужно маркировать action=mark-connection new-connection-mark=ISP1-conn, а так же указаваем passthrough=yes, чтобы пакет, после прохождения этого правила, не покинул таблицу и продолжил следование по правилам.

Все описанное выше справедливо и для ISP2 и для ISP3. Таким образом мы добились того, что роутер ответит именно с того интерфейса, на который к нему прийдет запрос.

Переходим к завершающим шести правилам.
Уже понятно, они также разбиты на подгруппы по 2, для каждого из наших ISP.
Первое из них поручает роутеру следить за цепочкой FORWARD и если происходит соединение через интерфейс ISP1, то оно маркируется action=mark-connection новым тегом new-connection-mark=ISP1-conn-f (обратите внимание! отличным от тега трафика самого маршрутизатора, в данном случае мы маркируем транзитный трафик). passthrough=no, т.к. мы не хотим, чтобы пакет, после попадания в это правило, обрабатывался в таблице как-то еще.

Второе навешивает нужную метку роутинга new-routing-mark=ISP1-route в цепочке PREROUTING, т.е. ДО принятия решения о маршрутизации, и отслеживает трафик пришедший к нам из локальной сети in-interface=bridge.
Здесь нас выручает механизм CONNECTION TRACKING, позволяющий поймать промаркированные правилом выше соединения из локальной сети(от WEB-сервера) и навесить им необходимый тег роутинга.

Это позволяет транзитному трафику(здесь к/от web-сервера) идти именно тем путем, которым он и пришел, т.е. пришел через ISP1 — уходи через него же.

Заключение

Очень рад, если мои объяснения понятны, а данный труд станет полезен.
Ушел медитировать, всем удачи!

Источник

Основы статической маршрутизации в Mikrotik RouterOS

Маршрутизация — процесс поиска оптимального пути для передачи пакетов в сетях TCP/IP. Любой устройство подключенное к сети IPv4 содержит процесс и таблицы маршрутизации.

Данная статья не является HOWTO, она описывает на примерах статическую маршрутизацию в RouterOS, я намеренно опускал остальные настройки (например srcnat для доступа в сеть интернет), поэтому для понимания материала требуется определенный уровень знания по сетям и RouterOS.

Коммутация и маршрутизация

Reachable mikrotik что это. 5vh7a2relrje9g9e5kbonuogsqw. Reachable mikrotik что это фото. Reachable mikrotik что это-5vh7a2relrje9g9e5kbonuogsqw. картинка Reachable mikrotik что это. картинка 5vh7a2relrje9g9e5kbonuogsqw

Маршрутизация — процесс передачи пакетов между Layer2 сегментами. Если устройство хочет отправить пакет, получатель которого находится за пределами Ethernet сегмента, оно смотрит в свою таблицу маршрутизации и передает пакет шлюзу, который знает куда отправить пакет дальше (а может и не знает, изначальный отправитель пакета про это не осведомлен).

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

Если вам все понятно или вы и так это знали, то читайте дальше. Остальным настоятельно рекомендую ознакомиться с маленькой, но очень емкой статьей.

Маршрутизация в RouterOS и PacketFlow

Практически весь функционал относящийся к статической маршрутизации находится в пакете system. Пакет routing добавляет поддержку алгоритмов динамической маршрутизации (RIP, OSPF, BGP, MME), Routing Filters и BFD.

На PacketFlow можно выделить три места, где принимаются решения о маршрутизации IP пакетов:
Reachable mikrotik что это. pkiempktzjkwz6tcwrnwyl1c1dc. Reachable mikrotik что это фото. Reachable mikrotik что это-pkiempktzjkwz6tcwrnwyl1c1dc. картинка Reachable mikrotik что это. картинка pkiempktzjkwz6tcwrnwyl1c1dc

RIB, FIB, Routing Cache

Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Routing Information Base
База в которой собираются маршруты от протоколов динамической маршрутизации, маршруты от ppp и dhcp, статические и подключенные (connected) маршруты. Данная база содержит все маршруты, за исключением отфильтрованных администратором.

Условно, можно считать что [IP]->[Route] отображает RIB.

Forwarding Information Base
Reachable mikrotik что это. ktjnq1ebrd0. Reachable mikrotik что это фото. Reachable mikrotik что это-ktjnq1ebrd0. картинка Reachable mikrotik что это. картинка ktjnq1ebrd0

База в которой собираются наилучшие маршруты из RIB. Все маршруты в FIB являются активными и используются для пересылки пакетов. Если маршрут становится неактивным (отключен администратором (системой), или интерфейс через который должен отправляться пакет не активен) маршрут удаляется из FIB.

Для принятия решения о маршрутизации в таблице FIB используются следующие данные о IP пакете:

Попадая в FIB пакет проходит следующие стадии:

Условно, можно считать что [IP]->[Route Active=yes] отображает FIB.

Routing Cache
Механизм кэширования маршрутов. Маршрутизатор запоминает куда были отправлены пакеты и если встречаются похожие (предположительно из одного соединения) пускает их по тому-же маршруту, без проверки в FIB. Кэш маршрутов периодически очищается.

Данный механизм был удален из ядра linux 3.6, но в RouterOS до сих пор используется kernel 3.3.5, возможно Routing cahce — одна из причин.

Диалог добавления маршрута

[IP]->[Route]->[+]
Reachable mikrotik что это. thlbel kvf2gk s2125imh z7cg. Reachable mikrotik что это фото. Reachable mikrotik что это-thlbel kvf2gk s2125imh z7cg. картинка Reachable mikrotik что это. картинка thlbel kvf2gk s2125imh z7cg

Флаги маршрутов
Reachable mikrotik что это. airoivo1bmk3lgbqj hivpbjdyc. Reachable mikrotik что это фото. Reachable mikrotik что это-airoivo1bmk3lgbqj hivpbjdyc. картинка Reachable mikrotik что это. картинка airoivo1bmk3lgbqj hivpbjdyc

Что указывать в gateway: ip-адрес или интерфейс?

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

IP адрес
Адрес шлюза должен быть доступен по Layer2. Для Ethernet это означает, что роутер должен иметь на одном из активных интерфейсов ip адрес из той же подсети, для ppp — что адрес gateway указан на одном из активных интерфейсов в качестве адреса подсети.
Если условие доступности по Layer2 не выполняется — маршрут считается неактивным и не попадает в FIB.

Интерфейс
Все сложнее и поведение маршрутизатора зависит от типа интерфейса:

Reachable mikrotik что это. i6 nnbyrlylq0jk6pqwefb 2qz8. Reachable mikrotik что это фото. Reachable mikrotik что это-i6 nnbyrlylq0jk6pqwefb 2qz8. картинка Reachable mikrotik что это. картинка i6 nnbyrlylq0jk6pqwefb 2qz8

Старайтесь указывать ip адрес в качестве gateway всегда когда это возможно. Исключение — connected маршруты (создаются автоматически) и PPP (Async, PPTP, L2TP, SSTP, PPPoE, OpenVPN*) интерфейсы.

OpenVPN не содержит PPP заголовка, но можно использовать имя OpenVPN интерфейса для создания маршрута.

More Specific Route

Основное правило маршрутизации. Маршрут описывающий более маленькую подсеть (с наибольшей маской подсети) имеет больший приоритет при принятии решения о маршрутизации пакета. Положение записей в таблице маршрутизации не имеет отношения к выбору — основное правило More Specific.

Reachable mikrotik что это. smcyi9gkebkm8iq yjcbev8 vs0. Reachable mikrotik что это фото. Reachable mikrotik что это-smcyi9gkebkm8iq yjcbev8 vs0. картинка Reachable mikrotik что это. картинка smcyi9gkebkm8iq yjcbev8 vs0

Все маршруты из указанной схемы активны (находятся в FIB), т.к. указывают на различные подсети и не конфликтуют между собой.

Если один из шлюзов станет недоступным, связанный маршрут будет считаться неактивным (удален из FIB) и для пакетов будет производиться поиск из оставшихся маршрутов.

Маршруту с подсетью 0.0.0.0/0 иногда придают особое значение и называют «Маршрут по умолчанию» (Default Route) или «Шлюз последней надежды» (gateway of last resort). На самом деле в нем нет ничего магического и он просто включает все возможные адреса IPv4, но данные названия хорошо описывают его задачу — он указывает на шлюз, куда пересылать пакеты для которых нет других, более точных, маршрутов.

Максимально возможная маска подсети для IPv4 — /32, такой маршрут указывает на конкретный хост и может использоваться в таблице маршрутизации.

Понимание More Specific Route является фундаментальным для любых устройств работающих с TCP/IP.

Distance

Дистанции (или Метрики) необходимы для административной фильтрации маршрутов до одной подсети доступной через несколько шлюзов. Маршрут с меньшей метрикой считается приоритетным и попадет в FIB. Если маршрут с меньшей метрикой перестанет быть активным, то в FIB он будет заменен на маршрут с большей метрикой.
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Если присутствует несколько маршрутов до одной подсети с одинаковой метрикой, маршрутизатор добавить в таблицу FIB только один из них, руководствуясь своей внутренней логикой.

Метрика может принимать значение от 0 до 255:
Reachable mikrotik что это. rhfkj1shnnjhqmvwhcc7o0itq8i. Reachable mikrotik что это фото. Reachable mikrotik что это-rhfkj1shnnjhqmvwhcc7o0itq8i. картинка Reachable mikrotik что это. картинка rhfkj1shnnjhqmvwhcc7o0itq8i

Check gateway

Check gateway — расширение MikroTik RoutesOS для проверки доступности шлюза по icmp или arp. Раз в 10 секунд (изменить нельзя) на шлюз отправляется запрос, если дважды не приходит ответ маршрут считается недоступным и удаляется из FIB. Если check gateway отключил маршрут проверки продолжается и маршрут снова станет активным после одной успешной проверки.
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Check gateway отключает запись, в которой он настроен и все остальные записи (во всех таблицах маршрутизации и ecmp маршрутах) с указанным шлюзом.

В целом check gateway работает нормально, если не возникает проблем с потерей пакетов до шлюза. Check gateway не знает, что происходит со связью за пределами проверяемого шлюза, для этого необходимы дополнительные инструменты: скрипты, рекурсивная маршрутизация, протоколы динамической маршрутизации.

Большинство VPN и туннельных протоколов содержат встроенные средства для проверки активности соединения, включать для них check gateway — это дополнительная (но очень маленькая) нагрузка на сеть и производительность устройства.

ECMP маршруты

Equal-Cost Multi-Path — отправка пакетов до получателя используя одновременно несколько шлюзом с перебором по алгоритму Round Robin.

ECMP маршрут создается администратором, путем указания нескольких gateway для одной подсети (либо автоматический, при наличии двух равноценных маршрутов OSPF).
Reachable mikrotik что это. 4vgzyh240kmasdj186yz2c3ovws. Reachable mikrotik что это фото. Reachable mikrotik что это-4vgzyh240kmasdj186yz2c3ovws. картинка Reachable mikrotik что это. картинка 4vgzyh240kmasdj186yz2c3ovws

ECMP используется для балансировки нагрузки между двумя каналами, в теории, если в ecmp маршруте два канала, то для каждого пакета исходящий канал должен отличаться. Но механизм Routing cache отправляет пакеты из соединения по маршруту, которым пошел первый пакет, в итоге получаем подобие балансировки на базе соединений (per-connection loading balancing).

Если отключить Routing Cache, то пакеты в ECMP маршруте будут делиться правильно, но возникает проблема с NAT. Правило NAT обрабатывает только первый пакет из соединения (остальные обрабатываются автоматически) и получается ситуация, что с различных интерфейсов уходят пакеты с одним адресом источника.
Reachable mikrotik что это. gjcwblj73dmsczyhyqyuchcpdw0. Reachable mikrotik что это фото. Reachable mikrotik что это-gjcwblj73dmsczyhyqyuchcpdw0. картинка Reachable mikrotik что это. картинка gjcwblj73dmsczyhyqyuchcpdw0

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

Фильтрация средствами Routing

Опция Type определяет, что сделать с пакетом:

Фильтрацию обычно используют, когда нужно обезопасить отправку пакетов не по тому пути, конечно можно фильтровать подобное через firewall.

Пара примеров

Для закрепления базовых вещей о маршрутизации.

Типичный домашний роутер
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Типичный домашний роутер с PPPoE
Reachable mikrotik что это. imwn8pafrqins6erowkhiek2dqa. Reachable mikrotik что это фото. Reachable mikrotik что это-imwn8pafrqins6erowkhiek2dqa. картинка Reachable mikrotik что это. картинка imwn8pafrqins6erowkhiek2dqa

Типичный домашний роутер с двумя провайдерами и резервированием
Reachable mikrotik что это. wq2av0eskridghrj9yroknjz76o. Reachable mikrotik что это фото. Reachable mikrotik что это-wq2av0eskridghrj9yroknjz76o. картинка Reachable mikrotik что это. картинка wq2av0eskridghrj9yroknjz76o

Трафик до 0.0.0.0/0 идет через 10.10.10.1, пока данный шлюз доступен, иначе переключается на 10.20.20.1

Такую схему можно считать резервированием канала, но она не лишена недостатков. Если произойдет обрыв за пределами шлюза провайдера (например внутри операторской сети), ваш роутер об этом не узнает и продолжит считать маршрут активным.

Типичный домашний роутер с двумя провайдерами, резервированием и ECMP
Reachable mikrotik что это. unfjawyzmjdzo6 ekmmg93vlsk8. Reachable mikrotik что это фото. Reachable mikrotik что это-unfjawyzmjdzo6 ekmmg93vlsk8. картинка Reachable mikrotik что это. картинка unfjawyzmjdzo6 ekmmg93vlsk8

Маршруты для проверки синего цвета (цвет неактивных маршрутов), но это не мешает работе check gateway. В текущей версии (6.44) RoS автоматический приоритет отдается ECMP маршруту, но лучше добавить проверочные маршруты в другие таблицы маршрутизации (опция routing-mark )

На Speedtest и прочих подобных сайтах прироста скорости не будет (ECMP делит трафик по соединениям, а не по пакетам), но p2p приложения должны загружать быстрее.

Фильтрация через Routing
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Вариант фильтрации при которой туннельный трафик не уйдет на маршрутизатор провайдера при отключении ipip интерфейса. Подобные схемы требуются редко, т.к. можно реализовать блокировку через firewall.

Routing Loop
Петля маршрутизации — ситуация когда пакет бегает между маршрутизаторами до истечения ttl. Обычно является следствием ошибки конфигурации, в больших сетях лечится внедрением протоколов динамической маршрутизации, в маленьких — внимательностью.

Выглядит это примерно так:
Reachable mikrotik что это. iih8 vpacnim4b6flslcvy v0eg. Reachable mikrotik что это фото. Reachable mikrotik что это-iih8 vpacnim4b6flslcvy v0eg. картинка Reachable mikrotik что это. картинка iih8 vpacnim4b6flslcvy v0eg

Пример (наипростейший) как получить подобный результат:
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Пример с Routing loop не имеет практического применения, но он показывает что маршрутизаторы понятия не имеют о таблице маршрутизации своих соседей.

Policy Base Routing и дополнительные таблицы маршрутизации

При выборе маршрута, роутер использует только одно поле из заголовка пакета (Dst. Address) — это базовая маршрутизация. Маршрутизация на базе других условий, например адреса источника, типа трафика (ToS), балансировка без ECMP, относится к Policy Base Routing (PBR) и использует дополнительные таблицы маршрутизации.

Reachable mikrotik что это. cf31fjsrsjd2aszbzkl hmg9wuw. Reachable mikrotik что это фото. Reachable mikrotik что это-cf31fjsrsjd2aszbzkl hmg9wuw. картинка Reachable mikrotik что это. картинка cf31fjsrsjd2aszbzkl hmg9wuw

More Specific Route является основным правилом выбора маршрута, в пределах таблицы маршрутизации.

По умолчанию все правила маршрутизации добавляются в таблицу main. Администратор может создать произвольное количество дополнительных таблиц маршрутизации и направлять пакеты в них. Правила в разных таблицах не конфликтуют между собой. Если пакет не нашел подходящего правила в указанной таблице, он уйдет в таблицу main.

Пример с распределением через Firewall:
Reachable mikrotik что это. uwndjzt8mtfett8l84vg n65p90. Reachable mikrotik что это фото. Reachable mikrotik что это-uwndjzt8mtfett8l84vg n65p90. картинка Reachable mikrotik что это. картинка uwndjzt8mtfett8l84vg n65p90

Проблемы терминологии

В RouterOS есть определенные проблемы с терминологией.
При работе с правилами в [IP]->[Routes] указывается таблица маршрутизации, хотя и написано что метка:
Reachable mikrotik что это. 8ikhkhsxvmlwnh9hd9g. Reachable mikrotik что это фото. Reachable mikrotik что это-8ikhkhsxvmlwnh9hd9g. картинка Reachable mikrotik что это. картинка 8ikhkhsxvmlwnh9hd9g

В [IP]->[Routes]->[Rule] все правильно, в условии метки в действии таблицы:
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Как отправить пакет в определенную таблицу маршрутизации

RouterOS дает несколько инструментов:

Правила [IP]->[Route]->[Rules]
Правила обрабатываются последовательно, если пакет совпал с условиями правила он не проходит дальше.

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

Reachable mikrotik что это. hgippyt0pgilh0l9zouqqqpbsoe. Reachable mikrotik что это фото. Reachable mikrotik что это-hgippyt0pgilh0l9zouqqqpbsoe. картинка Reachable mikrotik что это. картинка hgippyt0pgilh0l9zouqqqpbsoe

Правила состоят из условий и действия:

В FIB трафик до локальных процессов обрабатывается в обход правил [IP]->[Route]->[Rules] :
Reachable mikrotik что это. ykf4gt4ywwzgbklpyzlyulije8k. Reachable mikrotik что это фото. Reachable mikrotik что это-ykf4gt4ywwzgbklpyzlyulije8k. картинка Reachable mikrotik что это. картинка ykf4gt4ywwzgbklpyzlyulije8k

Маркировка [IP]->[Firewall]->[Mangle]
Маршрутные метки позволяют устанавливать шлюз для пакета используя практически любые условия Firewall:
Reachable mikrotik что это. ladhorisauzv81cnmffmkjo6 hi. Reachable mikrotik что это фото. Reachable mikrotik что это-ladhorisauzv81cnmffmkjo6 hi. картинка Reachable mikrotik что это. картинка ladhorisauzv81cnmffmkjo6 hi

Практически, потому что не все из них имеет смысл, а некоторые могут работать нестабильно.

Reachable mikrotik что это. 6b mom f6nde0zyuy mr62asho4. Reachable mikrotik что это фото. Reachable mikrotik что это-6b mom f6nde0zyuy mr62asho4. картинка Reachable mikrotik что это. картинка 6b mom f6nde0zyuy mr62asho4

Маркировать пакет можно двумя способами:

В статье про firewall я писал, что второй вариант предпочтительнее т.к. снижает нагрузку на cpu, в случае с маркировкой маршрутов — это не совсем так. Указанные способы маркировки не всегда являются равноценными и обычно используются для решения различных задач.

Примеры использования

Переходим к примерам использования Policy Base Routing, на них гораздо проще показать зачем все это нужно.

MultiWAN и ответный исходящий (Output) трафик
Распространенная проблема, при MultiWAN конфигурации: Mikrotik доступен из сети интернет только по «активному» провайдеру.
Reachable mikrotik что это. ob1pph0eph9qvz9nqvt759mptiq. Reachable mikrotik что это фото. Reachable mikrotik что это-ob1pph0eph9qvz9nqvt759mptiq. картинка Reachable mikrotik что это. картинка ob1pph0eph9qvz9nqvt759mptiq

Роутеру не важно на какой ip пришел запрос, при генерации ответа он будет искать маршрут в таблице маршрутизации, где активен маршрут через isp1. Дальше такой пакет скорее всего будет отфильтрован по пути до получателя.

Еще один интересный момент. Если на интерфейсе ether1 настроен «простой» source nat: /ip fi nat add out-interface=ether1 action=masquerade пакет уйдет в сеть с src. address=10.10.10.100, что еще больше усугубит ситуацию.

Исправить проблему можно нескольким способами, но для любого из них потребуются дополнительные таблицы маршрутизации:
Reachable mikrotik что это. g965vychbnzbsksplywfc3npi90. Reachable mikrotik что это фото. Reachable mikrotik что это-g965vychbnzbsksplywfc3npi90. картинка Reachable mikrotik что это. картинка g965vychbnzbsksplywfc3npi90

Использование [IP]->[Route]->[Rules]
Указываем таблицу маршрутизации которая будет использована для пакетов с указанными Source IP.
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Reachable mikrotik что это. k. Reachable mikrotik что это фото. Reachable mikrotik что это-k. картинка Reachable mikrotik что это. картинка k

Данный способ не требует рабочий Connection Tracker, в отличии от использования таблицы Mangle.

Использование [IP]->[Firewall]->[Mangle]
Соединение начинается со входящего пакета, поэтому маркируем его ( action=mark-connection ), для исходящих пакетов от маркированного соединения устанавливаем маршрутную метку ( action=mark-routing ).
Reachable mikrotik что это. lg4vni1mt8eteade7mcitz 3s3g. Reachable mikrotik что это фото. Reachable mikrotik что это-lg4vni1mt8eteade7mcitz 3s3g. картинка Reachable mikrotik что это. картинка lg4vni1mt8eteade7mcitz 3s3g

Если на одном интерфейсе настроено несколько ip, можно добавить в условие dst-address для уточнения.

Reachable mikrotik что это. rdmrqst9dam9m7r9s4jsnudwdly. Reachable mikrotik что это фото. Reachable mikrotik что это-rdmrqst9dam9m7r9s4jsnudwdly. картинка Reachable mikrotik что это. картинка rdmrqst9dam9m7r9s4jsnudwdly

MultiWAN и ответный dst-nat трафик

Пример посложнее, что делать если за роутером находится сервер (например web) в частной подсети и необходимо обеспечить доступ к нему по любому из провайдеров.

Суть проблемы будет та же, решение похоже на вариант с Firewall Mangle, только будут использоваться другие цепочки:
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка
На схеме не отображен NAT, но думаю и так все понятно.

MultiWAN и исходящие соединения

Можно использовать возможности PBR для создания нескольких vpn (в примере SSTP) соединений с разных интерфейсов роутера.

Reachable mikrotik что это. ptjgm36vdijiuvygzwl8csvwg5q. Reachable mikrotik что это фото. Reachable mikrotik что это-ptjgm36vdijiuvygzwl8csvwg5q. картинка Reachable mikrotik что это. картинка ptjgm36vdijiuvygzwl8csvwg5q

Дополнительные таблицы маршрутизации:

Простые правила NAT, иначе пакет уйдет с интерфейса с неправильным Src. Address:

Интересно, что на роутере вы увидите следующую таблицу соединений:
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

На VPN сервере (на тестовом стенде он у меня один) можно увидеть что все соединения происходят с правильных адресов:
Reachable mikrotik что это. s7ncjzninvkxn a6 p3wdd5ywnw. Reachable mikrotik что это фото. Reachable mikrotik что это-s7ncjzninvkxn a6 p3wdd5ywnw. картинка Reachable mikrotik что это. картинка s7ncjzninvkxn a6 p3wdd5ywnw

Постой способ
Есть способ проще, можно просто указать определенный шлюз для каждого из адресов:

Распределение соединений пользователей по каналам связи

Простые, повседневные задачи. Опять же понадобятся дополнительные таблицы маршрутизации:

Используя [IP]->[Route]->[Rules]
Reachable mikrotik что это. m4ojve7wspajkjoc00afbpsbru. Reachable mikrotik что это фото. Reachable mikrotik что это-m4ojve7wspajkjoc00afbpsbru. картинка Reachable mikrotik что это. картинка m4ojve7wspajkjoc00afbpsbru

Используя маркировки в [IP]->[Firewall]->[Mangle]
Простой пример со списками ip адресов. В принципе можно использовать практически любые условия. Единственное предостережение layer7, даже в паре с метками соединений, может показаться что всё работает правильно, но часть трафика всеравно уйдет не туда.
Reachable mikrotik что это. u8k5yito7 iuseo5cki nhkaz5o. Reachable mikrotik что это фото. Reachable mikrotik что это-u8k5yito7 iuseo5cki nhkaz5o. картинка Reachable mikrotik что это. картинка u8k5yito7 iuseo5cki nhkaz5o

«Запереть» пользователей в одной таблице маршрутизации можно через [IP]->[Route]->[Rules] :

Либо через [IP]->[Firewall]->[Filter] :

В примере с использованием [IP]->[Route]->[Rules] подобных исключений нет, но трафик до локальных процессов доходит. Дело в том, что попадая в FIB пакет промаркированный в [PREROUTING|Mangle] имеет маршрутную метку и уходит в таблицу маршрутизации отличную от main, где нет локального интерфейса. В случае с Routing Rules, сначала проверяется предназначен ли пакет локальному процессу и только на этапе User PBR он уходит в заданную таблицу маршрутизации.

Используя [IP]->[Firewall]->[Mangle action=route]
Данное действие работает только в [Prerouting|Mangle] и позволяет направлять трафик на указанный шлюз без использования дополнительных таблиц маршрутизации, указывая адрес шлюза напрямую:

Динамическая балансировка на основе PPC

Per Connection Classificator — является более гибким аналогом ECMP. В отличии от ECMP делит трафик по соединениям более строго (ECMP ничего про соединения не знает, но в паре с Routing Cache получается нечто похожее).

PCC берет указанные поля из ip заголовка, преобразует их в 32-битное значение и делит на знаменатель. Остаток от деления сравнивается с указанным остатком и если они совпадают, то применяется указанное действие. Подробнее. Звучит дико, но работает.
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Пример с тремя адресами:

Пример динамического распределения трафика по src.address между тремя каналами:
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Переключение каналов связи

Check ping — хороший инструмент, но он проверяет связь только с ближайшим IP пиром, сети провайдеров обычно состоят из большого числа маршрутизаторов и обрыв связи может произойти за пределами ближайшего пира, а дальше идут магистральные операторы связи у которых тоже могут случаться проблемы, в общем check ping не всегда показывает актуальную информацию о доступе в глобальную сеть.
Если у провайдеров и крупных корпораций есть протокол динамической маршрутизации BGP, то домашним и офисным пользователем приходится самостоятельно придумывать как проверять доступ в интернет через определенный канал связи.

Обычно используются скрипты, которые через определенный канал связи проверяют доступность ip адреса в сети интернет, при этом выбирается что то надежное, например google dns: 8.8.8.8. 8.8.4.4. Но в сообществе Mikrotik для этого приспособили более интересный инструмент.

Пара слов про рекурсивную маршрутизацию
Рекурсивная маршрутизация необходима при построении Multihop BGP пиринга и в статью про основы статической маршрутизации попала только за счет ушлых пользователей MikroTik, которые придумали как использовать рекурсивный маршруты в паре с check gateway для переключение каналов связи без дополнительных скриптов.

Пришло время в общих чертах разобраться с опциями scope/target scope и каким образом маршрут привязывается к интерфейсу:
Reachable mikrotik что это. mkzawioocf0friubndc9q2pofw. Reachable mikrotik что это фото. Reachable mikrotik что это-mkzawioocf0friubndc9q2pofw. картинка Reachable mikrotik что это. картинка mkzawioocf0friubndc9q2pofw

При наличии рекурсивного маршрута происходит все тоже самое, но в два этапа:
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Пример использования рекурсивной маршрутизации для переключения маршрутов
Reachable mikrotik что это. f1gdhjwli1fqi4yk7i cfdyf2l0. Reachable mikrotik что это фото. Reachable mikrotik что это-f1gdhjwli1fqi4yk7i cfdyf2l0. картинка Reachable mikrotik что это. картинка f1gdhjwli1fqi4yk7i cfdyf2l0

Конфигурация:
Reachable mikrotik что это. d8bbaepprp0wswv54ly0ryzphhc. Reachable mikrotik что это фото. Reachable mikrotik что это-d8bbaepprp0wswv54ly0ryzphhc. картинка Reachable mikrotik что это. картинка d8bbaepprp0wswv54ly0ryzphhc

Можно проверить, что пакеты будут отправляться на 10.10.10.1:
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Check gateway ничего не знает про рекурсивную маршрутизацию и просто отправляет ping’и на адрес 8.8.8.8, который (исходя из таблицы main) доступен через шлюз 10.10.10.1.

Если происходит потеря связи между 10.10.10.1 и 8.8.8.8, то происходит отключение маршрута, но пакеты (включая проверочные ping) до 8.8.8.8 продолжают идти через 10.10.10.1:
Reachable mikrotik что это. hjv2tg5bnkaae2gyr7iunr74kt4. Reachable mikrotik что это фото. Reachable mikrotik что это-hjv2tg5bnkaae2gyr7iunr74kt4. картинка Reachable mikrotik что это. картинка hjv2tg5bnkaae2gyr7iunr74kt4

Если происходит потеря линка на ether1, то получается неприятная ситуация, когда пакеты до 8.8.8.8 пойдут через второго провайдера:
Reachable mikrotik что это. rt dadf8 ghn5pmgyg7q1ya258. Reachable mikrotik что это фото. Reachable mikrotik что это-rt dadf8 ghn5pmgyg7q1ya258. картинка Reachable mikrotik что это. картинка rt dadf8 ghn5pmgyg7q1ya258

Это проблема, если вы используете NetWatch для запуска скриптов при недоступности 8.8.8.8. При обрыве линка NetWatch просто отработает по резервному каналу связи и будет считать что все нормально. Решается добавлением дополнительного фильтрующего маршрута:

Reachable mikrotik что это. ks6ek3swyj9uyiih0bkbef1i6eu. Reachable mikrotik что это фото. Reachable mikrotik что это-ks6ek3swyj9uyiih0bkbef1i6eu. картинка Reachable mikrotik что это. картинка ks6ek3swyj9uyiih0bkbef1i6eu

На хабре есть статья, где ситуация с NetWatch рассмотрена более детально.

И да, при использовании подобного резервирования адрес 8.8.8.8 будет жестко привязан к одному из провайдеров, соответственно выбирать его в качестве источника dns не самая хорошая идея.

Пара слов про Virtual Routing and Forwarding (VRF)

Технология VRF предназначена для создания нескольких виртуальных маршрутизаторов внутри одного физического, данная технология широко применяется у операторов связи (обычно в связке с MPLS) для предоставления услуги L3VPN клиентам с пересекающимися адресами подсетей:
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Но VRF в Mikrotik организован на базе таблиц маршрутизации и имеет ряд недостатков, например локальные ip адреса роутера доступны из всех VRF, подробнее можно почитать по ссылке.

Пример конфигурации vrf:
Reachable mikrotik что это. glg8k8isgjjsgyjodp7 rnqq5fi. Reachable mikrotik что это фото. Reachable mikrotik что это-glg8k8isgjjsgyjodp7 rnqq5fi. картинка Reachable mikrotik что это. картинка glg8k8isgjjsgyjodp7 rnqq5fi

С устройства подключенного к ether2 видим, что проходит ping до адреса роутера из другого vrf (и это проблема), при этом ping в интернет не уходит:
Reachable mikrotik что это. . Reachable mikrotik что это фото. Reachable mikrotik что это-. картинка Reachable mikrotik что это. картинка

Для доступа в интернет необходимо прописать дополнительный маршрут обращающийся к таблице main (в терминологии vrf это называется route leaking):
Reachable mikrotik что это. onp 5z4cvah erroi flwnjn2ik. Reachable mikrotik что это фото. Reachable mikrotik что это-onp 5z4cvah erroi flwnjn2ik. картинка Reachable mikrotik что это. картинка onp 5z4cvah erroi flwnjn2ik

И настроить маркировку для ответного трафика в [PREROUTING|Mangle] :
Reachable mikrotik что это. gew3paz7vdzqkzc0 pt0mz5b6yg. Reachable mikrotik что это фото. Reachable mikrotik что это-gew3paz7vdzqkzc0 pt0mz5b6yg. картинка Reachable mikrotik что это. картинка gew3paz7vdzqkzc0 pt0mz5b6yg

Reachable mikrotik что это. i8ddkxzzdogtht7gvzyo rzcr g. Reachable mikrotik что это фото. Reachable mikrotik что это-i8ddkxzzdogtht7gvzyo rzcr g. картинка Reachable mikrotik что это. картинка i8ddkxzzdogtht7gvzyo rzcr g

Подсети с одинаковой адресацией
Организация доступа до подсетей с одинаковой адресацией на одном роутере используя VRF и netmap:
Reachable mikrotik что это. ylvxkbg. Reachable mikrotik что это фото. Reachable mikrotik что это-ylvxkbg. картинка Reachable mikrotik что это. картинка ylvxkbg

Правила маршрутизации для возвратного трафика:

Добавление маршрутов полученных по dhcp в заданную таблицу маршрутизации
VRF может быть интересен, если необходимо автоматически добавить динамический маршрут (например от dhcp client) в определенную таблицу маршрутизации.

Добавление интерфейса в vrf:

Правила для отправки трафика (исходящего и транзитного) через таблицу over-isp1:

Дополнительный, фейковый маршрут для работы исходящей маршрутизции:

Этот маршрут необходим только чтобы локальные исходящие пакеты могли пройти через Routing decision (2) до [OUTPUT|Mangle] и получить маршрутную метку, если на маршрутизаторе есть другие активные маршруты до 0.0.0.0/0 в таблице main оно не требуется.
Reachable mikrotik что это. ffp. Reachable mikrotik что это фото. Reachable mikrotik что это-ffp. картинка Reachable mikrotik что это. картинка ffp

Фильтрация маршрутов (входящий и исходящих) — это инструмент который обычно используется вместе с протоколами динамической маршрутизации (поэтому доступен только после установки пакета routing), но во входящих фильтрах есть две интересные цепочки:

Это очень точечный инструмент и если можете сделать что-то без Routing Filters (но не скриптами), то не используйте Routing Filters, не путайте себя и тех кто будет конфигурировать роутер после вас. В контексте динамической маршрутизации Routing Filters будут использоваться значительно чаще и продуктивнее.

Установка Routing Mark для динамических маршрутов
Пример с домашнего маршрутизатора. У меня настроено два VPN соединения и трафик в них должен заворачиваться в соответствием с таблицами маршрутизации. При этом я хочу что-бы маршруты создавались автоматически при активации интерфейса:

Не знаю почему, наверное баг, но если создать vrf для ppp интерфейса, то маршрут до 0.0.0.0/0 всеравно попадет в таблицу main. Иначе всё было бы еще проще.

Отключение Connected маршрутов
Иногда требуется и такое:

Инструменты отладки

RouterOS предоставляет ряд средств для отладки маршрутизации:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *