UTM + pptp + динамические IP
UTM + pptp + динамические IP
Никто не поделится удобоваримым рецептом раздачи динамики? На форуме обчитался, а конкретики никакой не нашел =)
Что есть: несколько pptp-NAS'ов (микротики, но, думаю, это непринципиально). На данный момент львиная доля юзеров натятся, какое-то количество получает статические внешние IP.
В билинге у всех услуга "передача IP-траффика" с вколоченными туда серыми либо реальными IP.
Авторизация через freeradius.
Недавно получили внешнюю подсетку /21, надо осваивать =)
Что хочется:
1. Задавать Ip-пулы на NAS-ах. Чтобы бордеру не приходилось хранить кучу маршрутов (ospf или iBgp), а указать подсеть via NAS, а NAS'ом регулировать выдочу ипов.
2. Избежать косяков с учетом трафика в билинге. Несмотря на засилие безлимитов, есть всё ещё большое число юзеров с лимитными тарифами, а также с тарифами, которые ограничиваются по скорости после определенной перекачки.
3. Оооочень хочется, чтобы непосредственно в билинге много менять не пришлось. В идеале -- чтобы если в услуге IP "серый" - выдавался IP из пула, если IP статический из внешнего диапазона -- выдавался именно он.
Кто-нибуть может что-нибуть посоветовать? =)
Что есть: несколько pptp-NAS'ов (микротики, но, думаю, это непринципиально). На данный момент львиная доля юзеров натятся, какое-то количество получает статические внешние IP.
В билинге у всех услуга "передача IP-траффика" с вколоченными туда серыми либо реальными IP.
Авторизация через freeradius.
Недавно получили внешнюю подсетку /21, надо осваивать =)
Что хочется:
1. Задавать Ip-пулы на NAS-ах. Чтобы бордеру не приходилось хранить кучу маршрутов (ospf или iBgp), а указать подсеть via NAS, а NAS'ом регулировать выдочу ипов.
2. Избежать косяков с учетом трафика в билинге. Несмотря на засилие безлимитов, есть всё ещё большое число юзеров с лимитными тарифами, а также с тарифами, которые ограничиваются по скорости после определенной перекачки.
3. Оооочень хочется, чтобы непосредственно в билинге много менять не пришлось. В идеале -- чтобы если в услуге IP "серый" - выдавался IP из пула, если IP статический из внешнего диапазона -- выдавался именно он.
Кто-нибуть может что-нибуть посоветовать? =)
Ну вариантов много. Можно скажем сделать несколько пулов "серых" и "белых" ипов. Затем на нескольких NAS'ах сделать авторизацию, и прописать правила фаервола. После, у пользователя в услугах принудительно указать сервер на который он должен коннектится если ип "белый" или "серый"... ну и соответственно раздача ипов из пулов.
Как то так...
Как то так...
Было бы конечно идеально, но так не бывает.Arti писал(а):По рецептом понимается готовое решение которое осталось только внедрить?
А вот подводные камни и пути их отхода те, кто уже внедрял у себя, могли бы обозначить. Не очень правильно учиться на своих ошибках, если можно на чужих, верно ведь? =)
Ненене. Серые не нужны вообще. Прописывать нас, на который нужно коннектиться - тоже бред, у всех юзеров прописано одно: vpn.провайдер.nameTiRider писал(а):Ну вариантов много. Можно скажем сделать несколько пулов "серых" и "белых" ипов. Затем на нескольких NAS'ах сделать авторизацию, и прописать правила фаервола. После, у пользователя в услугах принудительно указать сервер на который он должен коннектится если ип "белый" или "серый"... ну и соответственно раздача ипов из пулов.
Как то так...
дело в том, что у кого подобные схемы действительно работают - предпочитают помалкиватьwingman писал(а): Было бы конечно идеально, но так не бывает.
А вот подводные камни и пути их отхода те, кто уже внедрял у себя, могли бы обозначить. Не очень правильно учиться на своих ошибках, если можно на чужих, верно ведь? =)
Я сам работаю на той же самой проблемой именно в таких же начальных условиях.
Как я вижу решение:
viewtopic.php?t=6980&postdays=0&postorder=asc&start=15
viewtopic.php?t=158&start=15
Можно конешно попробывать заливать трафик в систему, но мне такой вариант совсем не нравится.
Косяк вылез...
У нас диапазон внешников 109.206.x.x/19
Радиус принимает аттрибуты Framed-IP-Address правильно, пихает их в билинг в нетаповском формате, НО, блин, не лезут ж)
Максимальное число поля Framed_IP_Address [ int(11) ] составляет 2147483647. Поставил в базе на это поле аттрибут 'UNSIGNED', мой переформированный в формат нетапа IP влез: 4269854... - но билинг по-прежнему не жуёт его; видимо, ещё и внутрях у него INT зашит.
Радиус запихивает IP в базу так (находил много раз тут на форуме):
Если не переворачивть октеты задом наперёд, то места в INT'е хватает, но сам билинг видит ипы задом наперёд. Например, в отчете по dialup: x.128.206.109
Кто-нибуть может что-нибуть подсказать?
У нас диапазон внешников 109.206.x.x/19
Радиус принимает аттрибуты Framed-IP-Address правильно, пихает их в билинг в нетаповском формате, НО, блин, не лезут ж)
Максимальное число поля Framed_IP_Address [ int(11) ] составляет 2147483647. Поставил в базе на это поле аттрибут 'UNSIGNED', мой переформированный в формат нетапа IP влез: 4269854... - но билинг по-прежнему не жуёт его; видимо, ещё и внутрях у него INT зашит.
Радиус запихивает IP в базу так (находил много раз тут на форуме):
Код: Выделить всё
(INET_ATON(CONCAT_WS('.',SUBSTRING_INDEX('109.206.128.x','.',-1),
SUBSTRING_INDEX(SUBSTRING_INDEX('109.206.128.x','.',-2),'.',1),
SUBSTRING_INDEX(SUBSTRING_INDEX('109.206.128.x','.',2),'.',-1),
SUBSTRING_INDEX('109.206.128.x','.',1))))
)
Кто-нибуть может что-нибуть подсказать?
Если кому надо будет, мне коллега набросал хранимую процедуру для mysql:Arti писал(а):UTM - это один большой капец...
Как сделать средствами sql не знаю - типы там приводятся так себе... Попробуйте хронимимик сделать - ничего другого в голуву не приходит.
Код: Выделить всё
DELIMITER $$
DROP FUNCTION IF EXISTS `INET_ATON_UTM` $$
CREATE FUNCTION `INET_ATON_UTM` (ip VARCHAR (16)) RETURNS INT
DETERMINISTIC
BEGIN
DECLARE r1 INT UNSIGNED;
SET r1 = INET_ATON(CONCAT_WS('.',SUBSTRING_INDEX(ip,'.',-1), SUBSTRING_INDEX(SUBSTRING_INDEX(ip,'.',-2),'.',1), SUBSTRING_INDEX(SUBSTRING_INDEX(ip,'.',2),'.',-1), SUBSTRING_INDEX(ip,'.',1))) ;
IF r1 > 268435455 THEN
RETURN IFNULL(NULL, CAST(r1-0x100000000 AS SIGNED));
ELSE
RETURN r1;
END IF;
END $$
DELIMITER ;
Начал реализовывть на utm_radius, freeradius без кучи костылей прикрутить так и не вышло...
Несколько вопросов.
Реально ли сделать, чтобы IP-адреса выдавал NAS, а не УТМ? Если не задать в УТМе пула, радиус плюется ошибкой:
И сессия обрывается через секунду.
Если же задавать пулы и распределять их из УТМа... То стрёмно
Допустим, что будет в ситуации, когда один из NAS'ов повиснет либо ребутнётся, т.е. не будет корректного завершения сессии? IP-адрес останется в подвешенном состоянии?
-------------------
Правка:
Итоговый вопрос: как заставить utm_radius отдавать сразу RFC'шный аттрибут Framed-Pool ? Без него NAS не знает, что выдавать клиенту.
Изначально он отдаёт проприетарный Cisco-AVPair "ip:addr-pool", который микротик не знает =)
Несколько вопросов.
Реально ли сделать, чтобы IP-адреса выдавал NAS, а не УТМ? Если не задать в УТМе пула, радиус плюется ошибкой:
Код: Выделить всё
Info : Apr 27 20:56:46 UT: session_timeout <1047794> session_limit <964000> old_session_timeout <961394>
Info : Apr 27 20:56:46 UT: session_timeout > session_limit or session_timeout - old_session_timeout too small. Breaking ...
Если же задавать пулы и распределять их из УТМа... То стрёмно
Допустим, что будет в ситуации, когда один из NAS'ов повиснет либо ребутнётся, т.е. не будет корректного завершения сессии? IP-адрес останется в подвешенном состоянии?
-------------------
Правка:
Итоговый вопрос: как заставить utm_radius отдавать сразу RFC'шный аттрибут Framed-Pool ? Без него NAS не знает, что выдавать клиенту.
Изначально он отдаёт проприетарный Cisco-AVPair "ip:addr-pool", который микротик не знает =)
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23