Dmitry83 Posted December 6, 2005 Posted December 6, 2005 Можно ли, если да то как, клиентам PPTP VPN передавать список маршрутов с сервера, что бы после авторизации он у них устанавливался? И для разных клиентов желательно разный (будет потребность). Аутентификация chap-secrets. В манах pppd вроде бы такого не нашел... Есть одна идея - авторизовывать черз Radius, и там есть такая опция: Framed-Route, причем их можно использовать несколько раз. Эта опция как я понял отвечает за маршруты, которые мы передадим юзеру (клиент winXP) и винда их установит? VPN мне нужен только для авторизации - весь траффик будет идти по локальной сети и там же обсчитываться. Сейчас используем биллинг stargazer, но мне не очень нравится что там нельзя установить маршруты ...да и нужен виндовый авторизатор. Поэтому хочу решить вопрос с помощью VPN... Что необходимо: по умлчанию у пользователя прописан только его IP адрес и маска подсети, ничего более. Подключается к VPN серверу в той же подсети, VPN сервер авторизует его (PPTP сервер) на Linux и передает как-то разные маршруты до разных подсетей... Шлюз по умолчанию не подходит(!) И его желательно вообще не использовать(нужно так). Как это сделать? 1. Можно ли как-то чисто через pptp / pppd не используя радиус? 2. Если только через радиус то как? Дйте пример юзера test. У меня такой пример но почему-то юзер слетает после 2-3 минут на линии... dmitry Auth-Type:=MS-CHAP, User-Password == "...." Service-Type = Framed-User, Framed-Protocol = PPP, Framed-IP-Address = 10.64.254.3, Framed-IP-Netmask = 255.255.255.255, Acct-Interim-Interval = 60, Session-Timeout = 43200, # Framed-Routing = Broadcast-Listen, # Framed-Compression = None (БД использовать не хочу.. Пользователей не так много да и мне VPN не надо обсчитывать - т.е. чисто как аутентификация и авторизация юзать его! это вырезка из файла users) Ну и пример с Framed-Route покажите (если конечно Framed-Route это именно ТО что я думаю!) И вообще где про эти параметры радиуса почитать? Может подкините ссылочку, желательно с примерами! Стоит FreeRadius. Вставить ник Quote
Dmitry83 Posted December 6, 2005 Author Posted December 6, 2005 Да и после того как клиент разорвал соединение что бы эти маршруты у него удалялись... (маршруты не будут указывать на VPN подсеть или сервер!) допустим route add some_net mask some_other_mask some_other_gw такого рода будут..т.е. не связанные с сервером доступа и vpn сервером. Вставить ник Quote
Kuzmich Posted December 7, 2005 Posted December 7, 2005 Не судьба, ИМХО. Не заточен windows под прием множественных маршрутов, по карйней мере мне не удалось. Если родной виндузёвый vpn не самоцель - попробуй openvpn. Позволяет кормить клиента маршрутами, пробивает любой самый кривой nat, поддерживает мощное шифрование, авторитзацию на сертификатах... Есть сервера и клиенты для целой тучи операционных систем (кроме Win9X и NT4.0, кажется...). Правда, совсем не удобен для "вечного ламера".... Вставить ник Quote
Dmitry83 Posted December 7, 2005 Author Posted December 7, 2005 Понятненько, спасибо. Про openvpn знаю :) Проще наверное будет доработать клиент stargazer, или ограничится батниками Пока сделал activate.bat(прописывает жестко маршруты) Вставить ник Quote
MAXxim Posted December 7, 2005 Posted December 7, 2005 Пока сделал activate.bat(прописывает жестко маршруты) А у меня чего-то в Виндовс ХП с батником ничего не вышло - такое ощущение, что после прохождения первой команды роут система чего-то ожидает. В 98 все нормально. :( Вставить ник Quote
Dmitry83 Posted December 7, 2005 Author Posted December 7, 2005 У меня так: activate.bat --- route -p add x.x.x.x mask 255.255.255.255 x.x.121.1 route -p add x.x.x.x mask 255.255.255.255 x.x.121.1 route -p add x.x.0.0 mask 255.255.255.0 x.x.121.1 --- И отдельно батники для включения и выключения (со стороны пользователя :) инета: inet_on.bat --- route add 0.0.0.0 mask 0.0.0.0 x.x.121.1 --- inet_off.bat --- route delete 0.0.0.0 --- На Win XP работает. Поиграйся с командой start (start /?) если просто так не работает... Вставить ник Quote
Guest Posted December 7, 2005 Posted December 7, 2005 У меня так: Поиграйся с командой start (start /?) если просто так не работает... Тя кто учил батники писать ? Вот рисует роут в зависимости от ип адреса клиента, применяется повсеместно в Олимпусе. @echo off route delete 10.0.0.0 mask 255.0.0.0 :: Clear environment variables set ip= for /f "tokens=3 delims= " %%d in ( 'route print 10.* ^| find /i "255."') do (set ip=%%d) echo %ip% | find "10.0.">nul if NOT errorlevel 1 goto unsegment for /f "tokens=1 delims=." %%e in ('echo %ip%') do (set okt1=%%e) for /f "tokens=2 delims=." %%e in ('echo %ip%') do (set okt2=%%e) for /f "tokens=3 delims=." %%e in ('echo %ip%') do (set okt3=%%e) set gate=%okt1%.%okt2%.%okt3%.3 route add -p 10.0.0.0 mask 255.0.0.0 %gate% rem serverPublicCLRAV.COM /y /nr goto :eof :unsegment route add -p 10.0.0.0 mask 255.0.0.0 10.0.0.3 Вставить ник Quote
Guest Posted December 7, 2005 Posted December 7, 2005 Не судьба, ИМХО. Не заточен windows под прием множественных маршрутов, по карйней мере мне не удалось. Если родной виндузёвый vpn не самоцель - попробуй openvpn. Позволяет кормить клиента маршрутами, пробивает любой самый кривой nat, поддерживает мощное шифрование, авторитзацию на сертификатах... Есть сервера и клиенты для целой тучи операционных систем (кроме Win9X и NT4.0, кажется...). Правда, совсем не удобен для "вечного ламера".... А хотябы один ему скормить удвавалось ? Вставить ник Quote
Dmitry83 Posted December 7, 2005 Author Posted December 7, 2005 Мне (пока) не нужно зависеть от ip адреса клиента :) всем одинаковые роуты. Поэтому и батник простейший. Но интересно! Спасибо за батник. Вставить ник Quote
Kuzmich Posted December 8, 2005 Posted December 8, 2005 А хотябы один ему скормить удвавалось ? Один да. Называется Default Gateway :) Как вариант - если в сегменте клиента есть роутер на *nix, можно выставить на него default gateway, а на роутере поднять программку, анализирующую проходящие через роутер пакеты, и кормящюю клиентские компы сообщениями icmp redirect в зависимости от src источника. Классная кривизна получится. Как второй вариант - поднять на клиентах "слушатель" протокола RIP, и кормить их маршрутиами по этому протоколу... не криво, но придется реализовать собственный вещатель RIP. P.S. Интересно узнать, а откуда вообще выросла такая задача? Не могу понять, зачем при соединении по vpn поднимать дополнительные маршруты в обход vpn? Попытка организовать платные услуги, разгрузив при этом сервер vpn от лишнего трафика? Вставить ник Quote
Dmitry83 Posted December 8, 2005 Author Posted December 8, 2005 Да, именно так, даже не платные услуги.. Просто в ДС (которая выполнена единый сегментом на свитчах с сервером, обеспечивающем интернет - он же шлюз по умолчанию) будут разные роутеры в другие подсети (соседние сетки)... И как бы гонять всё через шлюз по умолчанию совсем не нужно! Ибо все это должно идти через другие шлюзы... Вообще по идее такая ситуация стандартна довольно - врядли её можно как решить кроме как явно клиенту прописывать маршруты... Ну только еще ICMP Redirect! Вставить ник Quote
catalist Posted December 8, 2005 Posted December 8, 2005 попробуйте анонсить нужные вам маршруты по протоколу RIP-2(ZEBRA), на винду достаточно поставить рип слушатель (он поставляется в коплекте с виндой), у меня так покрайней мере сделано. Вставить ник Quote
kisa Posted December 11, 2005 Posted December 11, 2005 используйте DHCP option 249, а тем, кто еще не перешел на XP, выдавайте по бат файлу Вставить ник 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.