source based routing

Linux, безопасность, сети и все что с этим связано
Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

source based routing

Сообщение tes+or »

небуду долго и скучно рассказывать почему я вынужден применять такой костыль, скажу только что вновата естественно винда и проприетарная реализация tcp/ip для нее.

есть два роутера. есть две подсети. есть точка в которой сходятся два кабеля из двух подсетей и уходит одна оптика к двум роутерам. в этой точке ставится третий роутер, этот нормальный, линуксовый. задача - в зависимости от source address роутить пакет на один из роутеров. один для одной подсети, другой для другой, причем destination range у них общий, т.е. мне нужно осуществлять роутинг на базе исходного айпишника, а не айпишника назначения, причем переписывать поля в пакетах нельзя, потому что дальше идет биллинг, а надо просто определенные пакеты отправлять на определенные ethernet interfaces не изменяя их на ip уровне, причем именно по признаку source address.

как это сделать средствами iptables я не нашел, хотя я на самом деле совсем не эксперт этой штуки и только недвано с ней познакомился. как я понял iptables оперирует на tcp/ip level и за роутинг не отвечает. а route слишком примитивна чтобы решить эту задачу. но задача не такая уж и дикая, явно что-то люди придумали, да?

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Сообщение tes+or »

-ROUTE target?

а другие солюшны?

Maxim Britov
Интересующийся
Сообщения: 51
Зарегистрирован: 23 июн 2004, 11:01
Откуда: Minsk, Belarus
Контактная информация:

Сообщение Maxim Britov »


Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

делается средствами iproute - соответсвенно читать LARTC, есть перевод.
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Сообщение tes+or »

блин=(
при попытке использовать цель ROUTE оно говорит что нету /lib/iptables/libipt_ROUTE.so

в ядре вкомпилил IP: policy routing, потом перекомпилил сам iptables - либа не появилась. что я забыл сделать?

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Сообщение tes+or »

да, про ip я уже начал думать, но случайно узнал про цель в iptables соответствующую и уже написал скрипт для iptables который с высокой вероятностью заработает если у меня появится эта либа

а про ip я обязательно прочитаю, особенно если не заработает это, но почему бы ему и не заработать?

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

tes+or, потому что -j ROUTE в стандартные ядра не входит AFAIK и врядли будет входить - ибо грубый хак.
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Сообщение tes+or »

т.е. iproute это правильное решение, а ROUTE target - костыль?

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

да
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Сообщение tes+or »

неполучается что-то, хотя все и понял. опять таки, всю схему пока разрисовывать небуду, потому что только на понимание того зачем оно надо уйдет полчаса, спрошу короче: может ли роутер разделять две подсети из одного диапазона. т.е. два интерфейса, за одним(10.5.0.9/16) прячется подсеть 10.5.0.0/16, а другой(10.5.0.11/32) нужен только для того, чтобы роутить пакеты на 10.5.0.10/32, т.е. на один хост. строго на него. но при попытке с самого роутера пропинговать 10.5.0.10/32 он мне отвечает что такого нет, причем ответ приходит с интерфейса 10.5.0.9, что очень важно, ведь я явно сказал что пакеты предназначенные для 10.5.0.10 роутить именно через определенный айпишник и девайс, однако он явно игнорит это указание.

Ответить