The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"как в ipfw пероверить next-hop исходящего пакета?"
Отправлено freeBSDun, 16-Дек-08 19:42 
Дано: Плоский Ethernet-сегмент, в который входит несколько роутеров (рассчитываем на ~10 штук), типа точки обмена трафиком, но не она.  Есть IBGP, OSPF, куча маршрутов. IPv4 Only (пока). Маршрутизаторы разные - Cisco, PS.... в перспективе - что угодно.

В эту сеть смотрит ОДНИМ ИНТЕРФЕЙСОМ маршрутизатор на базе FreeBSD 7.0 (бордер между OSPF-сегментом и BGP).

Задача:

В исходящей цепочке правил проверять next-hop пакета.
Подробнее:
Через интерфес выходят пакеты, которые дальше пойдут через разные маршрутизаторы. Кто-то через 192.168.1.1, кто-то через 192.168.1.2 и т.д.  В зависимости от того, через какой маршрутизатор они дальше пойдут должна проводиться различная обработка - где-то нужен NAT, где-то нет. Где-то надо считать трафик, где-то нет, разные правила шейпинга и т.д.

Нужно в ipfw ввести условие типа
ipfw add 7000 skipto 8000 ip from any to any out via em0 next-hop 192.168.1.1
для пакетов, которые будут направлены через 192.168.1.1

Тупые идеи:
1. Сделать столько интерфейсов, сколько в сегмента маршрутизаторов... ужасно;
2. Периодически выгружать таблицу маршрутизации в ipfw table. Не уютно - маршруты могут меняться достаточно часто, производительность упапдет (второй раз просамтривать таблицу маршрутизации);
3. Включить пропуск через ipfw L2-пакетов, и работать с мак-адресами роутеров... жалко производительность на второй заход в ipfw;
4. Прохачить route.c на предмет навешивания mbuf_tag на каждый прошедший пакет... обновляться будет противно;
5. Нарисовать модуль netgraph, который будет выдирать откуда-то информацию про next-hop, и навешивать ее в виде tag'а... откуда выдирать информацию?

Есть ли какие-то стандартные средства?

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру