Framed route что это

Intelligent Services Gateway Configuration Guide

Book Title

Intelligent Services Gateway Configuration Guide

Chapter Title

Overview for Framed Route

View with Adobe Reader on a variety of devices

Results

Chapter: Overview for Framed Route

Overview for Framed Route

Framed Route allows you to route customer additional networks (behind CPE) through customer broadband connection in ISG. Framed Route has relevance only when CPE acts as routed CPE and NAT is disabled. The broadband IPoE/PPPoE connection for CPE is created at ISG and the network behind CPE must be routed through CPE IPoE/PPPoE session in ISG. A per-user static route is downloaded to IPoE/PPP users through the Framed-Route RADIUS attribute during login.

Benefits of using Framed Route

Framed Route allows a large number of customer networks to reach via framed routes through a single ISG session.

Framed Route is supported on both IPoE and PPPoE sessions.

There is no limit enforced to the number of framed routes per session.

You don’t have to configure or enable Framed Route through command line interface as it is downloaded from RADIUS.

Restrictions for Framed Route

General Restriction

Framed Route cannot be applied through a RADIUS COA.

IPoE Specific Restrictions

No support for routed session.

Dual stack is not supported.

ISG does not expect next hop information in Framed-Route AVP. ISG will replace Next hop information with CPE IP.

If CPE already has an IP address assigned, then RADIUS server should always provide CPE IP in Framed-IP-Address AVP in Access-Accept.

Configuring Framed Route

There is no manual configuration required to enable Framed Route through command line interface as it is downloaded from RADIUS.

Following are samples of the framed route configuration from RADIUS:

Framed-route configuration A

Framed-route configuration B

Verifying Framed Route

Use the show subscriber session command to verify the subscriber session output when Framed Route is installed:

Use the show ip static route command to verify the static route configuration when Framed Route is installed:

Troubleshooting Framed Route

Use the following debug commands if you have any configuration issues:

debug subscriber feature name static-routes < error | event >— Enables debugging of the static-route feature.

debug subscriber < error | event | feature >— Enables debugging of subscriber sessions.

debug ppoe < errors | events >— Enables debugging of PPPoE subscribers.

Feature Information for Framed Route

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Table 1 Feature Information for Framed Route

Feature Configuration Information

IPoE with Framed Route

Cisco IOS XE Everest 16.4.1

Framed Route allows to route customer additional networks (behind CPE) through customer broadband connection in ISG. IPoE with Framed Route has relevance only when CPE acts as routed CPE and NAT is disabled.

Источник

RADIUS Configuration Guide, Cisco IOS Release 15M&T

Book Title

RADIUS Configuration Guide, Cisco IOS Release 15M&T

Chapter Title

Framed-Route in RADIUS Accounting

View with Adobe Reader on a variety of devices

Results

Chapter: Framed-Route in RADIUS Accounting

Framed-Route in RADIUS Accounting

Framed-Routing indicates the routing method to a user on a network and is used only in Access-Accept packets. The Framed-Route in RADIUS Accounting feature provides for the presence of Framed-Route (RADIUS attribute 22) information in RADIUS Accounting-Request accounting records. The Framed-Route information is returned to the RADIUS server in the Accounting-Request packets. The Framed-Route information can be used to verify that a per-user route or routes have been applied for a particular static IP customer on the network access server (NAS).

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Prerequisites for Framed-Route in RADIUS Accounting

Be familiar with configuring authentication, authorization, and accounting (AAA), RADIUS servers, and RADIUS attribute screening.

Information About Framed-Route in RADIUS Accounting

Framed-Route Attribute 22

Framed-Route, attribute 22 as defined in Internet Engineering Task Force (IETF) standard RFC 2865, provides for routing information to be configured for the user on the NAS. The Framed-Route attribute information is usually sent from the RADIUS server to the NAS in Access-Accept packets. The attribute can appear multiple times.

Framed-Route in RADIUS Accounting Packets

The Framed-Route attribute information in RADIUS accounting packets shows per-user routes that have been applied for a particular static IP customer on the NAS. The Framed-Route attribute information is currently sent in Access-Accept packets. Effective with Cisco IOS Release 12.3(4)T, the Framed-Route attribute information is also sent in Accounting-Request packets if it was provided in the Access-Accept packets and was applied successfully. Zero or more instances of the Framed-Route attribute may be present in the Accounting-Request packets.

If there is more than one Framed-Route attribute in an Access-Accept packet, there can also be more than one Framed-Route attribute in the Accounting-Request packet.

The Framed-Route information is returned in Stop and Interim accounting records and in Start accounting records when accounting Delay-Start is configured.

No configuration is required to have the Frame-Route attribute information returned in the RADIUS accounting packets.

How to Monitor Framed-Route in RADIUS Accounting

Use the debug radius command to monitor whether Framed-Route (attribute 22) information is being sent in RADIUS Accounting-Request packets.

In the following example, the debug radius command is used to verify that Framed-Route (attribute 22) information is being sent in the Accounting-Request packets (see the line 00:06:23: RADIUS: Framed-Route [22] 26 «10.80.0.1 255.255.255.255 10.60.0.1 100»).

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это
Note

With CSCtz66183, the Service-Type AV pair (Attribute 6) is not displayed in the Accounting-Request records.

Additional References

The following sections provide references related to the Framed-Route in RADIUS Accounting feature.

Источник

Аутентификация и хранение учетных записей

Атрибуты аутентификации

Атрибуты имеют следующий формат:

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

Поле Type имеет длину один октет. Возможные типы стандартизованы и перечислены в соответствующих RFC. Как RADIUS-сервер, так и клиент могут игнорировать атрибуты, тип которых они не знают.

Основные типы атрибутов следующие:

Данный атрибут определяет MTU, который будет сконфигурирован для пользователя, если об этом значении не ведутся переговоры каким-либо другим способом, например в РРР. Атрибут может использоваться в Access-Accept пакетах. Он может быть указан в пакете Access-Request для указания серверу предпочтений, но сервер не обязан этому следовать.

Может быть послано несколько атрибутов, определяющих протокол сжатия. За использование корректного протокола сжатия отвечает NAS.

Данный атрибут определяет имя, которое будет использовано при обратном вызове и которое должно будет интерпретироваться NAS. Атрибут может использоваться в Access-Accept пакетах.

Данный атрибут позволяет производителям поддерживать свои собственные атрибуты. Данный атрибут не должен влиять на операции протокола RADIUS.

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

Использование атрибута Proxy-State зависит от протокола.

Если значение вызова СНАР имеет длину в 16 октетов, то оно может быть размещено в поле аутентификатора запроса, а не в данном атрибуте.

Атрибуты RADIUS, специфичные для ПО Microsoft

Атрибуты для поддержки MS-CHAP V1

Microsoft разработала протокол MS-CHAP для аутентификации удаленных рабочих станций Windows, обеспечивая функциональность, аналогичную той, к которой привыкли пользователи сети. Где это возможно, MS-CHAP аналогичен стандартному СНАР. Основная разница в следующем:

Атрибуты RADIUS отражают эти отличия.

Данный атрибут содержит новый пароль Windows, скрытый с помощью хэша старого пароля. Скрытый пароль Windows имеет длину 516 октетов; так как это длиннее, чем максимальная длина RADIUS-атрибута, пароль разделяется на несколько частей и передается в нескольких атрибутах. В атрибут включается последовательный номер (2 октета), чтобы обеспечить возможность правильной сборки фрагментов пароля.

Данный атрибут содержит новый пароль Windows, скрытый с помощью хэша старого пароля Windows. Скрытый пароль Windows имеет длину 516 октетов; так как это длиннее, чем максимальная длина RADIUS-атрибута, то пароль разделяется на несколько частей и передается в нескольких атрибутах. Последовательный номер включается в атрибут, чтобы обеспечить сборку фрагментов пароля.

Источник

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

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

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

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

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

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

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

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

На PacketFlow можно выделить три места, где принимаются решения о маршрутизации IP пакетов:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

RIB, FIB, Routing Cache

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

Forwarding Information Base
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

База в которой собираются наилучшие маршруты из 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]->[+]
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

Флаги маршрутов
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

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

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

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

More Specific Route

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

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

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

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

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

Distance

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

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

Метрика может принимать значение от 0 до 255:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

Check gateway

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

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

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

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

ECMP маршруты

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

ECMP маршрут создается администратором, путем указания нескольких gateway для одной подсети (либо автоматический, при наличии двух равноценных маршрутов OSPF).
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

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

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

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

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

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

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

Типичный домашний роутер
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

Типичный домашний роутер с PPPoE
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

Типичный домашний роутер с двумя провайдерами и резервированием
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

Типичный домашний роутер с двумя провайдерами, резервированием и ECMP
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

Фильтрация через Routing
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

Выглядит это примерно так:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

Пример (наипростейший) как получить подобный результат:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

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

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

Пример с распределением через Firewall:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

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

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

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

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

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

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

В FIB трафик до локальных процессов обрабатывается в обход правил [IP]->[Route]->[Rules] :
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

Маркировка [IP]->[Firewall]->[Mangle]
Маршрутные метки позволяют устанавливать шлюз для пакета используя практически любые условия Firewall:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

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

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

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

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

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

Исправить проблему можно нескольким способами, но для любого из них потребуются дополнительные таблицы маршрутизации:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

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

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

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

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это
На схеме не отображен NAT, но думаю и так все понятно.

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

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

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

Интересно, что на роутере вы увидите следующую таблицу соединений:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

На VPN сервере (на тестовом стенде он у меня один) можно увидеть что все соединения происходят с правильных адресов:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

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

Используя [IP]->[Route]->[Rules]
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

«Запереть» пользователей в одной таблице маршрутизации можно через [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-битное значение и делит на знаменатель. Остаток от деления сравнивается с указанным остатком и если они совпадают, то применяется указанное действие. Подробнее. Звучит дико, но работает.
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

Пример динамического распределения трафика по src.address между тремя каналами:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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 и каким образом маршрут привязывается к интерфейсу:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

При наличии рекурсивного маршрута происходит все тоже самое, но в два этапа:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

Пример использования рекурсивной маршрутизации для переключения маршрутов
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

Конфигурация:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

Можно проверить, что пакеты будут отправляться на 10.10.10.1:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

Если происходит потеря линка на ether1, то получается неприятная ситуация, когда пакеты до 8.8.8.8 пойдут через второго провайдера:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

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

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

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

Пример конфигурации vrf:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

Для доступа в интернет необходимо прописать дополнительный маршрут обращающийся к таблице main (в терминологии vrf это называется route leaking):
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

И настроить маркировку для ответного трафика в [PREROUTING|Mangle] :
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

Подсети с одинаковой адресацией
Организация доступа до подсетей с одинаковой адресацией на одном роутере используя VRF и netmap:
Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

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

Framed route что это. Смотреть фото Framed route что это. Смотреть картинку Framed route что это. Картинка про Framed route что это. Фото Framed route что это
Note