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

Вопрос по работе VPN и Radius серверов

Приветствую всех уважаемые господа!

Задача у меня такая: работает несколько ВПН серверов (ВПН-1 и ВПН-2), авторизация пользователей осуществляется через радиус (FreeRadis), IP адреса выдает тоже радиус, выбор подключения пользователей к ВПН серверам идет через механизм Raund Robin. На радиус сервере прописано 2 пула адресов (ippool). Сейчас в конфигурационном файле радиуса (где прописаны пользователи) у меня прописано что, например, пользователь test-1 получает ИП адрес из пула А , а пользователь test-2 получает ИП адрес из пула B.

test-1  Cleartext-Password := "t-z", Simultaneous-Use := 1, Pool-Name := "A"
test-2  Cleartext-Password := "t-z", Simultaneous-Use := 1, Pool-Name := "B"

 

Что надо сделать (куда копать), чтобы при подключении к ВПН-1 пользователям выдавался ИП из пула А , при подключении к ВПН-2 пользователям выдавался ИП из пула В ?

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


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

Копать в сторону проверки атрибута NAS_IDENTIFIER на радиусе.

 

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


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

В качестве эксперимента проделал следующее

В файле huntgroups прописал

private         NAS-IP-Address == 192.16.0.101

 

В файле users дописал

DEFAULT Auth-Type := Local, Huntgroup-Name == private, Pool-Name := "private_ip_pool"
        Service-Type = Framed-User,
        Framed-Protocol = PPP,
        Framed-Routing = Broadcast-Listen,
        Framed-Filter-Id = "std.ppp",
        Framed-MTU = 1460,
        Framed-Compression = Van-Jacobsen-TCP-IP,
        Fall-Through = Yes

 

Завел пользователя

s  Cleartext-Password := "t-z"

 

Когда пользователь подключается, авторизация проходит, но сервер не выдает ИП адрес.

private_ip_pool - существующий рабочий пул адресов.

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

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


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

если Вы хотите привязвть пул к насу то самый простой способ сделать это - определить пул на самом насе и позволить ему самому назначать IP клиенту. Радиус тут не нужен...

 

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


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

А еще можно RIP поднять.... если НАСы в одной сети....

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


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

Работает сейчас 8 NAS, 1 Radius и 2 больших пула ИП адресов. Надо временно 4 NAS привязать к 1-му пулу, другие 4 NAS к 2-му пулу. Поэтому все желательно сделать силами Radius.

Поднят и работает OSPF.

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

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


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

У меня в зависимости от NAS-а происходит авторизация абонентов, в запросе на авторизацию использую поле Client-IP-Address, выделяю, какие атрибуты насу выдавать.

Вам тоже это можно сделать, но в случае пула. Смысл будет один и тот-же.

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


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

Вам тоже это можно сделать, но в случае пула.
На своем примере можете показать?

Почему в моем случае (с huntingroups) не выдается IP адрес?

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

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


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

Делал еще так, в файле huntgroups дописал имя пула

private         NAS-IP-Address == 192.16.0.101, Pool-Name := "private_ip_pool"

IP адрес тоже не выдается клиенту.

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

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


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

Вот лог радиуса, где то проблема с атрибутом

+- entering group post-auth {...}
[private_ip_pool] Could not find Pool-Name attribute.
++[private_ip_pool] returns noop

 

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


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

Так еще делал, не помогло - не находит Pool-Name attribute

DEFAULT Auth-Type := CHAP, NAS-IP-Address ==192.16.0.101, Pool-Name := "private_ip_pool"
        Service-Type = Framed-User,
        Framed-Protocol = PPP,
        Framed-Routing = Broadcast-Listen,            
        Framed-Filter-Id = "std.ppp",                 
        Framed-MTU = 1460,                            
        Framed-Compression = Van-Jacobsen-TCP-IP,     
        Fall-Through = Yes

$INCLUDE users.test

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

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


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

To assign a user an IP from a pool you simply need to have a Pool-Name Attribute (Keep in mind that it is a CHECK item, not reply) in the required configuration file, which is either in files(users), sql or any other type of configuration schema.

 

http://wiki.freeradius.org/Pool-Name

 

Походу клиентов нужно запихивать в группу, после чего на группу вешать пул. Попробуйте так сделать.

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


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

Мне надо пул привязать к серверу доступа.

Сейчас пул привязан к пользователю, все работает.

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


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

Join the conversation

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

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

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

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

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

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

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