LINUX.ORG.RU
ФорумAdmin

Исключение перед попаданием в PCC

 , , ,


1

2

Задачу пытаюсь решить на MikroTik, но и для iptables/iproute2 она будет справедлива.

+---------------------------------------------------------+
|                                                         |
|                           ^                             |
|                           |                             |
|                           |  OSPF                       |
|                           |                             |
|                           +                             |
|                                            ISP 1        |
|                 +-------------------+ +---------------> |
|       from LAN  |                   |                   |
|    +----------> |                   |                   |
|                 |                   |      ISP 2        |
|                 +-------------------+ +---------------> |
+---------------------------------------------------------+

Допустим, у нас локальная сетка, которую мы маскарадим в инетрнеты с балансировкой и фейловером через 2-х ISP по методу PPC. Т.е. в prerouting на основании неких условий (src-address, src-port, dst-address, dst-port) маркируем исходящие из LAN соединения и загоняем на основе метки в соответствующую таблицу маршрутизации со своим default route.

И все это прекрасно работает, пока не появляется еще один линк, по которому приходит несколько сеток по OSPF. И теперь нам надо принудительно перед маркировкой в ISP проверять, не должно ли это роутиться в OSPF методом проверки сеток из address-list, что дикий костыль и рушит всю идею динамической маршрутизации.

Как бы мне это решить?

★★★★★

Последнее исправление: Turbid (всего исправлений: 1)

Тут реально без костыля никак. Тебе что бы юзать фишки оспф нужно делать роут перед маркировкой а это ломает твой PCC. Без костыля, я думаю нужно два рутера , один с ospf шнурком и и дефолтным маршрутом на микротик с PCC.

pyatak123
()
Ответ на: комментарий от Turbid

По сути это будет одна таблица с разными метриками. Не, не вариант. Я вот к сожалению не знаю микротик , поэтому дать совет касательно его маркировки не могу.

pyatak123
()
Ответ на: комментарий от Turbid

так с iproute2 проблем нет.

ospf свои роуты пихает в main table, а default gw должны быть в разных таблицах (отличных от main).

vel ★★★★★
()
Ответ на: комментарий от vel

да ты безусловно прав, но дело то в том что маркировка идет перед роутом, т.е выбор машрут осуществляется до таблицы маршрутизации.

pyatak123
()
Ответ на: комментарий от vel

ospf свои роуты пихает в main table

строго говоря, можно определенные роуты из ospf запихнуть в другую таблицу. в MikroTik это делается в фильтрах, как в iproute2/iptables - не в курсе.

Turbid ★★★★★
() автор топика
Последнее исправление: Turbid (всего исправлений: 1)
Ответ на: комментарий от pyatak123

так и пофиг.

#ip ru
0:      from all lookup local
128:    from all lookup main 
1024:   from all fwmark 0x1 lookup 11 
1025:   from all fwmark 0x2 lookup 12

main в данном случае просматривать всегда.

vel ★★★★★
()
Ответ на: комментарий от vel

Нет не всегда, если я промаркирую 0x1 пакет который по идее должен уйти через интерфейс с ospf исходя из dst адреса , он по твоему будет в main смотреть ?

pyatak123
()
Ответ на: комментарий от Turbid

так не вопрос! только поиск по этой таблице нужно в правилах поставить раньше, чем таблицы с DGW.

Будет это main или отдельная таблица - пофиг!

vel ★★★★★
()
Ответ на: комментарий от vel

Так я тогда не понимаю а в чем смысл делать rule ниже main. Получается он попадет в main и выйдет через DGW и в 11 и 12 не заглянет ?

fix: Это в случае если там будет DGW, а если получается он там не найдет маршрута пойдет уже в ту табличку по марку, верно ?

pyatak123
()
Последнее исправление: pyatak123 (всего исправлений: 1)
Ответ на: комментарий от pyatak123

так не нужно добавлять dgw в main!

В main должны быть прямые и специфические локальные маршруты (статика/ospf/...), а dgw в отдельных таблицах.

vel ★★★★★
()
Ответ на: комментарий от vel

Спс, а всю жизнь про это не знал. Так это тогда решение для ТС.

pyatak123
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.