Перейти к содержимому
Калькуляторы

FreeBSD и динамическая маршрутизация. маршрутизация в зависимости от src address

у меня есть вопрос по динамической маршрутизации. есть например 1,2...n серверов авторизации (mpd5\radius\pppoe). есть некоторое количество севрверов занимающиееся шейпингом (1,2...m). m<n.

реализовано что на серверах аворизации как default gateway указан определенный шейпер. сейчас каждый из серверов авторизации имеет свою подсеть которая роутитися с шейперов статически. и получается что не выйти с определеным адресом с другого сервера.

пока пришла в голову мысль както по ospf с сервера авторизации анонсить /32 подсеть подключившегося адреса так чтобы шейперы знали куда слать ответы.

но как реализовать чтобы например адрес какойнить /24 подсети независимо от того к кому серверу авторизации подключается чтобы ходил через один и тот же шейпер

Гугление наводит на то что FreeBSD умеет использовать несколько таблиц маршрутизации. Можно ли ее заставить в зависимости от того какой ip адрес у подключившегося клиента пакеты слать на определеный гейт.

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

 

или слишком бредовая идея?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

setfib + ipfw вполне с этим справятся. У меня работает setfib нормально, правда не совсем для этого.

 

setfib 1 route add default <шейпер № 1>

setfib 2 route add default <шейпер № 2>

 

ipfw add 10 setfib 1 ip from 192.168.1.0/24 to any

ipfw add 20 setfib 2 ip from 192.168.2.0/24 to any

 

В ядро еще надо добавить опцию

 

options ROUTETABLES=n (по кол-ву шейперов), максимум 16 вроде.

Изменено пользователем networks

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ответ только на:

Гугление наводит на то что FreeBSD умеет использовать несколько таблиц маршрутизации. Можно ли ее заставить в зависимости от того какой ip адрес у подключившегося клиента пакеты слать на определеный гейт.

setfib 1 route add default a.a.a.a

setfib 2 route add default b.b.b.b

setfib 3 route add default c.c.c.c

 

ipfw add 10 setfib 1 any from x.x.x.x/24 to any

ipfw add 20 setfib 2 any from y.y.y.y/24 to any

ipfw add 30 setfib 3 any from z.z.z.z/24 to any

 

А про остальное - непонятна цель :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Балансировать нагрузку по железкам.

К тому же если я например с одного сервера авторизации пришлю роут на одну /32 подсеть а с другого другую /32 подсеть а при этом они входят в одну и туже /24 подсеть которую обслуживает шейпер то шейперу надо знать куда слать ответные пакеты из внесети.

Хотя в принципе можно так сильно не усложнять все. Но это гарантирует большую маштабируемость и более простые переключения при падении какого либо из звеньев.

 

В общем на днях поиграюсь вплотную, самое сложно я думаю будет освоить OSFP\RIP\iBGP для внутренего обмена и динамического построения таблиц маршрутизации.

 

Изменено пользователем goletsa

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ответ только на:
Гугление наводит на то что FreeBSD умеет использовать несколько таблиц маршрутизации. Можно ли ее заставить в зависимости от того какой ip адрес у подключившегося клиента пакеты слать на определеный гейт.

setfib 1 route add default a.a.a.a

setfib 2 route add default b.b.b.b

setfib 3 route add default c.c.c.c

 

ipfw add 10 setfib 1 any from x.x.x.x/24 to any

ipfw add 20 setfib 2 any from y.y.y.y/24 to any

ipfw add 30 setfib 3 any from z.z.z.z/24 to any

 

А про остальное - непонятна цель :)

Возникла проблема. Если два клиента находятся в разных таблицах то между ними не получается наладить прямую связь. Т.е. трейс сразу идет наружу вместо того чтобы обработаться внутри сервера.

Можно ли както починить такую логику?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

$ traceroute -n 10.5.244.219
traceroute to 10.5.244.219 (10.5.244.219), 30 hops max, 40 byte packets
1  192.168.2.1  0.693 ms  0.903 ms  0.982 ms
2  10.5.240.2  3.225 ms  4.213 ms  4.206 ms
3  * * *
4  * * *

И куда дальше?

10.5.240.2 это тот сервер куда сходятся несколько подсетей в виде pppoe тунелей.

 

Изменено пользователем goletsa

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.