Jump to content

Как после авторизации передать клиенту VPN список маршрутов?


Recommended Posts

Posted

Можно ли, если да то как, клиентам 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.

Posted

Да и после того как клиент разорвал соединение что бы эти маршруты у него удалялись... (маршруты не будут указывать на VPN подсеть или сервер!)

допустим

route add some_net mask some_other_mask some_other_gw

такого рода будут..т.е. не связанные с сервером доступа и vpn сервером.

Posted

Не судьба, ИМХО. Не заточен windows под прием множественных маршрутов, по карйней мере мне не удалось.

 

Если родной виндузёвый vpn не самоцель - попробуй openvpn. Позволяет кормить клиента маршрутами, пробивает любой самый кривой nat, поддерживает мощное шифрование, авторитзацию на сертификатах... Есть сервера и клиенты для целой тучи операционных систем (кроме Win9X и NT4.0, кажется...).

 

Правда, совсем не удобен для "вечного ламера"....

Posted

Понятненько, спасибо.

 

Про openvpn знаю :)

 

Проще наверное будет доработать клиент stargazer, или ограничится батниками

Пока сделал activate.bat(прописывает жестко маршруты)

Posted
Пока сделал activate.bat(прописывает жестко маршруты)

 

А у меня чего-то в Виндовс ХП с батником ничего не вышло - такое ощущение, что после прохождения первой команды роут система чего-то ожидает.

В 98 все нормально. :(

Posted

У меня так:

 

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 /?) если просто так не работает...

Posted
У меня так:

 

 

Поиграйся с командой 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

Posted
Не судьба, ИМХО. Не заточен windows под прием множественных маршрутов, по карйней мере мне не удалось.

 

Если родной виндузёвый vpn не самоцель - попробуй openvpn. Позволяет кормить клиента маршрутами, пробивает любой самый кривой nat, поддерживает мощное шифрование, авторитзацию на сертификатах... Есть сервера и клиенты для целой тучи операционных систем (кроме Win9X и NT4.0, кажется...).

 

Правда, совсем не удобен для "вечного ламера"....

 

А хотябы один ему скормить удвавалось ?

Posted

Мне (пока) не нужно зависеть от ip адреса клиента :) всем одинаковые роуты. Поэтому и батник простейший.

Но интересно! Спасибо за батник.

Posted
А хотябы один ему скормить удвавалось ?

 

Один да. Называется Default Gateway :)

 

Как вариант - если в сегменте клиента есть роутер на *nix, можно выставить на него default gateway, а на роутере поднять программку, анализирующую проходящие через роутер пакеты, и кормящюю клиентские компы сообщениями icmp redirect в зависимости от src источника. Классная кривизна получится.

 

Как второй вариант - поднять на клиентах "слушатель" протокола RIP, и кормить их маршрутиами по этому протоколу... не криво, но придется реализовать собственный вещатель RIP.

 

P.S. Интересно узнать, а откуда вообще выросла такая задача? Не могу понять, зачем при соединении по vpn поднимать дополнительные маршруты в обход vpn? Попытка организовать платные услуги, разгрузив при этом сервер vpn от лишнего трафика?

Posted

Да, именно так, даже не платные услуги.. Просто в ДС (которая выполнена единый сегментом на свитчах с сервером, обеспечивающем интернет - он же шлюз по умолчанию) будут разные роутеры в другие подсети (соседние сетки)... И как бы гонять всё через шлюз по умолчанию совсем не нужно! Ибо все это должно идти через другие шлюзы... Вообще по идее такая ситуация стандартна довольно - врядли её можно как решить кроме как явно клиенту прописывать маршруты... Ну только еще ICMP Redirect!

Posted

попробуйте анонсить нужные вам маршруты по протоколу RIP-2(ZEBRA), на винду достаточно поставить рип слушатель (он поставляется в коплекте с виндой), у меня так покрайней мере сделано.

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.