goletsa Posted February 21, 2010 Posted February 21, 2010 у меня есть вопрос по динамической маршрутизации. есть например 1,2...n серверов авторизации (mpd5\radius\pppoe). есть некоторое количество севрверов занимающиееся шейпингом (1,2...m). m<n. реализовано что на серверах аворизации как default gateway указан определенный шейпер. сейчас каждый из серверов авторизации имеет свою подсеть которая роутитися с шейперов статически. и получается что не выйти с определеным адресом с другого сервера. пока пришла в голову мысль както по ospf с сервера авторизации анонсить /32 подсеть подключившегося адреса так чтобы шейперы знали куда слать ответы. но как реализовать чтобы например адрес какойнить /24 подсети независимо от того к кому серверу авторизации подключается чтобы ходил через один и тот же шейпер Гугление наводит на то что FreeBSD умеет использовать несколько таблиц маршрутизации. Можно ли ее заставить в зависимости от того какой ip адрес у подключившегося клиента пакеты слать на определеный гейт. Ну и соответственно этому же гейту анонсировать что клиент подключился с этого сервера и все ответы надо слать на него. или слишком бредовая идея? Вставить ник Quote
networks Posted February 21, 2010 Posted February 21, 2010 (edited) 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 вроде. Edited February 21, 2010 by networks Вставить ник Quote
Latik Posted February 21, 2010 Posted February 21, 2010 Ответ только на: Гугление наводит на то что 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 А про остальное - непонятна цель :) Вставить ник Quote
goletsa Posted February 21, 2010 Author Posted February 21, 2010 (edited) Балансировать нагрузку по железкам. К тому же если я например с одного сервера авторизации пришлю роут на одну /32 подсеть а с другого другую /32 подсеть а при этом они входят в одну и туже /24 подсеть которую обслуживает шейпер то шейперу надо знать куда слать ответные пакеты из внесети. Хотя в принципе можно так сильно не усложнять все. Но это гарантирует большую маштабируемость и более простые переключения при падении какого либо из звеньев. В общем на днях поиграюсь вплотную, самое сложно я думаю будет освоить OSFP\RIP\iBGP для внутренего обмена и динамического построения таблиц маршрутизации. Edited February 21, 2010 by goletsa Вставить ник Quote
goletsa Posted March 19, 2010 Author Posted March 19, 2010 Ответ только на: Гугление наводит на то что 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 А про остальное - непонятна цель :) Возникла проблема. Если два клиента находятся в разных таблицах то между ними не получается наладить прямую связь. Т.е. трейс сразу идет наружу вместо того чтобы обработаться внутри сервера. Можно ли както починить такую логику? Вставить ник Quote
goletsa Posted March 19, 2010 Author Posted March 19, 2010 (edited) $ 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 тунелей. Edited March 19, 2010 by goletsa Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.