Efendy
|
|
« : 26 Января 2013, 22:24:49 » |
|
Модуль DCHP, он же авторизация на выбор:
- по мак-адресу клиента - по мак+свич+порт - по мак+свич+vlan - по свич+порт
Работает так:
Клиент включает комп и получает ip адрес по dhcp. Открывает любой сайт и попадает на заглушку, на которой предлагается ввести логин и пароль. После этого запоминается, что у клиента есть такой мак-адрес. Дается доступ в интернет. Во все последующие подсоединения логин и пароль не будет спрашиваться пока клиент не сменит комп/сетевую и т.д.
Модуль успешно работает как с неуправляемым оборудованием так и с теми, кто поддерживает опцию82 (т.е сообщают dhcp серверу с какого свича и порта подключился клиент). Успешно работает и со сборной солянкой - хаотичном распределении управляемого и неуправляемого оборудования, если оборудование управляемое - используются эти фичи, нет - не используются.
Дополнительные фичи:
1) Если создать допполе: имя в БД: _fixedconnect тип: Да/Нет имя: фиксированное подключение (либо другое название, какое по смыслу подойдет)
и у определенного клиента(тов) установить в значение "да" - после того как клиент авторизует свое подключение (запомнится свич и порт, к которым он подключился) и если он сменит точку подключения (перенесет свой комп к соседу или попытается авторизоваться под своей учеткой у соседа) - это будет заблокировано. Клиенту будет написано соответствующее сообщение.
2) Если создать допполе: имя в БД: _oneconnect тип: Да/Нет имя: один на порту
и у определенного клиента(тов) установить в значение "да", то после того как клиент авторизует свое подключение, у этого подключения будет поставлена галка "один клиент на порту". Это означает, что при смене мак-адреса (т.е при подключении другого компьютера, ноута, роутера и т.д.) у клиента пароль спрашиваться не будет. Естественно, это имет смысл только для ситуации если к текущему порту подключен только один клиент, т.е в биллинге запоминается "на этом свиче и порту клиент Иванов, неважно какой мак".
|
|
« Последнее редактирование: 14 Августа 2014, 08:02:21 от Efendy »
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #1 : 30 Января 2013, 23:01:45 » |
|
как результаты тестирования?
ну, пока мало абонентов на дхцп. В сети работают на авторизаторе, на пппое и на дхцп, так что тестирование то, что надо. Есть небольшой бок в том, что абоненты, получившие ип по дхцп могут еще и авторизатором авторизовываться, т.е. как бы двойная авторизация. Пока не думал плохо ли это и стоит ли блочить
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #2 : 31 Января 2013, 16:39:47 » |
|
а dhcp-сервер используется какой? свой на perl?
не, isc-dhcpd. У него есть система событий, можно вызывать внешние скрипты. Конфиг можно не править - пофик какой ип выдаст, главное, что он нам это сообщит
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #3 : 09 Февраля 2013, 17:36:41 » |
|
возможно я что то не так понял, make_config.pm - его уже можно использовать, и если можно то как?) модуль dhcp и мэйк_конфиг - разные вещи?
да
|
|
|
Записан
|
|
|
|
Redmen
NoDeny
Ветеран
Карма: 62
Offline
Сообщений: 546
Подяку в КАРМУ
|
|
« Ответ #4 : 10 Февраля 2013, 21:51:42 » |
|
а можно ещё иначе! сделать пул МАКов (как ИПы), в которм присутствуют колонки: Ид, мак, юзер-ид, ид-ип(если статический, иначе "0"), последняя активность.
клиент включил инет с нового девайса, а системаего спросит: добавить к вашей учётке? если "да" тогда введите № договора (к примеру)
а чтоб не засорять эту таблицу, если юзер активен а мак нет (допустим 3 месяца) удалить его к чертям из таблицы
ето также может помочь при видаче нескольких ипов через радиус: поскольку передача ИПа радиусу идет из процедури в базе, в эту процедуру можно добавить проверку активних ИПов по макам, и если у клиента несколько ИП и 1 занят, то выдать следующий
Должно получитса! попробовать нет времени но идея меня давно грызёт
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #5 : 10 Февраля 2013, 22:49:16 » |
|
ну вариант если статический ип, то к нему статический мак привязывается
|
|
|
Записан
|
|
|
|
Demeo
NoDeny
Постоялец
Карма: 6
Offline
Сообщений: 204
|
|
« Ответ #6 : 11 Февраля 2013, 09:10:16 » |
|
если "да" тогда введите № договора (к примеру)
Лучше логин и пароль. А еще лучше это все из клиентской статистики делать
|
|
|
Записан
|
|
|
|
poxy.
NoDeny
Спец
Карма: 10
Offline
Сообщений: 844
|
|
« Ответ #7 : 11 Февраля 2013, 10:31:03 » |
|
если "да" тогда введите № договора (к примеру)
Лучше логин и пароль. А еще лучше это все из клиентской статистики делать Или просто пароль.
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #8 : 11 Февраля 2013, 12:40:05 » |
|
ну суть в том, что для каждого ип адреса должна быть возможность добавить в связку мак адрес
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #9 : 11 Февраля 2013, 13:15:25 » |
|
ну суть в том, что для каждого ип адреса должна быть возможность добавить в связку мак адрес
Пока связки будут mac-uid. Сетевая привязывается к _клиенту_, а не к ip. Зачем нам связка mac-ip? При авторизации клиента, когда используется его мак (dhcp, например хитрый пппое и т.д.), клиенту выдается какой-то ip, хоть динамически, хоть статически. Без разницы. Мак - это по сути пароль. Зачем связка пароль-ip?
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #10 : 11 Февраля 2013, 19:55:09 » |
|
ну суть в том, что для каждого ип адреса должна быть возможность добавить в связку мак адрес
Пока связки будут mac-uid. Сетевая привязывается к _клиенту_, а не к ip. Зачем нам связка mac-ip? При авторизации клиента, когда используется его мак (dhcp, например хитрый пппое и т.д.), клиенту выдается какой-то ip, хоть динамически, хоть статически. Без разницы. Мак - это по сути пароль. Зачем связка пароль-ip? а если у клиента несколько ип адресов?
|
|
|
Записан
|
|
|
|
Redmen
NoDeny
Ветеран
Карма: 62
Offline
Сообщений: 546
Подяку в КАРМУ
|
|
« Ответ #11 : 11 Февраля 2013, 20:31:46 » |
|
а если у клиента несколько ип адресов?
сделать пул маков
|
|
|
Записан
|
|
|
|
poxy.
NoDeny
Спец
Карма: 10
Offline
Сообщений: 844
|
|
« Ответ #12 : 28 Февраля 2013, 13:41:16 » |
|
Приобрел модуль, Чем генерить конфиг для dhcp для выдачи динамических ип на карту, и еще один момент, не понятно как (где) задать шлюзы. В сети все по dchp, куча вланов, для каждого влана (подсети) свой шлюз. make_config включил конфиг: allow unknown-clients; option domain-name-servers 10.10.177.2, 10.10.17.2;
default-lease-time 28800; min-lease-time 10000; max-lease-time 128800;
authoritative;
ddns-update-style none;
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option broadcast-address 10.0.0.255; # option routers 10.10.7.250; # option interface-mtu 1500;
{% for user in users %} {% eval i = 0 %} {% for ip in user.ips %} {% if ip.type eq 'dynamic' && user.mac.[i] %} host {{user.name}} { hardware ethernet {{user.mac.[i]}}; fixed-address {{ip.ipa}}; } {% eval i = i + 1 %} {% endif %} {% endfor %} {% endfor %} }
Запускаю ядро, но dhcp не запускается, тк нет связки ип мак в dhcpd.conf, т.е make_config генерит конфиг без ип и мака. PS Ув. Стас, не мог бы ты разъяснить какой конфиг впринципе должен быть для: ип выдаются при включении сетевой из пула с динамических после ставлю в админке статический и связку мак+uid, клиенту постоянно выдает один и тот же ип. Больше всего непонятно как реализовать шаблон для кучи подсетей.
|
|
|
Записан
|
|
|
|
poxy.
NoDeny
Спец
Карма: 10
Offline
Сообщений: 844
|
|
« Ответ #13 : 28 Февраля 2013, 14:37:57 » |
|
Добавил : allow unknown-clients; option domain-name-servers 10.10.177.2, 10.10.17.2;
default-lease-time 28800; min-lease-time 10000; max-lease-time 128800;
authoritative;
ddns-update-style none;
log-facility local7;
subnet 10.10.7.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option broadcast-address 10.10.7.255; range 10.10.7.5 10.10.7.240; option routers 10.10.7.250; option interface-mtu 1500;
{% for user in users %} {% eval i = 0 %} {% for ip in user.ips %} {% if ip.type eq 'dynamic' && user.mac.[i] %} host {{user.name}} { hardware ethernet {{user.mac.[i]}}; fixed-address {{ip.ipa}}; } {% eval i = i + 1 %} {% endif %} {% endfor %} {% endfor %} }
ип выдает, dhcp запускается, но хостов нет в конфиге...
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #14 : 28 Февраля 2013, 14:42:22 » |
|
Не следовало мне идти на поводу и давать этот модуль без документации
|
|
|
Записан
|
|
|
|
|