Биллинговая система Nodeny

Главная категория => Модули NodenyPlus => Тема начата: Efendy от 26 Января 2013, 22:24:49



Название: DHCP
Отправлено: Efendy от 26 Января 2013, 22:24:49
Модуль DCHP, он же авторизация на выбор:

- по мак-адресу клиента
- по мак+свич+порт
- по мак+свич+vlan
- по свич+порт

Работает так:

Клиент включает комп и получает ip адрес по dhcp. Открывает любой сайт и попадает на заглушку, на которой предлагается ввести логин и пароль. После этого запоминается, что у клиента есть такой мак-адрес. Дается доступ в интернет. Во все последующие подсоединения логин и пароль не будет спрашиваться пока клиент не сменит  комп/сетевую и т.д.

Модуль успешно работает как с неуправляемым оборудованием так и с теми, кто поддерживает опцию82 (т.е сообщают dhcp серверу с какого свича и порта подключился клиент). Успешно работает и со сборной солянкой - хаотичном распределении управляемого и неуправляемого оборудования, если оборудование управляемое - используются эти фичи, нет - не используются.

Дополнительные фичи:

1) Если создать допполе:
имя в БД: _fixedconnect
тип: Да/Нет
имя: фиксированное подключение (либо другое название, какое по смыслу подойдет)

и у определенного клиента(тов) установить в значение "да" - после того как клиент авторизует свое подключение (запомнится свич и порт, к которым он подключился) и если он сменит точку подключения (перенесет свой комп к соседу или попытается авторизоваться под своей учеткой у соседа) - это будет заблокировано. Клиенту будет написано соответствующее сообщение.

2) Если создать допполе:
имя в БД: _oneconnect
тип: Да/Нет
имя: один на порту

и у определенного клиента(тов) установить в значение "да", то после того как клиент авторизует свое подключение, у этого подключения будет поставлена галка "один клиент на порту". Это означает, что при смене мак-адреса (т.е при подключении другого компьютера, ноута, роутера и т.д.) у клиента пароль спрашиваться не будет. Естественно, это имет смысл только для ситуации если к текущему порту подключен только один клиент, т.е в биллинге запоминается "на этом свиче и порту клиент Иванов, неважно какой мак".


Название: Re: DHCP
Отправлено: Efendy от 30 Января 2013, 23:01:45
как результаты тестирования?
ну, пока мало абонентов на дхцп. В сети работают на авторизаторе, на пппое и на дхцп, так что тестирование то, что надо. Есть небольшой бок в том, что абоненты, получившие ип по дхцп могут еще и авторизатором авторизовываться, т.е. как бы двойная авторизация. Пока не думал плохо ли это и стоит ли блочить


Название: Re: DHCP
Отправлено: Efendy от 31 Января 2013, 16:39:47
а dhcp-сервер используется какой? свой на perl?
не, isc-dhcpd. У него есть система событий, можно вызывать внешние скрипты. Конфиг можно не править - пофик какой ип выдаст, главное, что он нам это сообщит


Название: Re: DHCP
Отправлено: Efendy от 09 Февраля 2013, 17:36:41
возможно я что то не так понял, make_config.pm - его уже можно использовать, и если можно то как?)
модуль dhcp и мэйк_конфиг - разные вещи?
да


Название: Re: DHCP
Отправлено: Redmen от 10 Февраля 2013, 21:51:42
а можно ещё иначе!
сделать пул МАКов (как ИПы), в которм присутствуют колонки:
Ид, мак, юзер-ид, ид-ип(если статический, иначе "0"), последняя активность.

клиент включил инет с нового девайса, а системаего спросит: добавить к вашей учётке?
если "да" тогда введите № договора (к примеру)

а чтоб не засорять эту таблицу, если юзер активен а мак нет (допустим 3 месяца) удалить его к чертям из таблицы

ето также может помочь при видаче нескольких ипов через радиус: поскольку передача ИПа радиусу идет из процедури в базе,
в эту процедуру можно добавить проверку активних ИПов по макам, и если у клиента несколько ИП и 1 занят, то выдать следующий

Должно получитса! попробовать нет времени но идея меня давно грызёт


Название: Re: DHCP
Отправлено: elite от 10 Февраля 2013, 22:49:16
ну вариант
если статический ип, то к нему статический мак привязывается


Название: Re: DHCP
Отправлено: Demeo от 11 Февраля 2013, 09:10:16
если "да" тогда введите № договора (к примеру)
Лучше логин и пароль. А еще лучше это все из клиентской статистики делать


Название: Re: DHCP
Отправлено: poxy. от 11 Февраля 2013, 10:31:03
если "да" тогда введите № договора (к примеру)
Лучше логин и пароль. А еще лучше это все из клиентской статистики делать

Или просто пароль.


Название: Re: DHCP
Отправлено: elite от 11 Февраля 2013, 12:40:05
ну суть в том, что для каждого ип адреса должна быть возможность добавить в связку мак адрес


Название: Re: DHCP
Отправлено: Efendy от 11 Февраля 2013, 13:15:25
ну суть в том, что для каждого ип адреса должна быть возможность добавить в связку мак адрес
Пока связки будут mac-uid. Сетевая привязывается к _клиенту_, а не к ip. Зачем нам связка mac-ip?

При авторизации клиента, когда используется его мак (dhcp, например хитрый пппое и т.д.), клиенту выдается какой-то ip, хоть динамически, хоть статически. Без разницы. Мак - это по сути пароль. Зачем связка пароль-ip?


Название: Re: DHCP
Отправлено: elite от 11 Февраля 2013, 19:55:09
ну суть в том, что для каждого ип адреса должна быть возможность добавить в связку мак адрес
Пока связки будут mac-uid. Сетевая привязывается к _клиенту_, а не к ip. Зачем нам связка mac-ip?

При авторизации клиента, когда используется его мак (dhcp, например хитрый пппое и т.д.), клиенту выдается какой-то ip, хоть динамически, хоть статически. Без разницы. Мак - это по сути пароль. Зачем связка пароль-ip?
а если у клиента несколько ип адресов?


Название: Re: DHCP
Отправлено: Redmen от 11 Февраля 2013, 20:31:46
а если у клиента несколько ип адресов?
сделать пул маков


Название: Re: DHCP
Отправлено: poxy. от 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, клиенту постоянно выдает один и тот же ип.

Больше всего непонятно как реализовать шаблон для кучи подсетей.


Название: Re: DHCP
Отправлено: poxy. от 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 запускается, но хостов нет в конфиге...


Название: Re: DHCP
Отправлено: Efendy от 28 Февраля 2013, 14:42:22
Не следовало мне идти на поводу и давать этот модуль без документации


Название: Re: DHCP
Отправлено: Efendy от 28 Февраля 2013, 14:47:23
ип выдает, dhcp запускается, но хостов нет в конфиге...
Так. Пошло-поехало, шаловливые руки полезли до создания конфига. Я тебе писал как должен выглядеть конфиг? Да. Зачем ты его пытаешься создать. Давай нахерачь еще чего-нибудь. Верни как было и жди документации. Потому как шаловливые руки это опасно


Название: Re: DHCP
Отправлено: poxy. от 28 Февраля 2013, 14:51:02
Не следовало мне идти на поводу и давать этот модуль без документации

Дык не давал, купил сегодня в магазине модулей. Как скоро будет документация?


Название: Re: DHCP
Отправлено: poxy. от 28 Февраля 2013, 15:16:00
Неплохо бы сделать патч "всегда онлайн", с зеленым ключиком в админке.


Название: Re: DHCP
Отправлено: Efendy от 28 Февраля 2013, 15:17:54
Неплохо бы сделать патч "всегда онлайн", с зеленым ключиком в админке.
могу сделать, но имхо будет тока путать


Название: Re: DHCP
Отправлено: elite от 28 Февраля 2013, 15:35:38
Неплохо бы сделать патч "всегда онлайн", с зеленым ключиком в админке.
могу сделать, но имхо будет тока путать
надо!


Название: Re: DHCP
Отправлено: poxy. от 28 Февраля 2013, 15:39:48
Может отдельным патчем для нуждающихся?


Название: Re: DHCP
Отправлено: vddav от 28 Февраля 2013, 16:18:40
даешь зеленые ключики "Всегда онлаин"!!!!!!!!!))))))))))))


Название: Re: DHCP
Отправлено: Redmen от 28 Февраля 2013, 17:31:42
лучше не так, а:
красний = авторизирован (нет доступа)
зелёный = авторизирован авторизатором
сине-серый = всегда онлайн (не онлайн)
сине-зелёный = всегда онлайн (онлайн)
фиолетово-серый = RADIUS OFFL
фиолетово-зелёный = RADIUS ONL
и т.п.


Название: Re: DHCP
Отправлено: Efendy от 28 Февраля 2013, 17:33:20
Та проблема не в этом, а когда вы на карту авторизации будете выводить, то нифига не поймете есть бок или там авторизация всегда онлайн


Название: Re: DHCP
Отправлено: Redmen от 28 Февраля 2013, 17:37:01
так я про список юзеров, а на карте побоку как юзврерь авторизовался = всё зелёным


Название: Re: DHCP
Отправлено: Efendy от 28 Февраля 2013, 17:39:25
так я про список юзеров, а на карте побоку как юзврерь авторизовался = всё зелёным
а, если тока в списке юзеров, то сделаю


Название: Re: DHCP
Отправлено: Efendy от 01 Марта 2013, 14:44:16
https://app.nodeny-plus.com.ua/docs/work/modules.html

не исключено, что что-то забыл упомянуть, если что-то не описано - говорите, допишу


Название: Re: DHCP
Отправлено: vddav от 01 Марта 2013, 15:48:46
самое желанное и долго ожидаемое почти свершилось.
динамический пул вроде как тоже вариант, но хотелось бы что б генерило со статик адресами аля ип+мак ну и соответственно что б дхцп сервер раздавал не из пула а из резерва, ну как то так)


Название: Re: DHCP
Отправлено: Efendy от 01 Марта 2013, 16:38:03
Нафига вам айпи+мак?? У меня работает без привязки айпи и еще ни один человек не возмутился


Название: Re: DHCP
Отправлено: stix от 01 Марта 2013, 16:54:36
а если чел статикой пропишет "чужой" ip ?
как тогда проводится тарификация и доступ?


Название: Re: DHCP
Отправлено: vddav от 01 Марта 2013, 17:06:21
ага, вот походу упущенный момент, значить в 50 нодени я так понимаю создается еще один конфиг для noarp, вроде ж он и контролирует что б ип юзера совпадало с его маком, а ип прибит непосредственно к юзеру, собственно и авторизация по ип получается что ли. ну уж если какой умник поменяет себе мак, жертва сделает звонок, но такого вроде даже не было. и сейчас такой вариант вполне себе работает и приемлим(нету проблем с настройкой авторизатора/пппое, чем снимается часть головной боли от криворукости юзеров).собственно для перехода нема желания оббегать всех обонов для установки авторизатора...

хм, получается помимо генерации конфига дхцп, надо еще поклянчить что то типа noarp.pl в Н+(если я правильно понял)...


Название: Re: DHCP
Отправлено: Efendy от 01 Марта 2013, 17:14:08
а если чел статикой пропишет "чужой" ip ?
как тогда проводится тарификация и доступ?
авторизация начинается только по событию от dhcp  сервера. Дальше поддерживает ее модуль ядра dhcp.  Если чел пропишет ип, то авторизации у него не будет. Кончено, есть способы обмануть систему, если чел выключится и успеть назначить его ип. Но хочу напомнить, что мак-авторизации в обед сто лет, еще 10 лет назад я ни в какую ни при каких условиях не сделал бы ее, потому что она небезопасна в принципе. Но раз вы просите - берите. Лично я в своей сети упростил работу клиентов, но безопасность снизилась, ну и хер  с ней. Главное удобство. Следующий уровеь - управляемое оборудование. Вот это и есть безопасность


Название: Re: DHCP
Отправлено: Efendy от 01 Марта 2013, 17:17:30
ага, вот походу упущенный момент, значить в 50 нодени я так понимаю создается еще один конфиг для noarp, вроде ж он и контролирует что б ип юзера совпадало с его маком, а ип прибит непосредственно к юзеру, собственно и авторизация по ип получается что ли. ну уж если какой умник поменяет себе мак, жертва сделает звонок, но такого вроде даже не было. и сейчас такой вариант вполне себе работает и приемлим(нету проблем с настройкой авторизатора/пппое, чем снимается часть головной боли от криворукости юзеров).собственно для перехода нема желания оббегать всех обонов для установки авторизатора...

хм, получается помимо генерации конфига дхцп, надо еще поклянчить что то типа noarp.pl в Н+(если я правильно понял)...
как я написал выше - авторизация начинается по сигналу dhcp сервера. Кстати, когда комп выключается - он освобождает ип, и дхцп сервер заканчивает авторизацию. Жаль, что компы чето не спешат освобождать, плюют на стандарты? Кстати, если уменьшить время аренды адреса, то безопаснть можно улучшить, но тогда некоторые устройства не будут работать (так говорил Vitalvas, я не проверял)


Название: Re: DHCP
Отправлено: stix от 01 Марта 2013, 17:19:37
Цитировать
авторизация начинается только по событию от dhcp  сервера. Дальше поддерживает ее модуль ядра dhcp.
да, точно.
там же триггер, когда только DHCP REQUEST запрос идет, открывается файрволом доступ.
по времени нет траблов с паузой, если база будет огого?


Название: Re: DHCP
Отправлено: Efendy от 01 Марта 2013, 17:19:47
О, кстати. Действительно, можно уменьшить время аренды, а те юзеры с гомноустройствами - пусть юзают авторизатор. Я думаю таких будет оочень мало. Зато проблем не будет, и ваши noarp.pl просто не понадобятся, а то наплодили, понимаешь, сущностей и на автопилоте  биллинг и недели не продержится


Название: Re: DHCP
Отправлено: Efendy от 01 Марта 2013, 17:21:09
Цитировать
авторизация начинается только по событию от dhcp  сервера. Дальше поддерживает ее модуль ядра dhcp.
да, точно.
там же триггер, когда только DHCP REQUEST запрос идет, открывается файрволом доступ.
по времени нет траблов с паузой, если база будет огого?
уменьшение времени аренды решит и эту проблему, т.е авторизация поднимется в момент ее продлевания. А у вас часто падает БД? кул


Название: Re: DHCP
Отправлено: stix от 01 Марта 2013, 17:28:55
17:08:05 up 227 days, 1 min,  1 user,  load average: 0.00, 0.00, 0.00
аптайм бд столько же

с момента включения питания в сервере

я про то, чтобы хватало времени отработки всех запросов


Название: Re: DHCP
Отправлено: Efendy от 01 Марта 2013, 17:36:03
я про то, чтобы хватало времени отработки всех запросов
там простейшие запросы, если у тебя в сети не 500 000 абонов, то можно не беспокоиться


Название: Re: DHCP
Отправлено: ivanmfan от 01 Марта 2013, 21:56:53
А если IP в резерве, он не будет выдаваться клиенту? Т.е. есть пул в котором некоторые IP помечены как зарезервированы.


Название: Re: DHCP
Отправлено: Efendy от 01 Марта 2013, 23:45:41
А если IP в резерве, он не будет выдаваться клиенту? Т.е. есть пул в котором некоторые IP помечены как зарезервированы.
заглядывайте в код, кстати, он умещается на одну страницу. Лана, на обычных мониторах на две страницы. Но по нему все предельно понятно:

Код:
# Выдадим ip клиенту
        my $rows = sql_do('check_rows', "UPDATE ip_pool SET uid=? WHERE ip=INET_ATON(?) AND type='dynamic'", $p{uid}, $ip);
        $rows < 1 && error("$log В ip_pool нет $ip либо его тип не dynamic");


Название: Re: DHCP
Отправлено: ivanmfan от 02 Марта 2013, 09:17:40
А если IP в резерве, он не будет выдаваться клиенту? Т.е. есть пул в котором некоторые IP помечены как зарезервированы.
заглядывайте в код, кстати, он умещается на одну страницу. Лана, на обычных мониторах на две страницы. Но по нему все предельно понятно:

Код:
# Выдадим ip клиенту
        my $rows = sql_do('check_rows', "UPDATE ip_pool SET uid=? WHERE ip=INET_ATON(?) AND type='dynamic'", $p{uid}, $ip);
        $rows < 1 && error("$log В ip_pool нет $ip либо его тип не dynamic");

Да, но в этот момент когда эвент от dhcp сервера обрабатывается, клиенту передался какой то IP, а если ему отправится тот который стоит в резервации?  Я просто к чему, что правила выдачи IP адресов находятся в самом конфиге dhcp сервера вот
Код:
subnet 10.100.0.0 netmask 255.255.0.0 {
  range 10.100.64.0 10.100.80.255;
  interface em1;
  option routers 10.100.0.1;
а Админка этим(выдачей адресов из пула) не управляет?

Ну более понятный пример вот я прописал в dhcp конфиге
subnet 10.100.1.0 netmask 255.255.255.0 {
  range 10.100.1.1 10.100.1.254;

в админке указал что все с 1.1-1.255 в резервер, подключается первый клиент. То если шанс что ему выдастся с 1.1-1.255 ?

Или нужно строить так что бы все адреса которые указанны в выдаче dhcp сервером были свободны(динамические) ?


Название: Re: DHCP
Отправлено: poxy. от 02 Марта 2013, 09:38:05
Поправьте заголовок


Название: Re: DHCP
Отправлено: Efendy от 02 Марта 2013, 10:32:22
проблемы какие-то надуманные, столько текста... в скрипте меньше кода чем комментариев тут. Ну неужели трудно сделать маленькую сеточку, внести ее в ip pool, взять стакан водки, выпить и собравшись с духом присвоить ей статус "динамический"?


Название: Re: DHCP
Отправлено: poxy. от 02 Марта 2013, 11:18:04
Когда меняешь на свою подсеть нужно тут что то изменять?

Код:
set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
    set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));


Название: Re: DHCP
Отправлено: Efendy от 02 Марта 2013, 11:30:47
Когда меняешь на свою подсеть нужно тут что то изменять?

Код:
set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
    set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
нет, это вспомогательный код


Название: Re: DHCP
Отправлено: poxy. от 02 Марта 2013, 11:34:59
Спасибо, и еще где отредактировать текст выдаваемый заглушкой (не нужны упоминания авторизатора и тд)? И как запустить заглушку? Виртуалхост на 127.0.0.1 ? Межет где то провтыкал, но все же...


Название: Re: DHCP
Отправлено: Efendy от 02 Марта 2013, 11:47:38
Спасибо, и еще где отредактировать текст выдаваемый заглушкой (не нужны упоминания авторизатора и тд)? И как запустить заглушку? Виртуалхост на 127.0.0.1 ? Межет где то провтыкал, но все же...
Заглушка состоит из двух частей:
1) модуль ядра cap - висит на порту 8080 и просто редиректит на cgi-bin/cap.pl
2) cgi-bin/cap.pl
/usr/local/nodeny/web/lang/RU_cap.pl - это текст


Название: Re: DHCP
Отправлено: poxy. от 02 Марта 2013, 14:21:05
Вообщем ситуация следующая:

ип выдает, в логах dhcp запрос с маком есть, при попытке куда то зайти кидает на your.server/cgi-bin/stat.pl
меняю путь на сервер/cgi-bin/cap.pl - заходит на заглушку, далее "получить доступ", логин пароль, попал в статистику и все...

в таблице uid=0, дальше ничего не происходит

Как настроить заглушку? что не так сделал?

ПС в cap.cfg прописал только свой урл и все, в биллинге ничего не создавал кроме клиента.


Название: Re: DHCP
Отправлено: poxy. от 02 Марта 2013, 14:22:02
У кого успешно прошло поделитесь конфигом апач для заглушки


Название: Re: DHCP
Отправлено: poxy. от 02 Марта 2013, 15:46:40
В логе:

Код:
02.03.2013 14:12:17 [commit] ip=10.10.7.20, mac=50:46:5d:66:54:d6, mac_ok=50465d6654d6 | Необходима регистрация мака
02.03.2013 14:14:58 [release] ip=10.10.7.20 | Ok

но в базе uid=0


Название: Re: DHCP
Отправлено: poxy. от 02 Марта 2013, 16:50:16
С заглушкой разобрался, все редиректит, НО после ввода логина и пароля заходит в статистику и все. UID по прежнему =0. Что может быть?


Название: Re: DHCP
Отправлено: poxy. от 02 Марта 2013, 18:12:35
Может можно как то дебаг включить для модуля dhcp?


Название: Re: DHCP
Отправлено: ivanmfan от 02 Марта 2013, 19:00:09
Может можно как то дебаг включить для модуля dhcp?

Дополни в БД в конфиге

@Plugins = (
 'cards',
 'pays',
 'srv_select',
 'auth_log',
 'remitter',
 'traf_graph',
 'srv_info',
 'srv_add',
 'dhcp'
);

Если что это не для дебага, а для пользователя включает.


Название: Re: DHCP
Отправлено: poxy. от 02 Марта 2013, 19:16:14
Может можно как то дебаг включить для модуля dhcp?

Дополни в БД в конфиге

@Plugins = (
 'cards',
 'pays',
 'srv_select',
 'auth_log',
 'remitter',
 'traf_graph',
 'srv_info',
 'srv_add',
 'dhcp'
);

Если что это не для дебага, а для пользователя включает.

Преогромное Спасибо!!!! +1 в карму.


Название: Re: DHCP
Отправлено: ivanmfan от 02 Марта 2013, 19:42:25
Может можно как то дебаг включить для модуля dhcp?

Дополни в БД в конфиге

@Plugins = (
 'cards',
 'pays',
 'srv_select',
 'auth_log',
 'remitter',
 'traf_graph',
 'srv_info',
 'srv_add',
 'dhcp'
);

Если что это не для дебага, а для пользователя включает.

Преогромное Спасибо!!!! +1 в карму.

Я поправил в конфиге вручную в БД было, и у меня слетела кодировка названий трафика(все что было кирилицой) у тебя такого не было?


Название: Re: DHCP
Отправлено: poxy. от 02 Марта 2013, 20:04:32
Нет, все ок.


Название: Re: DHCP
Отправлено: poxy. от 03 Марта 2013, 12:14:25
Сделал конфиг для нескольких подсетей :

Код:
allow unknown-clients;
authoritative;
ddns-update-style none;
log-facility local7;
option domain-name-servers 10.10.177.2,10.10.17.2;

shared-network 123 {

subnet 10.10.7.0 netmask 255.255.255.0 {
  range 10.10.7.30 10.10.7.100;
  interface vlan7;
  option routers 10.10.7.250;
  default-lease-time 2400;
  max-lease-time 1800;
  on commit {
    set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
    set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
    execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit", ClientIP, ClientMac);
  }
  on expiry {
    set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
    execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
  }
  on release {
    set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
    execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
  }
}

subnet 10.10.60.0 netmask 255.255.255.0 {
  range 10.10.60.10 10.10.60.240;
  interface vlan60;
  option routers 10.10.60.250;
  default-lease-time 2400;
  max-lease-time 1800;
  on commit {
    set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
    set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
    execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit", ClientIP, ClientMac);
  }
  on expiry {
    set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
    execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
  }
  on release {
    set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
    execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
  }
}

subnet 10.10.61.0 netmask 255.255.255.0 {
  range 10.10.61.10 10.10.61.240;
  interface vlan61;
  option routers 10.10.61.250;
  default-lease-time 2400;
  max-lease-time 1800;
  on commit {
    set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
    set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
    execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit", ClientIP, ClientMac);
  }
  on expiry {
    set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
    execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
  }
  on release {
    set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
    execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
  }
}


}

Проблема в том что выдает ип влану61 из влана7, что не так? Пулы, вланы и тд создал. Какой вид должен быть для нескольких подсетей и интерфейсов?


Название: Re: DHCP
Отправлено: poxy. от 03 Марта 2013, 12:52:58
Убрал секцию shared-network, теперь вроде подсеть-интерфейс...


Название: Re: DHCP
Отправлено: vddav от 20 Марта 2013, 13:45:53
можно ли как то выдавать абону один и тот же ип адрес через модуль, либо навесить вручную, без авторизатора, есть с десяток обонов: организации с тунелями  в свои сети ( МТ,маршруты статик),  адреса в локальном днс(кс, кваки и тд).


Название: Re: DHCP
Отправлено: Efendy от 20 Марта 2013, 15:08:09
можно ли как то выдавать абону один и тот же ип адрес через модуль, либо навесить вручную, без авторизатора, есть с десяток обонов: организации с тунелями  в свои сети ( МТ,маршруты статик),  адреса в локальном днс(кс, кваки и тд).
Если таких клиентов не много, можно в конфиге dhcp прописать соответствия мак=ip. Если много, то нужно будет конфиг формировать модулем make_config. Пробуй 1й вариант сначала


Название: Re: DHCP
Отправлено: vddav от 29 Марта 2013, 17:45:17
можно ли как то выдавать абону один и тот же ип адрес через модуль, либо навесить вручную, без авторизатора, есть с десяток обонов: организации с тунелями  в свои сети ( МТ,маршруты статик),  адреса в локальном днс(кс, кваки и тд).
Если таких клиентов не много, можно в конфиге dhcp прописать соответствия мак=ip. Если много, то нужно будет конфиг формировать модулем make_config. Пробуй 1й вариант сначала

не было времени проверить - 1 вариант работает, спасибо! );)


Название: Re: DHCP
Отправлено: boomer666 от 12 Апреля 2013, 06:29:29
Добрый день.
Происходит dhcp авторизация, и держится чуть больше минуты.
Потом пропадает ip в админке у клиента
помогите советом что это может быть?

 




Название: Re: DHCP
Отправлено: Efendy от 12 Апреля 2013, 09:53:34
Модуль ядра dhcp должен быть запущен


Название: Re: DHCP
Отправлено: boomer666 от 12 Апреля 2013, 15:49:04
Модуль ядра dhcp должен быть запущен
он запущен на сателите
Код:
 ps aux|grep no
ps aux|grep no
root  24578  4.8  6.6 154012 134940   0- S    10:52AM   9:57.27 perl /usr/local/nodeny/noserver.pl -d (perl5.12.4)
root  67309  2.3  0.8 40628 15804   1  S     3:36PM   0:00.24 /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=cap -d (perl5.12.4)
root  24749  0.0  0.5 29084  9384   0- S    10:58AM   0:13.14 /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=dhcp -d (perl5.12.4)
делал все по ману на сателлите
1.закинул мудуль dhcp и на сервер биллинга и сателлит.
2.установил isc-dhcp42-server и настроил dhcpd.conf
3.
Код:
ipfw show | grep fwd
18500     24687      2399147 fwd 127.0.0.1,8080 tcp from any to any dst-port 80

что надо на сателлите запускать и настраивать и что на тазике с билингом?


Название: Re: DHCP
Отправлено: vddav от 19 Апреля 2013, 08:02:25
как правильно увеличить время аренды в дхцп?, стояло как по мануалу 2400, но отваливаются некоторые абоны, при увеличении времени аренды дхцп. инет у абонов отваливается с переодичностью 40 мин, после перегрузки опять работает 40мин. по ходу где-то еще эти 40 минут фигурируют, или чяднт?
Код:
authoritative;
log-facility local7;
ddns-update-style none;
option domain-name-servers 192.168.20.254;
default-lease-time 2400; #потом меняю, допустим на 10800, рестарт дхспд, и абононы работают 42-43мин.
max-lease-time 86400;


Название: Re: DHCP
Отправлено: Efendy от 19 Апреля 2013, 08:20:29
в kernel/dhcp.pm 40*60
а чего ты увеличил время аренды? чем больше время аренды тем неточнее инфа по авторизации. Т.е. клиент уже может выключил комп, а авторизация светится.


Название: Re: DHCP
Отправлено: vddav от 19 Апреля 2013, 08:30:11
ну абоны с говно устройствами которые отваливаются через 10-15 мин, я так думаю такая же проблема описывалась в предыдущих постах, где вы позже рекомендовали устанавливать им аторизаторы. как бы не хотелось бы в принципе использовать авторизаторы, к тому же еще не известно реальное кол-во таких абонов.
и еще, какая правильная последовательность: редактирование kernel/dhcp.pm, dhcpd.conf, затем рестарт модуля, потом дхспд? и если модуль подгружается вместе с ядром, можно как нить только модуль перезапустить? и что если перезапустить ядро - какие последствия могут быть?


Название: Re: DHCP
Отправлено: vddav от 19 Апреля 2013, 08:34:27
еще, время аренды в dhcpd.conf должно строго равняется dhcp.pm?


Название: Re: DHCP
Отправлено: Efendy от 19 Апреля 2013, 12:53:08
еще, время аренды в dhcpd.conf должно строго равняется dhcp.pm?
нет, в dhcp.pm должно быть больше, скажем, минут на 5


Название: Re: DHCP
Отправлено: vddav от 19 Апреля 2013, 13:08:16
еще, время аренды в dhcpd.conf должно строго равняется dhcp.pm?
нет, в dhcp.pm должно быть больше, скажем, минут на 5
"ах вот оно че Михалыч"), значить если строго равно, какая то задержка по сети - абон отвалился?, в доках бы описать, либо в примере подправить. Спасибо за пояснение!!!)


Название: Re: DHCP
Отправлено: Efendy от 19 Апреля 2013, 13:38:16
На самом деле я не хотел чтоб вручную тайминги правили. Скажи, почему ты захотел увеличить время аренды?


Название: Re: DHCP
Отправлено: vddav от 19 Апреля 2013, 14:48:39
тогда начну сначала, может я и фигней страдаю)))
ага, вот походу упущенный момент, значить в 50 нодени я так понимаю создается еще один конфиг для noarp, вроде ж он и контролирует что б ип юзера совпадало с его маком, а ип прибит непосредственно к юзеру, собственно и авторизация по ип получается что ли. ну уж если какой умник поменяет себе мак, жертва сделает звонок, но такого вроде даже не было. и сейчас такой вариант вполне себе работает и приемлим(нету проблем с настройкой авторизатора/пппое, чем снимается часть головной боли от криворукости юзеров).собственно для перехода нема желания оббегать всех обонов для установки авторизатора...

хм, получается помимо генерации конфига дхцп, надо еще поклянчить что то типа noarp.pl в Н+(если я правильно понял)...
как я написал выше - авторизация начинается по сигналу dhcp сервера. Кстати, когда комп выключается - он освобождает ип, и дхцп сервер заканчивает авторизацию. Жаль, что компы чето не спешат освобождать, плюют на стандарты? Кстати, если уменьшить время аренды адреса, то безопаснть можно улучшить, но тогда некоторые устройства не будут работать (так говорил Vitalvas, я не проверял)
так вот, эти некоторые устройства (в т.ч. некоторые сборки вин ХР)работают минут 10-15 и отваливаются до перезагрузки, собсно предположил что столкнулся с аналогичной проблемой (авторизатор изначально не использовался, ну и как бы теперь тоже не планируется(хватило прошлого опыта с пппое настройками - постоянные звонки по настройке, вплоть до выездов на дом)). Также происходят редкие отвалы с нормальными абонами (смею предположить что из-за строго соответствия времени в дхцп модуле и самом в дхцп сервере при возникновении задержек по сети). вот собственно из этих соображений все началось, возможно я обшибаюсь, дело в другом, тогда в чем может быть?


Название: Re: DHCP
Отправлено: VitalVas от 19 Апреля 2013, 21:52:35
какие параметры у тебя в
default-lease-time
max-lease-time
?


Название: Re: DHCP
Отправлено: vddav от 20 Апреля 2013, 01:29:53
какие параметры у тебя в
default-lease-time
max-lease-time
?
default-lease-time 2400 #как по ману
max-lease-time # 86400, впоследствии увеличил, основываясь наверное на бессоннице))
ща поставлю default-lease-time 7200
и dhcp.pm 122*60
утром будет результат)


Название: Re: DHCP
Отправлено: VitalVas от 20 Апреля 2013, 08:00:01
от и проблема в твоем конфиге!
для начало разберись, почему именно такие числа изначально стоят

Код:
default-lease-time 2400;
max-lease-time 1800;


Название: Re: DHCP
Отправлено: vddav от 20 Апреля 2013, 08:28:18
от и проблема в твоем конфиге!
для начало разберись, почему именно такие числа изначально стоят

Код:
default-lease-time 2400;
max-lease-time 1800;
max-lease-time меньше default-lease-time? так же изначально и было но проблема оставалась. ща вроде норм, но день покажет.


Название: Re: DHCP
Отправлено: vddav от 26 Апреля 2013, 18:19:24
от и проблема в твоем конфиге!
для начало разберись, почему именно такие числа изначально стоят

Код:
default-lease-time 2400;
max-lease-time 1800;
еслив конфиге dhcpd вообще убрать max-lease-time 1800; а, в dhcp.pm увеличить на теже 10 минут, есть подозрения что эти "говноустройства" неправильно понимают этот параметр и пытаются два раза получить адреса, в следствии чего их выбрасывает на заглушку что ваш ип числится свободным, в билинге видно что у абона два ипа авторизовано. возможно я ошибаюсь, если так, тогда в чем может быть причина?
Код:
default-lease-time 7200;
max-lease-time 6600;
 и в dhcpd.pm 122*60


Название: Re: DHCP
Отправлено: Nafanya от 05 Мая 2013, 18:23:10
Приветствую всех. Вопрос. Установил ДХЦП. Адреса выдает (как задано), но выдает зарезервированные. При проверке в логах есть такое:

Цитировать
05.05.2013 19:15:08 ERROR: [commit] ip=10.1.6.0, mac=20:cf:30:1e:18:d1, mac_ok=20cf301e18d1 | sql error

В заглушке выдается, что неправильные настройки сети.

куда рыть? В мускуле не силен. Подскажите.


Название: Re: DHCP
Отправлено: Efendy от 05 Мая 2013, 20:35:00
Таблица mac_uid в базе данных есть?


Название: Re: DHCP
Отправлено: Nafanya от 05 Мая 2013, 21:40:09
Цитировать
Таблица mac_uid в базе данных есть?

Нет. Проверял.

Цитировать
mysql> SELECT *, INET_NTOA(ip) FROM mac_uid;
ERROR 1146 (42S02): Table 'nodeny.mac_uid' doesn't exist
mysql>


Название: Re: DHCP
Отправлено: versus от 07 Мая 2013, 08:25:43
Цитировать
Таблица mac_uid в базе данных есть?

Нет. Проверял.

Цитировать
mysql> SELECT *, INET_NTOA(ip) FROM mac_uid;
ERROR 1146 (42S02): Table 'nodeny.mac_uid' doesn't exist
mysql>

Так может создать попробвать ?


Название: Re: DHCP
Отправлено: Nafanya от 07 Мая 2013, 09:45:47
С этим разобрался. На было бы прописать в установке, что таблицу нужно создать самому. Теперь другой вопрос. Почему присваиваются по ДХЦП адреса из зарезервированных. На праздниках, да и после праздников туплю.  Уж подскажите.


Название: Re: DHCP
Отправлено: elite от 07 Мая 2013, 12:06:10
что значит из зарезервированных ?


Название: Re: DHCP
Отправлено: Nafanya от 07 Мая 2013, 12:32:57
из IP пула


Название: Re: DHCP
Отправлено: poxy. от 13 Мая 2013, 16:29:35
Как отключить лог для events.pl?

Достаточно ли тут :

Код:
Debug->param(
    -type     => 'file',
    -file     => "$dir_nod/logs/dhcp.events.log",
    -nochain  => 1,
    -only_log => 1,
);

Поставить 0? Или закомментировать эту секцию?


Название: Re: DHCP
Отправлено: Efendy от 13 Мая 2013, 17:12:57
да, закомменть эту секцию, тогда он будет хериться


Название: Re: DHCP
Отправлено: poxy. от 13 Мая 2013, 17:22:30
да, закомменть эту секцию, тогда он будет хериться
#!/usr/bin/perl
# ------------------- NoDeny ------------------
# Copyright (с) Volik Stanislav, 2008..2013
# ---------------------------------------------
use strict;
use FindBin;
use lib "$FindBin::Bin/../..";
#use Debug; Это тоже?
use Db;

my $dir_nod = "$FindBin::Bin/../..";

#Debug->param(
#    -type     => 'file',
#    -file     => "$dir_nod/logs/dhcp.events.log",
#    -nochain  => 1,
#   -only_log => 1,
#);

sub error
{
    my($err) = @_;
    tolog("ERROR: $err");
    exit;
}

так?


Название: Re: DHCP
Отправлено: Efendy от 13 Мая 2013, 18:03:14
нет. Закомментировать только Debug->param


Название: Re: DHCP
Отправлено: poxy. от 13 Мая 2013, 18:14:36
спасибо


Название: Re: DHCP
Отправлено: Nafanya от 14 Мая 2013, 15:46:56
На мой вопрос так и никто не ответил. Зарезервированный ИП. Должен его выдавать ДХЦП? В логах есть только ругательство, что он не динамик или не входит в пул.
Цитировать
14.05.2013 16:39:08 UPDATE ip_pool SET uid='1' WHERE ip=INET_ATON('10.1.5.1') AND type='dynamic'
Строк: 0. Время выполнения sql: 0.0001 сек
14.05.2013 16:39:08 ERROR: [commit] ip=10.1.5.1, mac=20:cf:30:1e:18:d1, mac_ok=20cf301e18d1 | В ip_pool нет 10.1.5.1 либо его тип не dynamic
Спасибо за ответ.


Название: Re: DHCP
Отправлено: Efendy от 14 Мая 2013, 15:48:42
Зарезервированный - это "не трогать". Его никому не выдают
Для dhcp нужно ip пометить как динамические


Название: Re: DHCP
Отправлено: Sis от 18 Мая 2013, 17:24:23
Можно кроме mac , добавить и порт Option82 в случае если указано что в данной точке стоит управляемого оборудование?
т.е. брать за основу номер порта и mac или только номер порта.


Название: Re: DHCP
Отправлено: Nafanya от 01 Июля 2013, 22:31:37
DHCP почему то стартует раньше мускула, хотя настроил запуск отдельным процессом:
Цитировать
/usr/bin/perl /usr/local/nodeny/nokernel.pl -d &
/usr/bin/perl /usr/local/nodeny/noserver.pl -d &
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=cap -d &
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=collectors -d &
/usr/local/etc/rc.d/isc-dhcpd forcestart
в rc.conf закоментил старт дхцп.
Подскажите, где смотреть?
Спасибо.


Название: Re: DHCP
Отправлено: Nafanya от 02 Июля 2013, 09:01:54
Все разобрался вроде бы. Буду посмотреть дальше.


Название: Re: DHCP
Отправлено: Nafanya от 02 Июля 2013, 11:49:45
все равно пытается подняться раньше мускула. Я уже не знаю куда и смотреть. Мысли кончились, бубен сломался.
Бывают моменты что и загружается нормально. Моменты когда все запустил руками. и сразу перегружаю. Загрузка идет нормально. Как поработает - лезет раньше мускула. Куда смотреть. Помогите пож.


Название: Re: DHCP
Отправлено: boomer666 от 01 Сентября 2013, 19:42:03
можно сделать так что-бы клиент не смог перезаписать свой мак)?

что-бы только админ удал привязку и он авторизовался заново с новым маком


Название: Re: DHCP
Отправлено: Efendy от 01 Сентября 2013, 20:11:31
Ну тогда отключи ему модуль клиентской статистики dhcp по которому он подтверждает свой мак и измени заглушку


Название: Re: DHCP
Отправлено: boomer666 от 01 Сентября 2013, 21:12:20
Ну тогда отключи ему модуль клиентской статистики dhcp по которому он подтверждает свой мак и измени заглушку
а если отключить с клиентской статистики модуль dhcp то как тогда новые клиенты смогут авторизоваться ?


Название: Re: DHCP
Отправлено: Efendy от 01 Сентября 2013, 21:43:37
Авторизация идет по маку (если очень интересно, то это events.pl), модуль же связывает мак с id клиента


Название: Re: DHCP
Отправлено: boomer666 от 02 Сентября 2013, 08:43:17
убрал с клиенской статитистики модуль dhcp.
это когда id + мак уже связан, а если новый клиент то  по переходе посылке  (./cgi-bin/stat.pl u_dhcp) у меня клиент просто заходит на статистику и регистрация мака не проходит.



Название: Re: DHCP
Отправлено: Efendy от 02 Сентября 2013, 09:40:31
убрал с клиенской статитистики модуль dhcp.
это когда id + мак уже связан, а если новый клиент то  по переходе посылке  (./cgi-bin/stat.pl u_dhcp) у меня клиент просто заходит на статистику и регистрация мака не проходит.
я же перед последним сообщением написал:

Цитировать
измени заглушку
вместо редиректа на регистрацию мака должно выводиться сообщение "вы нам неизвестны, идите на обратитесь к администрации"


Название: Re: DHCP
Отправлено: boomer666 от 02 Сентября 2013, 09:52:47
убрал с клиенской статитистики модуль dhcp.
это когда id + мак уже связан, а если новый клиент то  по переходе посылке  (./cgi-bin/stat.pl u_dhcp) у меня клиент просто заходит на статистику и регистрация мака не проходит.
я же перед последним сообщением написал:

Цитировать
измени заглушку
вместо редиректа на регистрацию мака должно выводиться сообщение "вы нам неизвестны, идите на обратитесь к администрации"
спасибо буду пробывать


Название: Re: DHCP
Отправлено: YuSHa от 02 Сентября 2013, 13:46:18
Приветствую всех. Вопрос. Установил ДХЦП. Адреса выдает (как задано), но выдает зарезервированные. При проверке в логах есть такое:

Цитировать
05.05.2013 19:15:08 ERROR: [commit] ip=10.1.6.0, mac=20:cf:30:1e:18:d1, mac_ok=20cf301e18d1 | sql error

В заглушке выдается, что неправильные настройки сети.

куда рыть? В мускуле не силен. Подскажите.

Таккие же грабли.
Цитировать
02.09.2013 14:30:42 ERROR: [commit] ip=10.200.200.2, mac=0:0:0:0:0:12, mac_ok=000000000012 | sql error

dhcp  стооит на сателлите.
по идее модуль dhcp  доллжен заносить данные в удаленныю БД, но если мы делали так по мануалу
Цитировать
GRANT SELECT ON `nodeny`.* TO 'nodeny'@'1.2.3.4';
, то ему просто зарезают доступ на обновление данных в таблице mac_uidl, я  прав?
если да, какие права посоветуете дать? GRANT ALL PRIVILEGES ???


Название: Re: DHCP
Отправлено: Efendy от 02 Сентября 2013, 14:25:36
Право SELECT - это частный случай. Следует выдать в зависимости от функционала. На первом этапе можно выдать все права чтобы проверить, что ошибка была связана с ними, а не чем-то иным. Потом урезать до нужных. Для events нужны INSERT и UPDATE на таблицу mac_uid, также UPDATE на ip_pool, а также право EXECUTE


Название: Re: DHCP
Отправлено: YuSHa от 02 Сентября 2013, 15:44:04
Спасибо, пока выставил права UPDATE, EXECUTE, INSERT для удаленного пользователя
заработало.
ковыряем дальше


Название: Re: DHCP
Отправлено: boomer666 от 02 Сентября 2013, 20:49:05
убрал с клиенской статитистики модуль dhcp.
это когда id + мак уже связан, а если новый клиент то  по переходе посылке  (./cgi-bin/stat.pl u_dhcp) у меня клиент просто заходит на статистику и регистрация мака не проходит.
я же перед последним сообщением написал:

Цитировать
измени заглушку
вместо редиректа на регистрацию мака должно выводиться сообщение "вы нам неизвестны, идите на обратитесь к администрации"
все хорошо работает.
но неудобно привязку делать .Если клиент уже получил ip по dhcp  то его мак в писался в таблицу mac-id  и тогда у клиента не возможно сделать привязку пишет "Создание связки mac-uid не выполнено"
приходится искать его мак в списках и добавлять его id.можно сделать  поиск мака?


Название: Re: DHCP
Отправлено: boomer666 от 03 Сентября 2013, 09:57:48
когда клиент отключился/подключился время авторизации просто не обнуляется


Название: Re: DHCP
Отправлено: Efendy от 03 Сентября 2013, 10:49:16
Запусти ядро


Название: Re: DHCP
Отправлено: boomer666 от 03 Сентября 2013, 11:49:00
Запусти ядро
у меня уже запущен на сервере с биллингом
Код:
ps ax|grep no
  930  v0- S    442:19.10 /usr/bin/perl /usr/local/nodeny/nokernel.pl -d (perl5.12.4)
и на сателлите
Код:
 5191 v0- S      25:18,49 /usr/bin/perl /usr/local/nodeny/noserver.pl -d (perl5.12.4)
 5192 v0- R     433:37,23 /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=cap -d (perl5.12.4)
 5193 v0- S       0:29,34 /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=dhcp -d (perl5.12.4)


разве  можно 2 ядра запускать?


Название: Re: DHCP
Отправлено: Efendy от 03 Сентября 2013, 12:44:08
если модули не будут дублироваться, то хоть одно ядро на каждый модуль. Иногда есть смысл некоторые тяжеловесные модули запускать отдельно - ядро выполняет модули по очереди, поэтому если какой-то затупит, то другие будут срабатывать не вовремя. Большинство модулей ядра срабатывают мгновенно, поэтому их можно запустить вместе. Сбор трафика я запускаю отдельно, поскольку на большом количестве абонентов там дохрена вычислений.

Если запустить
Код:
perl nokernel.pl

то будут запущены все модули, у которых в конфиге стоит run=>1.  Если не стоит, то их нужно запускать отдельно с ключем -m=модуль.

Код:
perl nokernel.pl -L
покажет какие модули запустятся при perl nokernel.pl автоматически, т.е. для которых не нужно отдельно perl nokernel.pl -m=модуль.

Если при perl nokernel.pl -L выводится auth = 1 (т.е. модуль запускается автоматически), то отдельно запускать его не нужно. Почему именно этот модуль? Потому что https://app.nodeny-plus.com.ua/docs/work/kernel.html (иногда читаем факонг документейшн):

Цитировать
auth управляет авторизацией:

    завершение авторизаций по таймауту. Если не включить модуль, то клиент, единожды авторизовавшись (авторизатором, pppoe и т.д), в админке будет авторизованным все время, не смотря на то, что давно уже отключился.
    запись в лог авторизаций, благодаря чему можно узнать все сеансы подключений
    освобождение динамических ip от привязки к клиентам, которые отключились

Если авторизация застыла и не удаляется хотя гарантированно у чела комп выключен (ты проверял?) - значит модуль auth не закрыл авторизацию (скорее всего не запущен ибо там нечему глючить), хотя вероятен и такой вариант - вы суперадмины в обязательном порядке считается не нужным сообщать что вы меняли в конфигах. Время аренды dhcp  менял? А если проверю?


Название: Re: DHCP
Отправлено: boomer666 от 03 Сентября 2013, 14:52:29
а в сеансах подключений должно что-то  вписываться в поле :
Модуль авт.
Mac   
Свойства


Название: Re: DHCP
Отправлено: Efendy от 03 Сентября 2013, 17:00:18
Да


Название: Re: DHCP
Отправлено: boomer666 от 03 Сентября 2013, 18:46:04
а в сеансах подключений должно что-то  вписываться в поле :
Модуль авт.
Mac   
Свойства

Да
а у меня пусто.
как проверить и за чего ?не вписывает


Название: Re: DHCP
Отправлено: boomer666 от 04 Сентября 2013, 12:50:44
а в сеансах подключений должно что-то  вписываться в поле :
Модуль авт.
Mac   
Свойства

Да
а у меня пусто.
как проверить и за чего ?не вписывает

заметил что данные появляются на 2-3 секунды после авторизации, а потом исчезают


Название: Re: DHCP
Отправлено: YuSHa от 24 Декабря 2013, 13:39:42
Подскажите пожалуйста, кто нибуть делал у себя DHCP + DHCP relay посредством микротика? хоть убей не пойму как допилить dhcpd.conf.
Хотелка такая: есть микротик с кучей vlan/eoip, нужно поднять для каждого интерфейса DHCP relay со своими подсетями.
Может кто поделится конфигом?


Название: Re: DHCP
Отправлено: goletsa от 24 Декабря 2013, 14:28:45
Подскажите пожалуйста, кто нибуть делал у себя DHCP + DHCP relay посредством микротика? хоть убей не пойму как допилить dhcpd.conf.
Хотелка такая: есть микротик с кучей vlan/eoip, нужно поднять для каждого интерфейса DHCP relay со своими подсетями.
Может кто поделится конфигом?
Никаких сложностей не возникало.
Вы адреса из подсети на vlan'ы не забываете вешать?


Название: Re: DHCP
Отправлено: YuSHa от 24 Декабря 2013, 14:50:31
Код:
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

#log-facility local7;
option domain-name-servers 193.106.201.218;

subnet 10.100.0.0 netmask 255.255.255.0 {
    range 10.100.0.2 10.100.0.254;
    interface vlan3;
    option routers 10.100.0.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
}
subnet 172.16.20.0 netmask 255.255.255.0 {
range 172.16.20.2 172.16.20.254;
   option routers 172.16.20.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
}

На микротике на интерфейсе стоит IP 172.16.20.1/24
Код:
/ip dhcp-relay
add delay-threshold=none dhcp-server=192.168.110.194 disabled=yes interface=\
    eoip-tunnel1 local-address=172.16.20.1 name=relay1

с микротика 192.168.110.194 пингается, с фри 172.16.20.1 тоже. в логах не вижу ничего странного


Название: Re: DHCP
Отправлено: goletsa от 24 Декабря 2013, 15:14:35
Код:
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

#log-facility local7;
option domain-name-servers 193.106.201.218;

subnet 10.100.0.0 netmask 255.255.255.0 {
    range 10.100.0.2 10.100.0.254;
    interface vlan3;
    option routers 10.100.0.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
}
subnet 172.16.20.0 netmask 255.255.255.0 {
range 172.16.20.2 172.16.20.254;
   option routers 172.16.20.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
}

На микротике на интерфейсе стоит IP 172.16.20.1/24
Код:
/ip dhcp-relay
add delay-threshold=none dhcp-server=192.168.110.194 disabled=yes interface=\
    eoip-tunnel1 local-address=172.16.20.1 name=relay1

с микротика 192.168.110.194 пингается, с фри 172.16.20.1 тоже. в логах не вижу ничего странного
disabled=yes м?


Название: Re: DHCP
Отправлено: YuSHa от 24 Декабря 2013, 15:30:11
сори. выключал на ночь.
естественно включен. по монитору requests щёлкает, а responses нет.
в фаере правило
allow ip from me to 172.16.0/16 via em1
allow ip from 172.16.0.0/16 to me via em1

в первой секции есть привязка к интерфейсу, а во втором, нет. может нужно? но мне в локалку ничего не нужно выдавать


Название: Re: DHCP
Отправлено: goletsa от 25 Декабря 2013, 15:08:04
А с интерфейса dhcp сервера ответы то улетают?
Может они не туда летят


Название: Re: DHCP
Отправлено: YuSHa от 25 Декабря 2013, 15:37:52
пока решил так:
в первой секции с привязкой к интерфейсу задал range из 2х IP? что б не во всю сеть разбрасывало
во второй и последующих привязки по интерфейсу нет. прописаны нужные подсети. вроде выдает нормально.


Название: Re: DHCP
Отправлено: Sis от 04 Января 2014, 22:22:38
У меня модуль DHCP "авторизирует" по опции 82.. Все хочу перенести клиентов в Nodeny Plus, но тормозит тот факт что первоначально для привязки компьютера им нужно будет ввести логин и пароль оно разумно, но действующие клиенты хоть и имеют договора с этими данными, будет те не менее шквал звонков про то почему Интернет не работает .. Что за логин и пароль надо вводить. Подскажите как сделать кнопку "все хорошо" ? А именно что все кто онлайн привязались автоматом... чтобы избавить себя от лишних звонков.


Название: Re: DHCP
Отправлено: YuSHa от 06 Января 2014, 09:19:50
прописать связки mac+port+mac свича


Название: Re: DHCP
Отправлено: Efendy от 06 Января 2014, 11:47:50
Мы в скайпе уже обсудили, там ситуация такая: в старом NoDeny есть соответствие клиент-свич-порт и нужно по этим данным найти у кого в данный момент какой мак и прописать в базе соотвествия


Название: Re: DHCP
Отправлено: Sis от 07 Января 2014, 21:25:36
Мы в скайпе уже обсудили, там ситуация такая: в старом NoDeny есть соответствие клиент-свич-порт и нужно по этим данным найти у кого в данный момент какой мак и прописать в базе соотвествия
Да обсудили, и у меня там все эти данные вбиты, только вот почему-то не правильно база переносится, ну или конвертируется.
Когда у вас будет время прошу помощи, я на радостях еще парочку модулей куплю конечно же.


Название: Re: DHCP
Отправлено: SerjioMati от 15 Января 2014, 22:16:25
а можна зробити так, якщо кліент авторизований по dhcp + mac, то якщо він заходить на сторінку статистики та щоб там була кнопка ввійти без авторизації?
Наприклад як на pppoe?


Название: Re: DHCP
Отправлено: ivanmfan от 16 Января 2014, 09:25:08
а можна зробити так, якщо кліент авторизований по dhcp + mac, то якщо він заходить на сторінку статистики та щоб там була кнопка ввійти без авторизації?
Наприклад як на pppoe?

У меня работает, измени в файле /web/login/ip.pl со " AND type='static' " на " AND type='dynamic' "


Название: Re: DHCP
Отправлено: Efendy от 16 Января 2014, 10:52:20
тогда лучше вообще убрать

Код:
AND type='static'

правда надо вспомнить почему я именно статический ип туда вписал...


Название: Re: DHCP
Отправлено: SerjioMati от 16 Января 2014, 20:35:45
тогда лучше вообще убрать

Код:
AND type='static'

правда надо вспомнить почему я именно статический ип туда вписал...
то краще не удаляти
Код:
AND type='static'
?


Название: Re: DHCP
Отправлено: Efendy от 16 Января 2014, 22:28:07
пока не удаляй, просто надо помозговать безопасно ли так авторизовывать


Название: Re: DHCP
Отправлено: SerjioMati от 16 Января 2014, 23:38:16
пока не удаляй, просто надо помозговать безопасно ли так авторизовывать
а на " AND type='dynamic' " можно змінити?


Название: Re: DHCP
Отправлено: Nafanya от 11 Февраля 2014, 23:19:26
Авторизация идет по ДХЦП в один прекрасный момент доступ для этих ребят закрыт. Получают адрес, авторизируются, выходят на личную страницу и все. В инет доступа нет. Что может быть? Плизззз


Название: Re: DHCP
Отправлено: Nafanya от 11 Февраля 2014, 23:47:18
Разобрался. Сделал в кофиге замену
Цитировать
set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));

 на

set ClientMac = binary-to-ascii(16, 8, "", substring(hardware, 1, 6));
подла ошибка. Вернул на место, все восстановилось.


Название: Re: DHCP
Отправлено: Nafanya от 12 Февраля 2014, 07:37:27
Разобрался. Сделал в кофиге замену
Цитировать
set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));

 на

set ClientMac = binary-to-ascii(16, 8, "", substring(hardware, 1, 6));
подла ошибка. Вернул на место, все восстановилось.
Извините, ошибся, пошла.


Название: Re: DHCP
Отправлено: YuSHa от 12 Февраля 2014, 09:24:39
такая же петрушка и с pppoe http://clip2net.com/s/6NYO4g


Название: Re: DHCP
Отправлено: Nafanya от 12 Февраля 2014, 09:28:08
У меня это касается РРРоЕ


Название: Re: DHCP
Отправлено: YuSHa от 12 Февраля 2014, 09:30:53
значит удалить в процедуре radupdate?


Название: Re: DHCP
Отправлено: Efendy от 12 Февраля 2014, 10:50:44
 там должно быть CONCAT('mod=pppoe;',REPLACE(properties,':',''))); как в документации http://app.nodeny-plus.com.ua/docs/work/mpd5.html


Название: Re: DHCP
Отправлено: Nafanya от 12 Февраля 2014, 11:23:17
Проблема продолжается. Клиент получает адрес по ДХЦП. Потом авторизируется. Открывается личный кабинет. Вывески, что доступ в инет открыт нет. В инет клиент зайти не может. Куда смотреть?


Название: Re: DHCP
Отправлено: YuSHa от 12 Февраля 2014, 11:28:41
там должно быть CONCAT('mod=pppoe;',REPLACE(properties,':',''))); как в документации http://app.nodeny-plus.com.ua/docs/work/mpd5.html

именно так и есть
Код:
mysql> show create procedure radupdate;
+-----------+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
| Procedure | sql_mode | Create Procedure                                                                                                                                                                                                                                                                                                                                                                    | character_set_client | collation_connection | Database Collation |
+-----------+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
| radupdate |          | CREATE DEFINER=`root`@`localhost` PROCEDURE `radupdate`(IN login VARCHAR(64), IN ip VARCHAR(16), IN properties VARCHAR(255))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;
  CALL set_auth(usr_ip, CONCAT('mod=pppoe;',REPLACE(properties,':','')));
END | latin1               | latin1_swedish_ci    | latin1_swedish_ci  |
+-----------+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
1 row in set (0.06 sec)

mysql>


Название: Re: DHCP
Отправлено: Efendy от 12 Февраля 2014, 13:00:28
Проблема продолжается. Клиент получает адрес по ДХЦП. Потом авторизируется. Открывается личный кабинет. Вывески, что доступ в инет открыт нет. В инет клиент зайти не может. Куда смотреть?
модуль dhcp  в настройках клиентской статистики указан?


Название: Re: DHCP
Отправлено: Efendy от 12 Февраля 2014, 13:05:33
там должно быть CONCAT('mod=pppoe;',REPLACE(properties,':',''))); как в документации http://app.nodeny-plus.com.ua/docs/work/mpd5.html

именно так и есть
Код:
mysql> show create procedure radupdate;
+-----------+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
| Procedure | sql_mode | Create Procedure                                                                                                                                                                                                                                                                                                                                                                    | character_set_client | collation_connection | Database Collation |
+-----------+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
| radupdate |          | CREATE DEFINER=`root`@`localhost` PROCEDURE `radupdate`(IN login VARCHAR(64), IN ip VARCHAR(16), IN properties VARCHAR(255))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;
  CALL set_auth(usr_ip, CONCAT('mod=pppoe;',REPLACE(properties,':','')));
END | latin1               | latin1_swedish_ci    | latin1_swedish_ci  |
+-----------+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
1 row in set (0.06 sec)

mysql>

Покажи результат SELECT CONCAT('mod=pppoe;',REPLACE('11:22:33:44:55:66',':',''));


Название: Re: DHCP
Отправлено: YuSHa от 12 Февраля 2014, 13:29:25
Код:
mysql> SELECT CONCAT('mod=pppoe;',REPLACE('11:22:33:44:55:66',':',''));
+----------------------------------------------------------+
| CONCAT('mod=pppoe;',REPLACE('11:22:33:44:55:66',':','')) |
+----------------------------------------------------------+
| mod=pppoe;112233445566                                   |
+----------------------------------------------------------+
1 row in set (0.00 sec)

mysql>


Название: Re: DHCP
Отправлено: Nafanya от 12 Февраля 2014, 14:22:02
Проблема продолжается. Клиент получает адрес по ДХЦП. Потом авторизируется. Открывается личный кабинет. Вывески, что доступ в инет открыт нет. В инет клиент зайти не может. Куда смотреть?
модуль dhcp  в настройках клиентской статистики указан?
Ступил. Спасибо. Мой недогляд.


Название: Re: DHCP
Отправлено: SerjioMati от 15 Февраля 2014, 19:47:21
Як правильно настроїти
Цитировать
/usr/local/etc/dhcpd.conf
на роздачу ip адресів для різного vlana свій ip
наприклад
vlan 100 - 10.10.100.0/24
vlan 101 - 10.10.101.0/24
і так далі?


Название: Re: DHCP
Отправлено: ivanmfan от 16 Февраля 2014, 09:24:22
Як правильно настроїти
Цитировать
/usr/local/etc/dhcpd.conf
на роздачу ip адресів для різного vlana свій ip
наприклад
vlan 100 - 10.10.100.0/24
vlan 101 - 10.10.101.0/24
і так далі?

htt_p://app.nodeny-plus.com.ua/docs/work/modules.html
Вот дока про модули, там есть и DHCP делай полную копию
subnet 10.100.0.0 netmask 255.255.0.0 {
}
Только подставляй свои подмаски...


Название: Re: DHCP
Отправлено: ivanmfan от 04 Марта 2014, 11:47:06
тогда начну сначала, может я и фигней страдаю)))
ага, вот походу упущенный момент, значить в 50 нодени я так понимаю создается еще один конфиг для noarp, вроде ж он и контролирует что б ип юзера совпадало с его маком, а ип прибит непосредственно к юзеру, собственно и авторизация по ип получается что ли. ну уж если какой умник поменяет себе мак, жертва сделает звонок, но такого вроде даже не было. и сейчас такой вариант вполне себе работает и приемлим(нету проблем с настройкой авторизатора/пппое, чем снимается часть головной боли от криворукости юзеров).собственно для перехода нема желания оббегать всех обонов для установки авторизатора...

хм, получается помимо генерации конфига дхцп, надо еще поклянчить что то типа noarp.pl в Н+(если я правильно понял)...
как я написал выше - авторизация начинается по сигналу dhcp сервера. Кстати, когда комп выключается - он освобождает ип, и дхцп сервер заканчивает авторизацию. Жаль, что компы чето не спешат освобождать, плюют на стандарты? Кстати, если уменьшить время аренды адреса, то безопаснть можно улучшить, но тогда некоторые устройства не будут работать (так говорил Vitalvas, я не проверял)
так вот, эти некоторые устройства (в т.ч. некоторые сборки вин ХР)работают минут 10-15 и отваливаются до перезагрузки, собсно предположил что столкнулся с аналогичной проблемой (авторизатор изначально не использовался, ну и как бы теперь тоже не планируется(хватило прошлого опыта с пппое настройками - постоянные звонки по настройке, вплоть до выездов на дом)). Также происходят редкие отвалы с нормальными абонами (смею предположить что из-за строго соответствия времени в дхцп модуле и самом в дхцп сервере при возникновении задержек по сети). вот собственно из этих соображений все началось, возможно я обшибаюсь, дело в другом, тогда в чем может быть?

Получилось разобраться в чем проблема? У меня стала проявляются подобная проблема зачастую у абонов на прямую(без роутера) с Виндой.


Название: Re: DHCP
Отправлено: Dolphin от 09 Марта 2014, 19:20:09
тоже интересует.


Название: Re: DHCP
Отправлено: Pa4ka от 11 Марта 2014, 11:24:23
Добрый день! Есть такой конфиг DHCP
Цитировать
log-facility local7;
option domain-name-servers 1.1.1.1, 8.8.8.8;

shared-network BNET {
 interface bce1;
 option routers 172.21.0.1;
 default-lease-time 2400;
 max-lease-time 1800;

 subnet 172.21.64.0 netmask 255.255.192.0 {
    range 172.21.100.2 172.21.114.254;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
 }

 subnet 172.21.0.0 netmask 255.255.192.0 {
    deny unknown-clients;
    range 172.21.0.2 172.21.63.254;
           {% for user in users %}
        {% eval i = 0 %}
        {% for ip in user.ips %}
            {% if ip.type eq 'static' && user.mac. %}
            host host{{ip.ipa}} { hardware ethernet {{user.mac.|pretty_mac}}; fixed-address {{ip.ipa}}; }
            {% eval i = i + 1 %}
          {% endif %}
        {% endfor %}
    {% endfor %}
}
}
Тоесть делаеться выбор из базы мак+IP.
Но сеть нужно поделить на VLAN-ы.
Привести к похожему виду:
Цитировать
log-facility local7;
option domain-name-servers 1.1.1.1, 8.8.8.8;

shared-network BNET {
 interface bce1;
 option routers 172.20.64.1;
 default-lease-time 2400;
 max-lease-time 1800;

 subnet 172.20.64.0 netmask 255.255.192.0 {
    range 172.20.64.2 172.20.64.254;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }

}
}
shared-network 0-124 {
 interface vlan124;
 option routers 172.20.124.1;
 default-lease-time 2400;
 max-lease-time 1800;
 subnet 172.20.124.0 netmask 255.255.255.0 {
    deny unknown-clients;
    range 172.20.124.4 172.20.124.254;
         {% for user in users %}
        {% eval i = 0 %}
        {% for ip in user.ips %}
            {% if ip.type eq 'static' && user.mac. %}
           host {{ip.ipa}} { hardware ethernet {{user.mac.|pretty_mac}}; fixed-address {{ip.ipa}}; }
       {% eval i = i + 1 %}
          {% endif %}
        {% endfor %}
    {% endfor %}

}
}
Вопрос в следующем, как отфильтровать выбор IP, для подсети 172.20.124.0/24, для этой части shared-network 0-124
что бы в каждой shared-network был свой диапазон и свой роут


Название: Re: DHCP
Отправлено: Pa4ka от 11 Марта 2014, 18:47:03
Если кто может помочь, мы оплатим помощь! Спасибо!


Название: Re: DHCP
Отправлено: Efendy от 12 Марта 2014, 09:18:43
тебя интересует конструкция if чтобы сделать 2 блока? типа

Код:
{% if ip.ip >= inet.aton('10.0.0.0') && ip.ip <= inet.aton('10.255.255.255') %}
           ...
        {% endif %}


Название: Re: DHCP
Отправлено: Pa4ka от 12 Марта 2014, 09:40:28
тебя интересует конструкция if чтобы сделать 2 блока? типа

Код:
{% if ip.ip >= inet.aton('10.0.0.0') && ip.ip <= inet.aton('10.255.255.255') %}
           ...
        {% endif %}

если я правильно понял Вас то да, по блокам
тоесть в конструкции
Цитировать
shared-network 0-124 {
 interface vlan124;
 option routers 172.20.124.1;
 default-lease-time 2400;
 max-lease-time 1800;
 subnet 172.20.124.0 netmask 255.255.255.0 {
    deny unknown-clients;
    range 172.20.124.4 172.20.124.254;
         {% for user in users %}
        {% eval i = 0 %}
        {% for ip in user.ips %}
            {% if ip.type eq 'static' && user.mac. %}
           host {{ip.ipa}} { hardware ethernet {{user.mac.|pretty_mac}}; fixed-address {{ip.ipa}}; }
       {% eval i = i + 1 %}
          {% endif %}
        {% endfor %}
    {% endfor %}

}
}
shared-network 0-125 {
 interface vlan125;
 option routers 172.20.125.1;
 default-lease-time 2400;
 max-lease-time 1800;
 subnet 172.20.125.0 netmask 255.255.255.0 {
    deny unknown-clients;
    range 172.20.125.4 172.20.125.254;
         {% for user in users %}
        {% eval i = 0 %}
        {% for ip in user.ips %}
            {% if ip.type eq 'static' && user.mac. %}
           host {{ip.ipa}} { hardware ethernet {{user.mac.|pretty_mac}}; fixed-address {{ip.ipa}}; }
       {% eval i = i + 1 %}
          {% endif %}
        {% endfor %}
    {% endfor %}

}
}
для shared-network 0-124 выбирался из базы диапазон 172.20.124.0/24
а для shared-network 0-125 выбирался диапазон 172.20.125.0/24


Название: Re: DHCP
Отправлено: Efendy от 12 Марта 2014, 16:56:43
Код:
{% for user in users %}
      {% for ip in user.ips %}
            {% eval i = 0 %}
            {% if ip.type eq 'static' && user.mac.[ i] && ip.ip >= inet.aton('172.20.124.0') && ip.ip <= inet.aton('172.20.124.255') %}
                 host {{ip.ipa}} { hardware ethernet {{user.mac.[ i]|pretty_mac}}; fixed-address {{ip.ipa}}; }
            {% eval i = i + 1 %}
           {% endif %}
       {% endfor %}
 {% endfor %}
И похоже, что ты обрезал выборку мака, в примере dhcp.tmpl не зря написано user.mac.[ i] т.к. у клиента может быть не один мак, а целый массив

PS. Врубился, [ i] - это тег в форуме - убери пробел перед i


Название: Re: DHCP
Отправлено: Pa4ka от 12 Марта 2014, 17:06:11
Код:
{% for user in users %}
      {% for ip in user.ips %}
            {% eval i = 0 %}
            {% if ip.type eq 'static' && user.mac.[ i] && ip.ip >= inet.aton('172.20.124.0') && ip.ip <= inet.aton('172.20.124.255') %}
                 host {{ip.ipa}} { hardware ethernet {{user.mac.[ i]|pretty_mac}}; fixed-address {{ip.ipa}}; }
            {% eval i = i + 1 %}
           {% endif %}
       {% endfor %}
 {% endfor %}
И похоже, что ты обрезал выборку мака, в примере dhcp.tmpl не зря написано user.mac.[ i] т.к. у клиента может быть не один мак, а целый массив

PS. Врубился, [ i] - это тег в форуме - убери пробел перед i
премного благодарен)
и если уж рассмотрели мой вопрос то как сделать что б в месте где:
host 172.20.124.3 { hardware ethernet c8:60:00:94:e3:4a; fixed-address 172.20.124.3; }

вместо "host 172.20.124.3" был "host "ID учётки""


Название: Re: DHCP
Отправлено: Efendy от 12 Марта 2014, 17:06:43
{{ user.id }}


Название: Re: DHCP
Отправлено: Pa4ka от 12 Марта 2014, 18:04:51
Код:
{% for user in users %}
      {% for ip in user.ips %}
            {% eval i = 0 %}
            {% if ip.type eq 'static' && user.mac.[ i] && ip.ip >= inet.aton('172.20.124.0') && ip.ip <= inet.aton('172.20.124.255') %}
                 host {{ip.ipa}} { hardware ethernet {{user.mac.[ i]|pretty_mac}}; fixed-address {{ip.ipa}}; }
            {% eval i = i + 1 %}
           {% endif %}
       {% endfor %}
 {% endfor %}
И похоже, что ты обрезал выборку мака, в примере dhcp.tmpl не зря написано user.mac.[ i] т.к. у клиента может быть не один мак, а целый массив

PS. Врубился, [ i] - это тег в форуме - убери пробел перед i
скажу что эту штуку делали Вы, но это уже не по теме)

Я еще раз очень благодарю, и говорю спасибо за оперативную и внятную помощь!
Желаю успехов в работе!)


Название: Re: DHCP
Отправлено: cojiict от 03 Апреля 2014, 13:03:17
Налаштував DHCP reley. Включив на комутаторі Option82. Абонент попадає на заглушку. Авторизовується і білінг заповнює в прив’язку: (мак абонента, свіча та номер порта). Якщо в абонента міняється мак - він знову попадає на заглушку. Як зробити так - щоб не враховувався мак абонента, а тільки свіч+порт?


Название: Re: DHCP
Отправлено: Sis от 07 Апреля 2014, 02:52:25
Налаштував DHCP reley. Включив на комутаторі Option82. Абонент попадає на заглушку. Авторизовується і білінг заповнює в прив’язку: (мак абонента, свіча та номер порта). Якщо в абонента міняється мак - він знову попадає на заглушку. Як зробити так - щоб не враховувався мак абонента, а тільки свіч+порт?
Поставь галочку один клиент на порту.


Название: Re: DHCP
Отправлено: Sis от 07 Апреля 2014, 02:57:34
У меня такая ситуация такая ввожу логин и пароль регистрация успешно проходит, мак порт видны, но вот беда постоянно висит заглушка. Доступ в Интернет открыт. Введите в адресной строке желаемый адрес сайта. Какой хочешь адрес набираю- то же самое. Что перепроверить?


Название: Re: DHCP
Отправлено: cojiict от 07 Апреля 2014, 08:00:04
Налаштував DHCP reley. Включив на комутаторі Option82. Абонент попадає на заглушку. Авторизовується і білінг заповнює в прив’язку: (мак абонента, свіча та номер порта). Якщо в абонента міняється мак - він знову попадає на заглушку. Як зробити так - щоб не враховувався мак абонента, а тільки свіч+порт?
Поставь галочку один клиент на порту.
Немає такої галочки :) Жду поки Стас обновить модуль


Название: Re: DHCP
Отправлено: Efendy от 07 Апреля 2014, 14:01:53
Налаштував DHCP reley. Включив на комутаторі Option82. Абонент попадає на заглушку. Авторизовується і білінг заповнює в прив’язку: (мак абонента, свіча та номер порта). Якщо в абонента міняється мак - він знову попадає на заглушку. Як зробити так - щоб не враховувався мак абонента, а тільки свіч+порт?
Поставь галочку один клиент на порту.
Немає такої галочки :) Жду поки Стас обновить модуль
Обновил


Название: Re: DHCP
Отправлено: cojiict от 11 Апреля 2014, 11:17:02
1 клієнта на порту - не працює чи я щось роблю не так?

- створив абонента
- Підключаюсь через "мильницю"
Код:
/var/log/dhcpd.log
Apr 11 11:11:39 DHCP dhcpd: DHCPDISCOVER from 04:7d:7b:c3:22:06 via em1
Apr 11 11:11:40 DHCP dhcpd: DHCPOFFER on 10.100.0.2 to 04:7d:7b:c3:22:06 (microsof-9e6093) via em1
Apr 11 11:11:40 DHCP dhcpd: execute_statement argv[0] = /usr/bin/perl
Apr 11 11:11:40 DHCP dhcpd: execute_statement argv[1] = /usr/local/nodeny/modules/dhcp/events.pl
Apr 11 11:11:40 DHCP dhcpd: execute_statement argv[2] = commit
Apr 11 11:11:40 DHCP dhcpd: execute_statement argv[3] = 10.100.0.2
Apr 11 11:11:40 DHCP dhcpd: execute_statement argv[4] = 4:7d:7b:c3:22:6
Apr 11 11:11:40 DHCP dhcpd: execute_statement argv[5] =
Apr 11 11:11:40 DHCP dhcpd: execute_statement argv[6] =
Apr 11 11:11:41 DHCP dhcpd: DHCPREQUEST for 10.100.0.2 (10.100.0.1) from 04:7d:7b:c3:22:06 (microsof-9e6093) via em1
Apr 11 11:11:41 DHCP dhcpd: DHCPACK on 10.100.0.2 to 04:7d:7b:c3:22:06 (microsof-9e6093) via em1

Код:
/usr/local/nodeny/logs/dhcp.events.log
11.04.2014 11:11:41 [commit] ip=10.100.0.2, mac=4:7d:7b:c3:22:6, mac_ok=047d7bc32206 | Необходима регистрация мака
11.04.2014 11:26:40 [commit] ip=10.100.0.2, mac=4:7d:7b:c3:22:6, mac_ok=047d7bc32206 | Ok
підключаємось через cisco sf300-24
Код:
#Конфіг свіча
show startup-config
ip dhcp snooping
ip dhcp snooping vlan 1
ip dhcp relay address 10.100.0.1
ip dhcp relay enable
ip dhcp information option
....
interface fastethernet24
 ip dhcp snooping trust

Код:
/usr/local/nodeny/logs/dhcp.events.log
11.04.2014 11:48:46 ERROR: [commit] ip=10.100.0.7, mac=12:32:1e:43:de:12, mac_ok=12321e43de12, port=00065ca48a6d9703[8] | select uid from mac_uid error

Код:
mysql> show create table mac_uid;
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table   | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| mac_uid | CREATE TABLE `mac_uid` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `mac` varchar(12) DEFAULT NULL,
  `ip` int(10) unsigned NOT NULL,
  `uid` bigint(20) unsigned NOT NULL,
  `time` int(10) unsigned NOT NULL,
  `device_mac` varchar(12) NOT NULL,
  `device_port` smallint(6) NOT NULL,
  `oneconnect` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `mac` (`mac`),
  KEY `uid` (`uid`),
  KEY `time` (`time`),
  KEY `ip` (`ip`)
) ENGINE=InnoDB AUTO_INCREMENT=89 DEFAULT CHARSET=utf8 |
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Код:
mysql> SELECT *, INET_NTOA(ip) FROM mac_uid;
+----+--------------+-----------+-----+------------+---------------+-------------+------------+---------------+
| id | mac                | ip            | uid   | time          | device_mac     | device_port  | oneconnect | INET_NTOA(ip) |
+----+--------------+-----------+-----+------------+---------------+-------------+------------+---------------+
| 86 | 047d7bc32206 |         0     |  10  | 1397204800 |                     |                0 |               0 |    0.0.0.0       |
| 88 | 12321e43de12 | 174325767|   0   | 1397206126 | 00065ca48a6d |                8 |               0 |   10.100.0.7    |
+----+--------------+-----------+-----+------------+--------------+--------------+-------------+---------------+
2 rows in set (0.00 sec)


Проходим через заглушку -  все працює (правда відвалюється клієнт через деякий час, але над цим пізніше)
Код:
mysql> SELECT *, INET_NTOA(ip) FROM mac_uid;
+----+--------------+-----------+-----+------------+--------------+-------------+------------+---------------+
| id | mac          | ip        | uid | time       | device_mac   | device_port | oneconnect | INET_NTOA(ip) |
+----+--------------+-----------+-----+------------+--------------+-------------+------------+---------------+
| 86 | 047d7bc32206 |         0 |   0 | 1397204800 |              |           0 |          0 | 0.0.0.0       |
| 88 | NULL         | 174325767 |   0 | 1397206126 | 00065ca48a6d |           8 |          0 | 10.100.0.7    |
| 89 | 12321e43de12 | 174325767 |  10 | 1397207026 | 00065ca48a6d |           8 |          0 | 10.100.0.7    |
+----+--------------+-----------+-----+------------+--------------+-------------+------------+---------------+
3 rows in set (0.00 sec)

Ставим галочку 1 клієнт на порту, зберігаємо
Код:
mysql> SELECT *, INET_NTOA(ip) FROM mac_uid;
+----+--------------+-----------+-----+------------+--------------+-------------+------------+---------------+
| id | mac          | ip        | uid | time       | device_mac   | device_port | oneconnect | INET_NTOA(ip) |
+----+--------------+-----------+-----+------------+--------------+-------------+------------+---------------+
| 86 | 047d7bc32206 |         0 |   0 | 1397204800 |              |           0 |          0 | 0.0.0.0       |
| 89 | 12321e43de12 | 174325767 |  10 | 1397207026 | 00065ca48a6d |           8 |          2 | 10.100.0.7    |
+----+--------------+-----------+-----+------------+--------------+-------------+------------+---------------+
2 rows in set (0.00 sec)
Міняємо мак і все по новому (заглушка, помилка, доступ в інету немає поки не пройти авторизацію)


Название: Re: DHCP
Отправлено: ser970 от 15 Апреля 2014, 15:04:44
это  `device_mac` varchar(12) NOT NULL,

и 00065ca48a6d9703 это не совсем мак 

у вас получается device_mac = 00065ca48a6d а должен быть 5ca48a6d9703

строка в конфиге
set SwitchMac = binary-to-ascii(16, 8, ":", suffix(option agent.remote-id,6));


Название: Re: DHCP
Отправлено: cojiict от 25 Апреля 2014, 15:27:42
Для окремої групи абонентів зарезервовані статичі ІР. Чи можна щоб модуль видавати його абоненту по dhcp протоколу і як?


Название: Re: DHCP
Отправлено: elite от 25 Апреля 2014, 16:39:04
неможно :(


Название: Re: DHCP
Отправлено: Efendy от 25 Апреля 2014, 17:12:07
Все можно. Можно даже более крутые схемы делать, например, опция82 + статические ипы - сделал такое одной сети

Нужно заюзать модуль make_config, который будет создавать конфиг для dhcpd.


Название: Re: DHCP
Отправлено: SerjioMati от 28 Апреля 2014, 14:46:44
у клиентов конфлик как ето исправить? модуль dhcp


Название: Re: DHCP
Отправлено: md5 от 28 Апреля 2014, 19:07:40
 :-\ я в шоке... конфликт ip адресов что ли ?


Название: Re: DHCP
Отправлено: Efendy от 29 Апреля 2014, 09:31:18
dhcp не выдает разным клиентам одинаковый ip. Это сетевая задача - смотри запущен ли ложный dhcp, может у кого статикой прописан ип и т.д.


Название: Re: DHCP
Отправлено: SerjioMati от 29 Апреля 2014, 19:38:09
автоматично. це сталося після того як виключився сервер.почало в пару кліентів конфлікти


Название: Re: DHCP
Отправлено: Efendy от 29 Апреля 2014, 20:17:10
ну может накрылся файл самого дхцп где прописаны ипы и маки. lease time закончится и по идее все станет ок


Название: Re: DHCP
Отправлено: SerjioMati от 29 Апреля 2014, 21:39:42
как почистить ето?


Название: Re: DHCP
Отправлено: md5 от 30 Апреля 2014, 10:02:08
скорее всего свичи тупые, и кто то роутер подключил не в тот порт. пошла раздача айпишников )


Название: Re: DHCP
Отправлено: k291 от 07 Июня 2014, 03:26:52
На ноуте получающего IP по DHCP, от NoDeny+, через примерно каждые 40мин, пропадает доступ в Интернет ~ на 2 сек.
Ктото сталкивался с данной проблемой?


Название: Re: DHCP
Отправлено: k291 от 07 Июня 2014, 03:38:07
На ноуте получающего IP по DHCP, от NoDeny+, через примерно каждые 40мин, пропадает доступ в Интернет ~ на 2 сек.
Ктото сталкивался с данной проблемой?
Вот сейчас опять. В cmd вывело:
Цитировать
PING: сбой передачи. General failure.
Из за чего это может быть?


Название: Re: DHCP
Отправлено: k291 от 07 Июня 2014, 03:42:10
Еще вопрос:
Создал услугу "Реальный IP", как научить DHCP, выдавать реальный IP при активации услуги, или выдавать серый IP, по завершению услуг?


Название: Re: DHCP
Отправлено: Efendy от 07 Июня 2014, 18:07:52
Еще вопрос:
Создал услугу "Реальный IP", как научить DHCP, выдавать реальный IP при активации услуги, или выдавать серый IP, по завершению услуг?
нужно использовать модуль ядра make_config, который будет формировать конфиг для dhcp в зависимости от подключенной услуги. Кстати, пока услуги им не обрабатываются, но я смогу сделать, если найдется человек, который таки реализует что ты хочешь (не хочется тратить силы бесполезно) в шаблоне для dhcpd


Название: Re: DHCP
Отправлено: k291 от 07 Июня 2014, 22:28:56
Еще вопрос:
Создал услугу "Реальный IP", как научить DHCP, выдавать реальный IP при активации услуги, или выдавать серый IP, по завершению услуг?
нужно использовать модуль ядра make_config, который будет формировать конфиг для dhcp в зависимости от подключенной услуги. Кстати, пока услуги им не обрабатываются, но я смогу сделать, если найдется человек, который таки реализует что ты хочешь (не хочется тратить силы бесполезно) в шаблоне для dhcpd
Действительно, нет необходимости, что дописывать. Дабы не тратить силы и время, есть другой вариант, а именно:
1) Создаем услугу "Реальный IP" с продлением, которая будет снимать N денег.
2) Назначаем клиенту статический реальный IP. Но статика, это не динамика((
Вот тут вопрос, где указать в  NoDeny+, какой IP выдавать клиенту по DHCP, реальный или серый? Я пробовал создавать гуппу HomeLine-RealIP, в группе прописал сети реальных IP. Из новой группы, создавал клиента, но как получал серые IP так и получаю((( Может конфиг DHCP надо править:
Цитировать
log-facility local7;
option domain-name-servers 1.1.1.1, 8.8.8.8;
#option domain-name "xxx.net";

#silver ip
shared-network 123 {
interface igb0;
subnet 10.0.0.0 netmask 255.255.255.0 {
        range 10.0.0.2 10.0.0.254;
        option routers 10.0.0.1;
##    option broadcast-address 10.0.0.255;
        default-lease-time 2400;
        max-lease-time 1800;
   on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
        set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
        set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
        ClientIP, ClientMac, SwitchMac, SwitchPort);
   }
   on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
   }
   on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
   }
}

#real IP xxx.xx.xx.240/28
subnet xxx.xx.xx.240 netmask 255.255.255.240 {
        range xxx.xx.xx.243 xxx.xx.xx.254;
        option routers 217.66.99.241;
###    option broadcast-address 10.0.0.255;
        default-lease-time 2400;
        max-lease-time 1800;
   on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
        set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
        set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
        ClientIP, ClientMac, SwitchMac, SwitchPort);
   }
   on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
   }
   on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
   }
}
}



Название: Re: DHCP
Отправлено: ivanmfan от 08 Июня 2014, 09:31:15
Привет, вот как я мудрил
шаблон для make_config

У абона выбирается для него статический адрес. И генератор добавляет его в конфиг.


Код:
allow unknown-clients;
option domain-name-servers 1.1.1.1, 8.8.8.8;

default-lease-time 1800;
max-lease-time 1400;

authoritative;

ddns-update-style interim;

log-facility local7;



shared-network real_ip {
    subnet 192.168.100.0 netmask 255.255.255.128 {
        interface vlan100;
        option routers 192.168.100.1;
        option subnet-mask 255.255.255.127;
        range 192.168.100.2 192.168.100.126;
        allow unknown-clients;

        on commit {
               set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
                      set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
                      set SwitchMac = "";
                      set SwitchPort ="";
                      if exists agent.circuit-id
                      {
                          set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
                          set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
                      }
                      execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                              ClientIP, ClientMac, SwitchMac, SwitchPort);
            }
            on expiry {
              set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
              execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
            }
            on release {
              set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
              execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
            }
    }
    subnet xxx.yyy.zzz.0 netmask 255.255.255.128 {
        option subnet-mask 255.255.255.128;
        option broadcast-address xxx.yyy.zzz.127;
        option routers xxx.yyy.zzz.125;
        deny unknown-clients;
        on commit {
               set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
                      set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
                      set SwitchMac = "";
                      set SwitchPort ="";
                      if exists agent.circuit-id
                      {
                          set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
                          set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
                      }
                      execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                              ClientIP, ClientMac, SwitchMac, SwitchPort);
            }
            on expiry {
              set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
              execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
            }
            on release {
              set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
              execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
            }
    }
}
{% for user in users %}
    {% eval i = 0 %}
    {% for ip in user.ips %}
        {% if ip.type eq 'static' && user.mac.[i] %}
        host host{{ip.ipa}} {
                hardware ethernet {{user.mac.[i]|pretty_mac}};
                fixed-address {{ip.ipa}};
        }
        {% eval i = i + 1 %}
        {% endif %}
    {% endfor %}
{% endfor %}


Название: Re: DHCP
Отправлено: k291 от 10 Июня 2014, 13:14:40
Спасибо! Работает динамическая выдача серых IP, и статическая выдача real IP. При этом, real IP в приоритете.
К выше сказанному, надо сделать следующее:
1) Конфиг, что выше, прописать в /usr/local/nodeny/kernel/make_config/dhcp.tmpl
2)  В /usr/local/nodeny/kernel/make_config.cfg, ставим автозапуск run => 1; Внимание: чуть ниже, прописан путь к конфигу file       => '/tmp/dhcp.cfg .
3) Для того, чтобы DHCP использовал конфиг от make_config, в /etc/rc.conf, надо прописать путь к файлу:
Цитировать
dhcpd_enable="NO" # start idet v /etc/rc.local daby ne bylo plohih logov
dhcpd_ifaces="igb0" # 10.0.0.0
dhcpd_withuser="root"
dhcpd_conf="/tmp/dhcp.cfg"


Название: Re: DHCP
Отправлено: lidusya49 от 25 Июня 2014, 11:52:35
Выявлена бага: При перезагрузке сервера, на экран выводит лог:
..... my dhcpd: uid lease 10.0.0.22 for client 00:26:.....:dd is duplicate on real_ip
И так по кругу все МАСи, которым раньше были выданы серые IP, а сейчас белые. Самом собой, нодени, апач, мускл и т.д. не стартует, пока не нажмешь Ctrl+C
То есть получается, что DHCP стартует раньше чем апач, и мускул?
 Как решить данную проблему? Заранее спасибо!


Название: Re: DHCP
Отправлено: Efendy от 25 Июня 2014, 12:36:45
я отключал автозапуск и запускал в /etc/rc.local  и в конфе ставил символ & (отправить в фон)


Название: Re: DHCP
Отправлено: Nafanya от 25 Июня 2014, 17:47:12
я отключал автозапуск и запускал в /etc/rc.local  и в конфе ставил символ & (отправить в фон)

Проблема остается, как ни крутил


Название: Re: DHCP
Отправлено: Efendy от 25 Июня 2014, 17:48:15
если что-то запускается в фон, то проблема не может остаться


Название: Re: DHCP
Отправлено: Nafanya от 25 Июня 2014, 17:53:09
я отключал автозапуск и запускал в /etc/rc.local  и в конфе ставил символ & (отправить в фон)

Цитировать
/usr/bin/perl /usr/local/nodeny/nokernel.pl -d &
/usr/bin/perl /usr/local/nodeny/noserver.pl -d &
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=pingserver -d &
/usr/local/etc/rc.d/isc-dhcpd forcestart
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=cap -d &
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=dhcp -d &

rc.local у меня такой, Такое впечатление, что модулю нужен мускул а он еще не запущен. Когда сделаешь Ctrl+C и по новой запустишь то работает. До следующей перезагрузке


Название: Re: DHCP
Отправлено: ser970 от 25 Июня 2014, 18:20:03
вариантов море

/usr/local/etc/rc.d/isc-dhcpd forcestart &
или
mv /usr/local/etc/rc.d/isc-dhcpd  /usr/local/etc/rc.d/w_isc-dhcpd
и убрать из /etc/rc.local 
/usr/local/etc/rc.d/isc-dhcpd
или использовать крон 
или скрипт отложенного запуска
и так далее...



Название: Re: DHCP
Отправлено: poxy. от 25 Июня 2014, 18:51:02
в /usr/local/etc/rc.d/isc-dhcpd :

 REQUIRE: DAEMON mysql

в /etc/rc.conf :

dhcpd_enable="YES"
dhcpd_withuser="root"



Название: Re: DHCP
Отправлено: Nafanya от 25 Июня 2014, 19:43:04
Спасибо за направление работы....


Название: Re: DHCP
Отправлено: Efendy от 17 Июля 2014, 13:12:41
Уже не у первого админа возникает необходимость слегка  поменять dhcpd конфиг - заменить

Код:
set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);

на

Код:
set SwitchMac = binary-to-ascii(16, 8, ":", suffix(option agent.remote-id, 6)) 

если в логе появляются записи типа:

Цитировать
17.07.2014 13:28:31 ERROR: [commit] ip=10.0.0.12, mac=10:11:12:13:14:15, mac_ok=101112131415, port=0006102030405060[8] | select uid from mac_uid error

т.е. если в port мак сталдлинной не 6 октетов, а 8


Название: Re: DHCP
Отправлено: vir от 18 Июля 2014, 09:44:24
            Доброго времени суток.
Подскажите, пожалуйста, где нужно копать :

  Установил модуль DHCP, IP-адреса клиентам выдает, работает нормально. Включил на коммутаторе Option 82, в биллинге показывает мак клиента, мак коммутатора, порт, к которому подключен клиент.
  Но не работает привязка абонента к порту. В биллинге в профиле абонента убираю его мак, ставлю галку на привязке к порту. Переключаю компьютер в другой порт и клиента перенаправляет на заглушку, он вводит логин, пароль и продолжает пользоваться интернетом уже на другом порту. Если же клиенту подставить другой мак, ему выдается другой айпи, перенаправляет на заглушку, он вводит логин, пароль и у него снова открыт доступ в интернет (с другого порта). В биллинге, в профиле абонента, в итоге, закреплено 2 айпи.
  Что нужно : чтобы после регистрации клиента, он привязывался только к порту коммутатора (без привязки по мак-адресу) и айпи ему выдавался динамически.


Название: Re: DHCP
Отправлено: Efendy от 14 Августа 2014, 07:47:13
Добавил такие фичи:

1) Если создать допполе:
имя в БД: _fixedconnect
тип: Да/Нет
имя: фиксированное подключение (либо другое название, какое по смыслу подойдет)

и у определенного клиента(тов) установить в значение "да" - после того как клиент авторизует свое подключение (запомнится свич и порт, к которым он подключился) и если он сменит точку подключения (перенесет свой комп к соседу или попытается авторизоваться под своей учеткой у соседа) - это будет заблокировано. Клиенту будет написано соответствующее сообщение.

2) Если создать допполе:
имя в БД: _oneconnect
тип: Да/Нет
имя: один на порту

и у определенного клиента(тов) установить в значение "да", то после того как клиент авторизует свое подключение, у этого подключения будет поставлена галка "один клиент на порту". Это означает, что при смене мак-адреса (т.е при подключении другого компьютера, ноута, роутера и т.д.) у клиента пароль спрашиваться не будет. Естественно, это имет смысл только для ситуации если к текущему порту подключен только один клиент, т.е в биллинге запоминается "на этом свиче и порту клиент Иванов, неважно какой мак".

Небольшое дополнение: если выбрать учетку клиента и под списком ip кликнуть по маку, то появится возможность вручную поставить эту галку. Т.е. "один клиент на порту" устанавливается _как_бы_ в двух местах. Отличие в том, что в описанном способе можно поставить эту галку ДО того как клиент авторизуется либо вручную будут внесены данные подключения (свич и порт). Т.е. После создания учетки поставили галку и забыли - как только клиент подключится - галка перенесется в связку свич-порт-клиент.

3) пофиксил некоторую ситуацию - так что в любом случае рекомендую обновить модуль


Название: Re: DHCP
Отправлено: poxy. от 15 Августа 2014, 09:31:25
Добавил такие фичи:

1) Если создать допполе:
имя в БД: _fixedconnect
тип: Да/Нет
имя: фиксированное подключение (либо другое название, какое по смыслу подойдет)

и у определенного клиента(тов) установить в значение "да" - после того как клиент авторизует свое подключение (запомнится свич и порт, к которым он подключился) и если он сменит точку подключения (перенесет свой комп к соседу или попытается авторизоваться под своей учеткой у соседа) - это будет заблокировано. Клиенту будет написано соответствующее сообщение.

2) Если создать допполе:
имя в БД: _oneconnect
тип: Да/Нет
имя: один на порту

и у определенного клиента(тов) установить в значение "да", то после того как клиент авторизует свое подключение, у этого подключения будет поставлена галка "один клиент на порту". Это означает, что при смене мак-адреса (т.е при подключении другого компьютера, ноута, роутера и т.д.) у клиента пароль спрашиваться не будет. Естественно, это имет смысл только для ситуации если к текущему порту подключен только один клиент, т.е в биллинге запоминается "на этом свиче и порту клиент Иванов, неважно какой мак".

Небольшое дополнение: если выбрать учетку клиента и под списком ip кликнуть по маку, то появится возможность вручную поставить эту галку. Т.е. "один клиент на порту" устанавливается _как_бы_ в двух местах. Отличие в том, что в описанном способе можно поставить эту галку ДО того как клиент авторизуется либо вручную будут внесены данные подключения (свич и порт). Т.е. После создания учетки поставили галку и забыли - как только клиент подключится - галка перенесется в связку свич-порт-клиент.

3) пофиксил некоторую ситуацию - так что в любом случае рекомендую обновить модуль
fixedconnect на неуправляемом работает?


Название: Re: DHCP
Отправлено: Efendy от 15 Августа 2014, 10:33:31
по идее не будет. Но вроде можно сделать. Только тестировать нужно


Название: Re: DHCP
Отправлено: Efendy от 15 Августа 2014, 11:59:32
по идее не будет. Но вроде можно сделать. Только тестировать нужно
что я туплю.. не будет работать с неуправляемым оборудованием - каким макаром мы узнаем, что клиент изменил точку подключения? Чтоб вы понимали - для модуля все неуправляемое оборудование представляется как свич 0 и порт 0. Переключив в другой порт неуправляемого оборудования - у нас ничего не меняется, для биллинга клиент остался на той же точке подключения


Название: Re: DHCP
Отправлено: SerjioMati от 15 Августа 2014, 12:56:50
підскажіть а як правильно добавляти свічі dgs-1100-06/me i dgs-1210-20 в nodeny+?


Название: Re: DHCP
Отправлено: vir от 05 Сентября 2014, 00:47:14
А можно ли сделать так, чтобы доп. поле "Один на порту" сразу находилось в режиме "Да" при регистрации клиента?


Название: Re: DHCP
Отправлено: Efendy от 05 Сентября 2014, 08:19:38
А можно ли сделать так, чтобы доп. поле "Один на порту" сразу находилось в режиме "Да" при регистрации клиента?
написал же несколькими сообщениями выше:
Цитировать
2) Если создать допполе:
имя в БД: _oneconnect
тип: Да/Нет
имя: один на порту

и у определенного клиента(тов) установить в значение "да", то после того как клиент авторизует свое подключение, у этого подключения будет поставлена галка "один клиент на порту". Это означает, что при смене мак-адреса (т.е при подключении другого компьютера, ноута, роутера и т.д.) у клиента пароль спрашиваться не будет. Естественно, это имет смысл только для ситуации если к текущему порту подключен только один клиент, т.е в биллинге запоминается "на этом свиче и порту клиент Иванов, неважно какой мак".

Небольшое дополнение: если выбрать учетку клиента и под списком ip кликнуть по маку, то появится возможность вручную поставить эту галку. Т.е. "один клиент на порту" устанавливается _как_бы_ в двух местах. Отличие в том, что в описанном способе можно поставить эту галку ДО того как клиент авторизуется либо вручную будут внесены данные подключения (свич и порт). Т.е. После создания учетки поставили галку и забыли - как только клиент подключится - галка перенесется в связку свич-порт-клиент.


Название: Re: DHCP
Отправлено: vir от 05 Сентября 2014, 11:37:35
А можно ли сделать так, чтобы доп. поле "Один на порту" сразу находилось в режиме "Да" при регистрации клиента?
написал же несколькими сообщениями выше:
Цитировать
2) Если создать допполе:
имя в БД: _oneconnect
тип: Да/Нет
имя: один на порту

и у определенного клиента(тов) установить в значение "да", то после того как клиент авторизует свое подключение, у этого подключения будет поставлена галка "один клиент на порту". Это означает, что при смене мак-адреса (т.е при подключении другого компьютера, ноута, роутера и т.д.) у клиента пароль спрашиваться не будет. Естественно, это имет смысл только для ситуации если к текущему порту подключен только один клиент, т.е в биллинге запоминается "на этом свиче и порту клиент Иванов, неважно какой мак".

Небольшое дополнение: если выбрать учетку клиента и под списком ip кликнуть по маку, то появится возможность вручную поставить эту галку. Т.е. "один клиент на порту" устанавливается _как_бы_ в двух местах. Отличие в том, что в описанном способе можно поставить эту галку ДО того как клиент авторизуется либо вручную будут внесены данные подключения (свич и порт). Т.е. После создания учетки поставили галку и забыли - как только клиент подключится - галка перенесется в связку свич-порт-клиент.
При регистрации нового клиента не выставлять руками значение "Да".
Например, есть районы, где установлено оборудование с поддержкой DHCP snooping и там это значение будет всегда "Да".
Возможно, было бы неплохо добавить галку "Один на порту" в группы пользователей.


Название: Re: DHCP
Отправлено: Efendy от 05 Сентября 2014, 13:13:43
подумаю


Название: Прошу помощи
Отправлено: Dolphin от 03 Ноября 2014, 23:20:23
В этом топике у человека уже была подобная проблема, но решения не нашли.

Ситуация такая:
Есть диапазон IP адресов (1.1.1.1 - 1.1.2.254) на выдачу, маска /23
Несколько адресов, из этого диапазона зарезервировано, а именно: 1.1.1.254, 1.1.2.1
В IP пул, эти адреса установил в "зарезервировано".

Проблема состоит в том, что клиенты получают адреса, из этих резервов, да еще и 1.1.1.255 & 1.1.2.0!
Я в смятении. Пробовал в dhcpd.conf, жестко эти адреса привязать к несуществующим макам, добавлял эти адреса (.255, .0) в IP пул, менял "зарезервировано" на "статический". Бубен почти стерся...

В логах nodeny/dhcp сыпется:
Код:
Строк: 0. Время выполнения sql: 0.0005 сек
03.11.2014 20:51:12 ERROR: [commit] ip=1.1.1.0, mac=0:1f:16:4c:84:fb, mac_ok=001f164c84fb | В ip_pool нет 1.1.1.0 либо его тип не dynamic

Такое впечатление, что именно по этому событию в dhcp, не выполняется скрипт /usr/local/nodeny/modules/dhcp/events.pl
Хотя в логах для остальных ИП он отписывает нормально.

Прошу помощи...


Название: Re: Прошу помощи
Отправлено: poxy. от 04 Ноября 2014, 07:54:42
В этом топике у человека уже была подобная проблема, но решения не нашли.

Ситуация такая:
Есть диапазон IP адресов (1.1.1.1 - 1.1.2.254) на выдачу, маска /23
Несколько адресов, из этого диапазона зарезервировано, а именно: 1.1.1.254, 1.1.2.1
В IP пул, эти адреса установил в "зарезервировано".

Проблема состоит в том, что клиенты получают адреса, из этих резервов, да еще и 1.1.1.255 & 1.1.2.0!
Я в смятении. Пробовал в dhcpd.conf, жестко эти адреса привязать к несуществующим макам, добавлял эти адреса (.255, .0) в IP пул, менял "зарезервировано" на "статический". Бубен почти стерся...

В логах nodeny/dhcp сыпется:
Код:
Строк: 0. Время выполнения sql: 0.0005 сек
03.11.2014 20:51:12 ERROR: [commit] ip=1.1.1.0, mac=0:1f:16:4c:84:fb, mac_ok=001f164c84fb | В ip_pool нет 1.1.1.0 либо его тип не dynamic

Такое впечатление, что именно по этому событию в dhcp, не выполняется скрипт /usr/local/nodeny/modules/dhcp/events.pl
Хотя в логах для остальных ИП он отписывает нормально.

Прошу помощи...
У меня до .10 и после .240 выделено всякому железу, в биллинге сделай динамический пул по аналогии со скрином, в dhcpd.conf :
Код:
subnet 10.10.200.0 netmask 255.255.255.0 {
  range 10.10.200.10 10.10.200.240;
  interface vlan200;
  option routers 10.10.200.250;
}


Название: Re: Прошу помощи
Отправлено: ser970 от 04 Ноября 2014, 14:12:43
В этом топике у человека уже была подобная проблема, но решения не нашли.

Ситуация такая:
Есть диапазон IP адресов (1.1.1.1 - 1.1.2.254) на выдачу, маска /23
Несколько адресов, из этого диапазона зарезервировано, а именно: 1.1.1.254, 1.1.2.1
В IP пул, эти адреса установил в "зарезервировано".

Проблема состоит в том, что клиенты получают адреса, из этих резервов, да еще и 1.1.1.255 & 1.1.2.0!
Я в смятении. Пробовал в dhcpd.conf, жестко эти адреса привязать к несуществующим макам, добавлял эти адреса (.255, .0) в IP пул, менял "зарезервировано" на "статический". Бубен почти стерся...

В логах nodeny/dhcp сыпется:
Код:
Строк: 0. Время выполнения sql: 0.0005 сек
03.11.2014 20:51:12 ERROR: [commit] ip=1.1.1.0, mac=0:1f:16:4c:84:fb, mac_ok=001f164c84fb | В ip_pool нет 1.1.1.0 либо его тип не dynamic

Такое впечатление, что именно по этому событию в dhcp, не выполняется скрипт /usr/local/nodeny/modules/dhcp/events.pl
Хотя в логах для остальных ИП он отписывает нормально.

Прошу помощи...
dhcp выдает айпи на основе конфига
а скрипт только логирует что такомуто выдался такой-то и все
что бы ограничить выдачу..
 где-то так
range 1.1.1.2 1.1.1.254;
range 1.1.2.2 1.1.2.254;



Название: Re: DHCP
Отправлено: Dolphin от 04 Ноября 2014, 18:00:47
2 stimels7 Спасибо за вариант.

2 ser970 youtube.com/watch?v=NPQHdE_Jn_c

Второй вариант поехал.

п.с. Искал как в isc-dhcp сделать исключения из диапазона. Нет такого, хотя в виндовом есть :)


Название: Re: DHCP
Отправлено: ser970 от 04 Ноября 2014, 18:42:52
2 stimels7 Спасибо за вариант.

2 ser970 youtube.com/watch?v=NPQHdE_Jn_c

Второй вариант поехал.

п.с. Искал как в isc-dhcp сделать исключения из диапазона. Нет такого, хотя в виндовом есть :)

ну если не пользоваться man
(это когда в консоли  ...   man dhcpd)
и читаем
Subnets
       dhcpd  needs to know the subnet numbers and netmasks of all subnets for
       which it will be providing service.   In addition, in order to  dynami-
       cally  allocate  addresses,  it  must be assigned one or more ranges of
       addresses on each subnet which it can in turn assign to client hosts as
       they  boot.    Thus, a very simple configuration providing DHCP support
       might look like this:

            subnet 239.252.197.0 netmask 255.255.255.0 {
              range 239.252.197.10 239.252.197.250;
            }

       Multiple address ranges may be specified like this:

            subnet 239.252.197.0 netmask 255.255.255.0 {
              range 239.252.197.10 239.252.197.107;
              range 239.252.197.113 239.252.197.250;
            }

       If a subnet will only be provided with BOOTP  service  and  no  dynamic
       address  assignment, the range clause can be left out entirely, but the
       subnet statement must appear.

 
плохо искали

ну а любителям ютуба .....
https://www.google.com.ua/?gfe_rd=cr&ei=mQFZVI-5IMWk8we59ID4Dg&gws_rd=ssl#q=isc-dhcp-server%20multiple%20ranges
не особо напрягаясь - первая сылка
https://help.ubuntu.com/community/isc-dhcp-server

p.s. или я с ютобом не понял


Название: Re: DHCP
Отправлено: Dolphin от 05 Ноября 2014, 13:56:42
Да просто, наткнулся на просторах инета, что isc-dhcp не умеет исключать из диапазона адреса.
Дальше особо и не искал.
Решал свою задачу другими способами.

Ссылка в ютуб, была на выражение Соколова, из уральских пельменей.


Название: Re: DHCP
Отправлено: cojiict от 27 Февраля 2015, 16:43:47
На будинку стоїть мильниця. Абоненти прив’язані по маку ПК. Якщо включити option82 на комутаторі - затирається попередній мак!


Название: Re: DHCP
Отправлено: Efendy от 27 Февраля 2015, 17:13:08
что в логе  /usr/local/nodeny/logs/dhcp.events.log по данному клиенту?


Название: Re: DHCP
Отправлено: cojiict от 28 Февраля 2015, 09:26:07
Код:
ip=10.100.7.169, mac=14:da:e9:9a:dd:1a, mac_ok=14dae99add1a | Ok
Код:
ip=10.100.7.169, mac=14:da:e9:9a:dd:1a, mac_ok=14dae99add1a port=7062b84313c0[26]| Необходима регистрация мака


Название: Re: DHCP
Отправлено: Efendy от 28 Февраля 2015, 14:26:37
Я невнимательно прочитал, уже на первом вопросе был ясен ответ: неуправляемый коммутатор - это для биллинга коммутатор с пустым маком и нулевым портом. Если ты включаешь опцию82, то биллинг это воспринимает как то, что клиент подключился к другому коммутатору. Ничего с этим не сделаешь. Вы же опцию82 туда-сюда не переключаете? один раз введут логин/пас и  связка запомнится


Название: Re: DHCP
Отправлено: cojiict от 24 Марта 2015, 16:53:32
є 2 сервери в одному vlan.
на першому працюють клієнти dhcp.
на другому(nas) mpd (pppoe)
один клієнт виконує з’єднання рррое та отримує ІР з динамічного пулу. інший цю ІР пише в себе статично і отримує доступ  в інет.
саме цікаве - що DHCP модуль також може видати дану ІР, так як по його логіці вона не зайнята!
Є якісь ідеї вирішення даного феномену?

на першому
Код:
1491 ??  Ss        7:01,71 /usr/sbin/syslogd -l /var/run/log -l /var/named/var/run/log -s
 1705 ??  Is        0:00,04 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=/var/db/mysql
 2009 ??  S      9169:22,41 /usr/local/libexec/mysqld --defaults-extra-file=/var/db/mysql/my.cnf --basedir=/usr/local --datadir=/var/db/mysql --plugin-dir=/usr/local/l
 2020 ??  R<s   12908:41,11 /usr/local/bin/ipcad -rds -c /usr/local/etc/ipcad.conf
 2026 ??  Is        0:00,02 /usr/sbin/sshd
 2031 ??  Ss      151:37,90 /usr/local/sbin/radiusd
 2032 ??  Ss        1:36,90 /usr/local/sbin/httpd -DNOHTTPACCEPT
 2041 ??  Ss        0:40,12 sendmail: accepting connections (sendmail)
 2044 ??  Is        0:00,62 sendmail: Queue runner@00:30:00 for /var/spool/clientmqueue (sendmail)
 2048 ??  Ss        0:07,70 /usr/sbin/cron -s
 2182 ??  Ss       34:09,08 /usr/local/sbin/dhcpd -cf /usr/local/etc/dhcpd.conf -lf /var/db/dhcpd/dhcpd.leases -pf /var/run/dhcpd/dhcpd.pid -user root -group dhcpd
 8256 ??  Ss      190:09,81 /usr/sbin/named -t /var/named -u bind
 2326 v0- S       207:17,15 /usr/bin/perl /usr/local/nodeny/nokernel.pl -d (perl5.14.4)
 2329 v0- S      2809:41,00 /usr/bin/perl /usr/local/nodeny/noserver.pl -d (perl5.14.4)
 2422 v0- S       518:59,36 /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=pingserver -d (perl5.14.4)
 2429 v0- R      3895:53,90 /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=cap -d (perl5.14.4)
 2438 v0- S       483:23,73 /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=collectors -d (perl5.14.4)
dhcpd.conf
Код:
log-facility local7;
option domain-name-servers 10.100.0.1;

subnet 10.100.0.0 netmask 255.255.0.0 {
    range 10.100.0.2 10.100.16.255;
    interface em1;
    option routers 10.100.0.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort = "";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", suffix(option agent.remote-id,6));
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
}
на другому
Код:
 2862 ??  Ss      0:13.16 /usr/sbin/syslogd -l /var/run/log -l /var/named/var/run/log -s
 2948 ??  Ss     10:32.71 /usr/sbin/named -t /var/named -u bind
 2989 ??  Is     12:39.88 /usr/local/sbin/mpd5 -p /var/run/mpd5.pid -b
 3030 ??  DL      0:58.42 [ng_queue]
 3041 ??  Is      0:00.01 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=/var
 3187 ??  I       0:34.78 /usr/local/libexec/mysqld --defaults-extra-file=/var/db/mysql/my.cnf --basedir=/usr/local --datadir=/var/db/mysql --log-error=/var
 3189 ??  Is      0:00.00 /usr/local/sbin/radiusd
 4104 ??  S<s    12:29.85 /usr/local/bin/ipcad -rds -c /usr/local/etc/ipcad.conf
2997 v0- R      73:01.31 /usr/bin/perl /usr/local/nodeny/noserver.pl -d (perl5.14.4)
 2998 v0- S       5:14.99 /usr/bin/perl /usr/local/nodeny/nokernel.pl -d (perl5.14.4)

mpd.conf
Код:
startup:
        set user ***** *****
        set console self 127.0.0.1 5005
        set console open
        set web self 0.0.0.0 5006
        set web open

default:
        load pppoe_server

pppoe_server:

        create bundle template B
        set ipcp ranges *.*.*.*/32 127.0.0.2/32
        set ipcp dns *.*.*.* *.*.*.*
        set ccp yes mppc
        set mppc yes e40
        set mppc yes e56
        set mppc yes e128
        set mppc yes stateless
        set ecp disable dese-bis dese-old

        create link template common pppoe
        set link enable multilink
        set link action bundle B
        set link disable chap pap eap
        set link enable pap
        load radius
        set pppoe service "*"

        create link template igb0 common
        set link max-children 1000
        set pppoe iface igb0
        set link enable incoming

radius:
        set radius server *.*.*.* ******* 1812 1813
        set radius retries 3
        set radius timeout 3
        set radius me 127.0.0.1
        set auth acct-update 45
        set auth enable radius-auth
        set auth enable radius-acct
        set radius enable message-authentic
ipfw table 21 list |grep 10.100.0.8

Код:
10.100.0.8/32 27981


Название: Re: DHCP
Отправлено: Efendy от 25 Марта 2015, 10:29:52
А почему это феномен?  Нужно жостко разделить адресное пространство на серверах иначе я не вижу простого способа разрулить эту проблему. Вообще, непонятно как происходит маршрутизация, если у тебя один и тот же ip может прийти с разных серверов


Название: Re: DHCP
Отправлено: k291 от 21 Апреля 2015, 02:38:54
Что будет если закончатся IP-адреса в блоке. Выдача начнется от первого свободного или новый клиент не получит IP?


Название: Re: DHCP
Отправлено: cojiict от 21 Апреля 2015, 10:40:43
почне використовувати з початку (які не були прив’язані, або звільнені)


Название: Re: DHCP
Отправлено: Nafanya от 21 Апреля 2015, 14:27:50
Возникла проблемка. Модуль работал нормально, но в какой-то момент, у людей, кто подключен по ДХЦП начал отваливаться инте. Хотя никаких изменений не делал. Никто с таким не сталкивался? Свич настроен под опцию82. Раньше все было в порядке.


Название: Re: DHCP
Отправлено: cojiict от 22 Апреля 2015, 13:30:56
авторизация начинается по сигналу dhcp сервера. Кстати, когда комп выключается - он освобождает ип, и дхцп сервер заканчивает авторизацию. Жаль, что компы чето не спешат освобождать, плюют на стандарты? Кстати, если уменьшить время аренды адреса, то безопаснть можно улучшить, но тогда некоторые устройства не будут работать (так говорил Vitalvas, я не проверял)
так вот, эти некоторые устройства (в т.ч. некоторые сборки вин ХР)работают минут 10-15 и отваливаются до перезагрузки, собсно предположил что столкнулся с аналогичной проблемой (авторизатор изначально не использовался, ну и как бы теперь тоже не планируется(хватило прошлого опыта с пппое настройками - постоянные звонки по настройке, вплоть до выездов на дом)). Также происходят редкие отвалы с нормальными абонами (смею предположить что из-за строго соответствия времени в дхцп модуле и самом в дхцп сервере при возникновении задержек по сети). вот собственно из этих соображений все началось, возможно я обшибаюсь, дело в другом, тогда в чем может быть?


Название: Re: DHCP
Отправлено: Cell от 24 Апреля 2015, 16:34:28
В вирусне, которая валит дхцп клиент на винде. Сталкивался с таким


Название: Re: DHCP
Отправлено: Efendy от 18 Июня 2015, 21:52:25
Сделал поиск абонента(ов) по маку устройства, к которому они подключены. Фича удобна у кого один абон на порту, а также ПОН (человек его юзающий и попросил сделать фичу) совместно с модулем snmp - по snmp получаем данные со свича и прямо в таблице данных можно щелкнуть по порту и получить данные абона


Название: Re: DHCP
Отправлено: vddav от 16 Сентября 2015, 14:12:10
выявился небольшой нюанс - при обновлении биллинга, так же этого модуля - вылез косяк: при запуске скрипта install.pl -x, запускается скрипт run.pl из комплекта dhcp модуля. выявилась интересная ситуация при его работе. в какой то маленький период времени колонка `mac` была не уникальной, и собственно в этот момент времени проскочил запрос от events.pl. восстановление уникальности колонки `mac` не прошло, т.к. уже появилась дублированная запись. пока думал в чем проблема, дублей набралось на каждого абона по несколько штук))).
в общем просьба добавить в run.pl LOCK/UNLOCK TABLES. лишним не будет, но избавит от возможного гемороя)


Название: Re: DHCP
Отправлено: Efendy от 16 Сентября 2015, 14:36:17
К сожалению, не получится - у nodeny пользователя нет прав на lock, изменение прав потребует ручного запуска sql/скрипта с вводом root пароля mysql


Название: Re: DHCP
Отправлено: Docent от 17 Ноября 2015, 01:20:50
У кого нибудь получилось настроить freeradius в качестве dhcp сервера, без прослойки из accel-ppp как написано в документации?


Название: Re: DHCP
Отправлено: Efendy от 17 Ноября 2015, 13:34:42
У кого нибудь получилось настроить freeradius в качестве dhcp сервера, без прослойки из accel-ppp как написано в документации?
я могу попробовать на виртуалке. У тебя наработки есть?


Название: Re: DHCP
Отправлено: Efendy от 17 Ноября 2015, 13:53:09
И кстати:

Цитировать
#       This code is experimental, and SHOULD NOT be used in a
#       production system.  It is intended for validation and
#       experimentation ONLY.


Название: Re: DHCP
Отправлено: Efendy от 17 Ноября 2015, 17:36:52
Я немного поковырял радиус на предмет dhcp. В общем пока не получается заставить его слушать бродкаст запросы. Т.е пока может принимать отрелеенные запросы от умных свичей, а в обычной сети без умняков не получается. Судя по доке, это проблема в реализации под FreeBSD, но совет ка это исправить у меня не сработал:

Цитировать
#  FreeBSD does *not* support binding sockets to interfaces.  Therefore,
#  if you have multiple interfaces, broadcasts may go out of the wrong
#  one, or even all interfaces.  The solution is to use the "setfib" command.
#  If you have a network "10.10.0/24" on LAN1, you will need to do:
#
#  Pick any IP on the 10.10.0/24 network
#   $ setfib 1 route add default 10.10.0.1
#
#  Edit /etc/rc.local, and add a line:
#   setfib 1 /path/to/radiusd
#
#  The kern must be built with the following options:
#   options    ROUTETABLES=2
#  or any value larger than 2.


Название: Re: DHCP
Отправлено: sedo26 от 18 Ноября 2015, 15:38:21
Появилась не понятная проблема.
После нескольких обновлений перестала работать авторизация по dhcp без радиуса, (не заметили когда, так как старые абоненты работают нормально, при включении нового - авторизоваться невозможно).
Заглушка работает, перенаправление также. После ввода логина и пароля не появляется сообщение что все блокировки сняты.
В events - Необходима регистрация мака и всё. В клиентской - дхцп присутствует.   


Название: Re: DHCP
Отправлено: Efendy от 18 Ноября 2015, 16:04:12
В пуле ip достаточно свободных адресов?


Название: Re: DHCP
Отправлено: sedo26 от 18 Ноября 2015, 16:21:07
Используется только пару десятков, много ещё свободных.


Название: Re: DHCP
Отправлено: Efendy от 18 Ноября 2015, 16:30:33
Используется только пару десятков, много ещё свободных.
проще всего дай мне временный доступ по ссх в личку


Название: Re: DHCP
Отправлено: Pa4ka от 26 Ноября 2015, 16:05:30
Зависает модуль
Цитировать
/usr/bin/perl /usr/local/nodeny/modules/dhcp/events.pl commit "IP клиента" "мак клиента"
На одном "ипе залипает" и больше IP абонентам не выдаеться.
В конфиге make_config шаблон дхцп в котором около 100 вланов и подсетей которые прописаны в пуле бд
Цитировать
shared-network vlan1914 {
subnet 172.19.14.0 netmask 255.255.255.0 {
  allow unknown-clients;
  range 172.19.14.3 172.19.14.254;
  interface vlan1914;
    default-lease-time 2400;
    max-lease-time 1800;
  option routers 172.19.14.1;

  on commit {
     set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
            set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
            set SwitchMac = "";
            set SwitchPort ="";
            if exists agent.circuit-id
            {
                set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
                set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
            }
            execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                    ClientIP, ClientMac, SwitchMac, SwitchPort);
  }
  on expiry {
    set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
    execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
  }
  on release {
    set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
    execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
  }
}
Я киляю процесс оно выдает дальше ипы, но через несколько секунд или минут(когда как) опять залипает.
До сегодняшнего дня все работало как часы.
Помогите пожалуйста найти зависимость уважаемые форумчане!


Название: Re: DHCP
Отправлено: cojiict от 26 Ноября 2015, 16:51:54
що в /var/log/dhcpd.log


Название: Re: DHCP
Отправлено: Pa4ka от 26 Ноября 2015, 17:04:09
що в /var/log/dhcpd.log
в логе пусто с 11 часов сегодняшнего дня
я его просто почистил потому что там было полтора гига логов за все время, подумал может изза его размера.

Цитировать
чистил так
truncate -s0 /var/log/dhcpd.log

Сейчас ситуация вроде стабилизировалась, но я еще такое замечал если большой сегмент сети отпадает на некоторое время(более часа) то так же бывает такое.


Название: Re: DHCP
Отправлено: Pa4ka от 26 Ноября 2015, 17:06:06
может сервер не успевает обрабатывать запросы, но вроде не сильно нагружен, особенно утром
сейчас так
Цитировать
last pid: 50946;  load averages:  4.91,  4.65,  4.57                                                                   up 6+00:38:52  17:05:02
439 processes: 13 running, 366 sleeping, 60 waiting
CPU 0: 10.3% user,  0.0% nice, 21.5% system,  9.3% interrupt, 58.9% idle
CPU 1: 22.4% user,  0.0% nice, 23.4% system, 10.3% interrupt, 43.9% idle
CPU 2: 13.1% user,  0.0% nice, 23.4% system, 11.2% interrupt, 52.3% idle
CPU 3: 16.8% user,  0.0% nice, 15.0% system, 11.2% interrupt, 57.0% idle
CPU 4: 15.9% user,  0.0% nice, 22.4% system, 10.3% interrupt, 51.4% idle
CPU 5: 15.9% user,  0.0% nice, 29.9% system, 15.0% interrupt, 39.3% idle
CPU 6: 19.6% user,  0.0% nice, 21.5% system, 12.1% interrupt, 46.7% idle
CPU 7: 17.8% user,  0.0% nice, 21.5% system, 10.3% interrupt, 50.5% idle
Mem: 623M Active, 5817M Inact, 1327M Wired, 120M Cache, 872M Buf, 50M Free
Swap: 4096M Total, 19M Used, 4077M Free

  PID USERNAME   PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
33815 root       102    0 77196K 21444K CPU6    6 162:49 100.00% perl{perl}
92781 mysql       97    0   837M   517M CPU7    7 158:14  83.25% mysqld{mysqld}
   11 root       155 ki31     0K   128K RUN     0  89.3H  60.99% idle{idle: cpu0}
   11 root       155 ki31     0K   128K RUN     2  76.2H  59.96% idle{idle: cpu2}
   11 root       155 ki31     0K   128K CPU3    3  76.0H  59.57% idle{idle: cpu3}
   11 root       155 ki31     0K   128K RUN     5  75.5H  57.96% idle{idle: cpu5}
   11 root       155 ki31     0K   128K RUN     4  75.8H  56.40% idle{idle: cpu4}
   11 root       155 ki31     0K   128K RUN     7  75.4H  53.17% idle{idle: cpu7}
   11 root       155 ki31     0K   128K RUN     1  75.4H  52.98% idle{idle: cpu1}
   11 root       155 ki31     0K   128K CPU6    6  75.1H  52.39% idle{idle: cpu6}
   12 root       -72    -     0K   976K WAIT    3  55.7H  45.17% intr{swi1: netisr 0}
75132 root        48    0   368M   188M select  0 162:55  35.16% perl{perl}
76636 root        28  -15 71632K 28300K sbwait  0  28.5H  28.37% ipcad{ipcad}
76636 root        28  -15 71632K 28300K CPU1    1  36.1H  11.96% ipcad{ipcad}
75176 root        20    0   137M 78700K select  7  15:43   3.17% perl{perl}
   12 root       -92    -     0K   976K WAIT    0 189:32   2.49% intr{irq274: igb2:que}
92781 mysql       29    0   837M   517M sbwait  1   4:59   1.27% mysqld{mysqld}
   12 root       -92    -     0K   976K WAIT    4 101:03   1.17% intr{irq278: igb2:que}
   12 root       -92    -     0K   976K WAIT    2  92:38   1.17% intr{irq258: igb0:que}
   12 root       -92    -     0K   976K WAIT    5  92:23   1.17% intr{irq261: igb0:que}
   12 root       -92    -     0K   976K CPU6    6  91:30   1.17% intr{irq262: igb0:que}
   12 root       -92    -     0K   976K WAIT    3  98:59   1.07% intr{irq277: igb2:que}
   12 root       -92    -     0K   976K WAIT    2 102:18   0.98% intr{irq276: igb2:que}
   12 root       -92    -     0K   976K WAIT    1  88:18   0.98% intr{irq257: igb0:que}
   12 root       -92    -     0K   976K WAIT    7  88:41   0.88% intr{irq263: igb0:que}
   12 root       -92    -     0K   976K WAIT    5 101:05   0.78% intr{irq279: igb2:que}
   12 root       -92    -     0K   976K WAIT    4  92:46   0.78% intr{irq260: igb0:que}
   12 root       -92    -     0K   976K WAIT    0  87:39   0.78% intr{irq256: igb0:que}
   12 root       -92    -     0K   976K WAIT    3  89:56   0.68% intr{irq259: igb0:que}
   12 root       -92    -     0K   976K WAIT    6 101:06   0.59% intr{irq280: igb2:que}

а еще все сервисы перезапускал, килял и дхцп сервер
потом запускал в порядке
Цитировать
/usr/bin/perl /usr/local/nodeny/nokernel.pl -d &
/usr/bin/perl /usr/local/nodeny/noserver.pl -d &
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=pingserver -d &
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=cap -d &
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=collectors -d &
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=make_config -d 2> /dev/null > /dev/null &
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=dhcp -d &


Название: Re: DHCP
Отправлено: cojiict от 26 Ноября 2015, 17:51:30
що в /var/log/dhcpd.log
в логе пусто с 11 часов сегодняшнего дня
Цитировать

а dhcpd запущений?


Название: Re: DHCP
Отправлено: Pa4ka от 26 Ноября 2015, 17:53:08
що в /var/log/dhcpd.log
в логе пусто с 11 часов сегодняшнего дня
Цитировать

а dhcpd запущений?
Звісно
Цитировать
44961  -  Ss       1:17,12 /usr/local/sbin/dhcpd -cf /usr/local/etc/dhcpd.conf -lf /var/db/dhcpd/dhcpd.leases -pf /var/run/dhcpd/dhcpd.pid


Название: Re: DHCP
Отправлено: vddav от 06 Декабря 2015, 11:56:35
Сейчас ситуация вроде стабилизировалась, но я еще такое замечал если большой сегмент сети отпадает на некоторое время(более часа) то так же бывает такое.
наблюдается аналогичная проблема на сателите. после включения сегмента >= 500 абонов. Причем в var/log/dhcpd.log и dhcpd.leases видно что events.pl запускается, в таблицу пишется событие что абон получил ип, в реале - 169. кажется, что либо не приходит, либо очень поздно dhcpack. пробну в ближайшее время тспдампом подробнее посмотреть.
но когда комментируешь в конфиге дхсп строки с events.pl все мгновенно получают ипы. база и сателит рядышком на одном свиче. оба не нагружены.


Название: Re: DHCP
Отправлено: vddav от 06 Декабря 2015, 13:08:09
вот дамп, даже на скрине видно что поздно аск ответы идут


Название: Re: DHCP
Отправлено: lts от 18 Декабря 2015, 17:04:24
как решили проблему ?


Название: Re: DHCP
Отправлено: vddav от 19 Декабря 2015, 13:20:30
как решили проблему ?


хватило ума только на запуск дхсп с конфигом без вызова event.pl и лизой в 30 мин + в фаервол халяву, затем через мин 10-15, как пройдет волна, запуск дхсп с штатным конфигом, и через 30 мин(время лизы без event.pl) удаление халявы в фаере. куда копать ХЗ, нагрузки нет ни на базе, ни на сателите.


Название: Re: DHCP
Отправлено: fet4 от 08 Февраля 2016, 10:29:33
Реально ли запустить параллельно pppoe, dhcp через радиус. Насколько я понял нужно менять radreply?


Название: Re: DHCP
Отправлено: Efendy от 08 Февраля 2016, 11:30:01
Реально ли запустить параллельно pppoe, dhcp через радиус. Насколько я понял нужно менять radreply?
реально


Название: Re: DHCP
Отправлено: fet4 от 08 Февраля 2016, 20:44:18
Будет по 2 процедуры radreply,radupdate ? Как будет выглядывать sql.conf при двух типах авторизаций?


Название: Re: DHCP
Отправлено: Efendy от 08 Февраля 2016, 21:48:56
Будет по 2 процедуры radreply,radupdate ? Как будет выглядывать sql.conf при двух типах авторизаций?
эта задача сводится к ситуации "мы задаем наводящие вопросы, а в итоге Стас сделает сам". Давайте сначала попробуем сами понять как оно работает. Если нет, то поставим задачу и финансы


Название: Re: DHCP
Отправлено: fet4 от 20 Февраля 2016, 19:44:35
Будет по 2 процедуры radreply,radupdate ? Как будет выглядывать sql.conf при двух типах авторизаций?
эта задача сводится к ситуации "мы задаем наводящие вопросы, а в итоге Стас сделает сам". Давайте сначала попробуем сами понять как оно работает. Если нет, то поставим задачу и финансы

Как работает понимаю, но в sql не силен поэтому задача!

Подправить процедуры radreply и radupdate, а так же sql.conf и что еще необходимо для параллельного запуска с pppoe, dhcp через radius. Так же используется модуль "Radius атрибуты" который вносит свои коррективы в данные процедуры.
Финансы огласите Вы!


Название: Re: DHCP
Отправлено: fet4 от 26 Февраля 2016, 01:52:43
Модуль dchp + Radius

В документации написанно "Устанавливаем Radius (останавливаемся на создании mysql-процедур). Создаем:", Т.е. создаем модифицированные radreply и radupdate ? radcheck и radstop тоже нужны же?

Cтроку
Код:
authorize_reply_query = "call radreply('%{User-Name}')"
меняем на
Код:
authorize_check_query = "SELECT NULL,'%{User-Name}','Auth-Type','Accept','='"
Т. е. получаем две authorize_check_query, т.к. одна уже есть в файле /usr/local/nodeny/etc/raddb/sql.conf ?
Код:
authorize_check_query = "call radcheck('%{User-Name}')"
authorize_check_query = "SELECT NULL,'%{User-Name}','Auth-Type','Accept','='"

Если же мы заменили authorize_reply_query тогда откуда вызывается radreply?

Незарегистрированный клиент получает из гостевого пула с тегом guest ip, после регистрации какой он ip он получит? Если будет динамический пул без guest, с него? Или допустим статический пул, что в таком случае он получит?


Название: Re: DHCP
Отправлено: Efendy от 26 Февраля 2016, 12:07:10
Посмотрю в словаре значение слова "меняем", если окажется, что оно имеет значение "дописать к существующей строке", то поменяю доку


Название: Re: DHCP
Отправлено: fet4 от 26 Февраля 2016, 12:24:14
Посмотрю в словаре значение слова "меняем", если окажется, что оно имеет значение "дописать к существующей строке", то поменяю доку
Исходя из вашей документации по "Модуль dchp + Radius" вы пишите "Устанавливаем Radius даете ссылку на h__p://app.nodeny-plus.com.ua/docs/work/mpd5.html#start каким образом нужно установить, останавливаемся на создании mysql-процедур, остановились. Выполняя манипуляции в указанной доке, получаем две authorize_check_query т.к. одна уже есть в Вашем /usr/local/nodeny/etc/raddb/sql.conf.
Что делать? :)


Название: Re: DHCP
Отправлено: fet4 от 29 Июля 2016, 10:07:17
Привет!
Подскажите пожалуйста в вопросе :)

Хочу добавлять/удалять правило фаервола или выполнить какую-нибудь команду в зависимости от события, а именно когда "# Мак не привязан ни к какому клиенту" и "Когда клиент произведет успешную авторизацию по связкек мака/порта"

Я так понимаю их нужно выполнять в /usr/local/nodeny/modules/dhcp/events.pl

и где-то здесь, если нет поправьте.
Код:
     else
    {
        # Мак не привязан ни к какому клиенту
        sql_do(0, "UPDATE ip_pool SET uid=0 WHERE ip=INET_ATON(?) AND type='dynamic'", $ip);
        tolog "$log Необходима регистрация мака";
        МОЯ КОМАНДА
        exit;
    }


Код:
   if( $rows<1 )
    {
        # Создаем/апдейтим связку mac = device_mac / device_port / ip
        my $rows = sql_do( 'check_rows',
            'INSERT INTO mac_uid SET uid=0, mac=?, '.
                'device_mac=?, device_port=?, ip=INET_ATON(?), time=UNIX_TIMESTAMP()'.
            ' ON DUPLICATE KEY UPDATE '.
                'device_mac=?, device_port=?, ip=INET_ATON(?), time=UNIX_TIMESTAMP()',
                $mac_ok, $device_mac, $device_port, $ip,
                $device_mac, $device_port, $ip
        );
        $rows<1 && error("$log sql error");
        МОЯ КОМАНДА
    }

В перле не силен, я так понимаю команду нужно во что-то "обернуть" не могли бы привести пример, как ее правильно вставить в код.
Заранее спасибо.


Название: Re: DHCP
Отправлено: fet4 от 15 Сентября 2016, 17:32:59
Нюанс при активации оборудования :)
Подключили клиента, заходим на любую страницу, редиректит на страницу где нужно ввести логин и пароль, все ок. Вводим логин и пароль, попадаем на страницу заполнения данных (ФИО, телефон), т.к. учетка еще в состоянии "На подключение", ввели данные, сохранились, оборудование не зарегистрировалось, нужно снова перейти на какой-нибудь сайт для редиректа на страницу активации и войти под своим логином.
Немного не удобно, если можете поправьте.


Название: Re: DHCP
Отправлено: cojiict от 16 Сентября 2016, 08:30:50
Нюанс при активации оборудования :)
Подключили клиента, заходим на любую страницу, редиректит на страницу где нужно ввести логин и пароль, все ок. Вводим логин и пароль, попадаем на страницу заполнения данных (ФИО, телефон), т.к. учетка еще в состоянии "На подключение", ввели данные, сохранились, оборудование не зарегистрировалось, нужно снова перейти на какой-нибудь сайт для редиректа на страницу активации и войти под своим логином.
Немного не удобно, если можете поправьте.
Спробуй перевірити:
Таке буває якщо незареєстрований клієнт отримує ІР а авторизацію переходить значно пізніше. Це по ідеї своєрідний захост від brute force.


Название: Re: DHCP
Отправлено: fet4 от 16 Сентября 2016, 10:49:47
Я понял о чем вы. Но это не тот случай, сам лично, включаю в клиентский комп и сразу же захожу в личный кабинет, если в учетке стоит "все ок". Активирует как надо. Если "на подключении" то нужно заполнить данные и потом еще раз перевойти.


Название: Re: DHCP
Отправлено: Efendy от 16 Сентября 2016, 15:16:19
Попробуй в /usr/local/nodeny/web/start_user.pl строку

Код:
 if( $info->{cstate} == 1 && scalar @cfg::request_info_from_usr )

заменить на

Код:
 if( $info->{cstate} == 1 && scalar @cfg::request_info_from_usr && $cmd ne 'u_dhcp' )


Название: Re: DHCP
Отправлено: fet4 от 24 Сентября 2016, 11:56:03
Не помогло эффект тот же :(


Название: Re: DHCP
Отправлено: fet4 от 05 Марта 2017, 14:13:01
Подскажите.
Если не заполнено поле "Порт устройства", а только "Мак устройства" и стоит "Один на порту", получится ли схема "Один на устройстве"?


Название: Re: DHCP
Отправлено: fet4 от 21 Марта 2017, 13:10:36
Привет всем.
Хочу изменить клиентам c определенным доп. полем  device_port и oneconnect на нужные мне значения. Написал для этого запрос.
Код:
UPDATE mac_uid SET device_port = "1", oneconnect = "0" WHERE data0.uid = mac_uid.uid AND data0._adr_type = 2;
Подскажите можно ли так внести изменения?


Название: Re: DHCP
Отправлено: Efendy от 22 Марта 2017, 11:43:56
Код:
UPDATE mac_uid JOIN data0 ON data0.uid = mac_uid.uid SET device_port = "1", oneconnect = "0" WHERE data0._adr_type = 2;


Название: Re: DHCP
Отправлено: cojiict от 22 Мая 2017, 09:34:49
.


Название: Re: DHCP
Отправлено: Efendy от 13 Сентября 2017, 17:44:39
Узнал, что многие не вкурсе такой фичи как выбор свича из списка при привязке мак-адреса. Добавил в FAQ: http://nodeny.com.ua/wiki/index.php/%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D1%81%D0%B2%D0%B8%D1%87%D0%B0_%D0%B8%D0%B7_%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0_%D0%BF%D1%80%D0%B8_%D0%BF%D1%80%D0%B8%D0%B2%D1%8F%D0%B7%D0%BA%D0%B5_%D0%BC%D0%B0%D0%BA-%D0%B0_%D0%B0%D0%B1%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%B0


Название: Re: DHCP
Отправлено: fet4 от 10 Ноября 2017, 19:07:59
Есть неприятная ситуация.

Есть клиенты на pon у которых стоит один на порту+фиксированное подключение, авторизация по mac свича + порт.

Сигментировали сеть, сменили vlan и подсеть.

У клиента не проходит авторизаци
Код:
10.11.2017 19:04:00 Duplicate entry 'e894f6b07995' for key 'mac'

{
  'sql' => 'UPDATE mac_uid SET time=UNIX_TIMESTAMP(), ip=INET_ATON(?), mac=? WHERE device_mac=? AND device_port=? AND oneconnect>0',
  'param' => [
    '10.194.132.19',
    'e894f6b07995',
    'e067b31533b2',
    1
  ]
};

 UPDATE mac_uid SET time=UNIX_TIMESTAMP(), ip=INET_ATON('10.194.132.19'), mac='e894f6b07995' WHERE device_mac='e067b31533b2' AND device_port='1' AND oneconnect>0
10.11.2017 19:04:00 Connecting to DBI:mysql:database=nodeny;host=localhost;port=3306;mysql_connect_timeout=5 : 0.000274 sec
10.11.2017 19:04:00 INSERT INTO mac_uid SET uid=0, mac='e894f6b07995', device_mac='e067b31533b2', device_port='1', ip=INET_ATON('10.194.132.19'), time=UNIX_TIMESTAMP() ON DUPLICATE KEY UPDATE device_mac='e067b31533b2', device_port='1', ip=INET_ATON('10.194.132.19'), time=UNIX_TIMESTAMP()
Строк: 1. Время выполнения sql: 0.0003 сек
10.11.2017 19:04:00 SELECT uid FROM mac_uid WHERE mac='e894f6b07995' AND device_mac='e067b31533b2' AND device_port='1'
Строк: 1. Время выполнения sql: 0.0001 сек
10.11.2017 19:04:00 UPDATE ip_pool SET uid=0 WHERE ip=INET_ATON('10.194.132.19') AND type='dynamic'
Строк: 1. Время выполнения sql: 0.0002 сек

10.11.2017 19:04:00 [commit] ip=10.194.132.19, mac=e8:94:f6:b0:79:95, mac_ok=e894f6b07995, port=e067b31533b2[1] | Необходима регистрация мака


Почему так? и как побороть? Вроде один на порту, всеравно какой ip и vlan, авторизуем по маку свича и порта.

Заранее спасибо.



Название: Re: DHCP
Отправлено: cojiict от 04 Января 2018, 12:40:16
при ручному корегуванні/створенні нової mac_uid потрібна історія (хоча б id адміна який робив і час коли). Як реалізувати?


Название: Re: DHCP
Отправлено: Efendy от 04 Января 2018, 17:00:58
select * from changes where tbl='mac_uid'\G


Название: Re: DHCP
Отправлено: pala от 04 Января 2018, 21:57:29
Есть неприятная ситуация.

Есть клиенты на pon у которых стоит один на порту+фиксированное подключение, авторизация по mac свича + порт.

Сигментировали сеть, сменили vlan и подсеть.

У клиента не проходит авторизаци
Код:
10.11.2017 19:04:00 Duplicate entry 'e894f6b07995' for key 'mac'

{
  'sql' => 'UPDATE mac_uid SET time=UNIX_TIMESTAMP(), ip=INET_ATON(?), mac=? WHERE device_mac=? AND device_port=? AND oneconnect>0',
  'param' => [
    '10.194.132.19',
    'e894f6b07995',
    'e067b31533b2',
    1
  ]
};

 UPDATE mac_uid SET time=UNIX_TIMESTAMP(), ip=INET_ATON('10.194.132.19'), mac='e894f6b07995' WHERE device_mac='e067b31533b2' AND device_port='1' AND oneconnect>0
10.11.2017 19:04:00 Connecting to DBI:mysql:database=nodeny;host=localhost;port=3306;mysql_connect_timeout=5 : 0.000274 sec
10.11.2017 19:04:00 INSERT INTO mac_uid SET uid=0, mac='e894f6b07995', device_mac='e067b31533b2', device_port='1', ip=INET_ATON('10.194.132.19'), time=UNIX_TIMESTAMP() ON DUPLICATE KEY UPDATE device_mac='e067b31533b2', device_port='1', ip=INET_ATON('10.194.132.19'), time=UNIX_TIMESTAMP()
Строк: 1. Время выполнения sql: 0.0003 сек
10.11.2017 19:04:00 SELECT uid FROM mac_uid WHERE mac='e894f6b07995' AND device_mac='e067b31533b2' AND device_port='1'
Строк: 1. Время выполнения sql: 0.0001 сек
10.11.2017 19:04:00 UPDATE ip_pool SET uid=0 WHERE ip=INET_ATON('10.194.132.19') AND type='dynamic'
Строк: 1. Время выполнения sql: 0.0002 сек

10.11.2017 19:04:00 [commit] ip=10.194.132.19, mac=e8:94:f6:b0:79:95, mac_ok=e894f6b07995, port=e067b31533b2[1] | Необходима регистрация мака


Почему так? и как побороть? Вроде один на порту, всеравно какой ip и vlan, авторизуем по маку свича и порта.

Заранее спасибо.



Покажите пожалуйста конфиг вашего DHCP сервера и секцию dhcp snooping на OLT


Название: Re: DHCP
Отправлено: Gosha от 05 Января 2018, 09:12:11
Может кому понадобится. У меня работает и модуль DHCP, и make_config. Сам конфиг генерирует dhcp.tmpl .
На каждую ветку PON выделяется подсетка /24 в отдельном влане.  Первые 64 IP для статики, 254 - шлюз. Остальные динамика.
При подключении клиента он получает динамику, оператор по данным в биллинге сохраняет мак устроуства и порт устройства, а также галочка один на порту. После чего меняет динамику на статику. IP выдаются 10.А.В.С  А - OLT, B-порт OLT(vlan), C-номер ONU.
Часть конфига - это для PON (bdcom 3608, bdcom 3616)
Код:
log-facility local7;
option domain-name-servers 1.1.1.1;
authoritative;
allow unknown-clients;

......................... 

shared-network vlan501 {


{% for user in users %}
  {% if user.ips.0.ipa && user.ips.0.type eq 'static' && user.connection.0 && user.connection.0.oneconnect && user.ips.0.ip >= inet.aton('10.1.1.1') && user.ips.0.ip <=
    {% one_line %}
class "host{{user.ips.0.ipa}}" { match if binary-to-ascii(10,8,"",suffix(option agent.circuit-id,2))="{{user.connection.0.device_port}}"
    and suffix(option agent.remote-id,6)={{user.connection.0.device_mac|pretty_mac}}; }
    {% one_line_end %}
  {% endif %}
{% endfor %}

subnet 10.1.1.0 netmask 255.255.255.0 {
  pool {
 {% for user in users %}
  {% if user.ips.0.ipa && user.ips.0.type eq 'static' && user.connection.0 && user.connection.0.oneconnect && user.ips.0.ip >= inet.aton('10.1.1.1') && user.ips.0.ip <=
    {% one_line %}
    deny members of  "host{{user.ips.0.ipa}}";
    {% one_line_end %}
  {% endif %}
{% endfor %}
    range 10.1.1.65 10.1.1.250;
}
    interface vlan501;
    option routers 10.1.1.254;
    default-lease-time 28800;
    min-lease-time 10000;
    max-lease-time 128800;
   on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", suffix(option agent.remote-id, 6));
            set SwitchPort = binary-to-ascii(10, 8, "", suffix(option agent.circuit-id, 2));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }

{% for user in users %}
  {% if user.ips.0.ipa && user.ips.0.type eq 'static' && user.connection.0 && user.ips.0.ip >= inet.aton('10.1.1.1') && user.ips.0.ip <= inet.aton('10.1.1.64') %}
    {% if user.connection.0.oneconnect %}
        pool { range {{user.ips.0.ipa}}; allow members of "host{{user.ips.0.ipa}}"; }
    {% else %}
        host host{{user.ips.0.ipa}} { hardware ethernet {{user.connection.0.mac|pretty_mac}}; fixed-address {{user.ips.0.ipa}}; }
    {% endif %}
  {% endif %}
{% endfor %}

}
}
.........................
Динамика нужна только для регистрации абонентов, все остальные на статике. Включено  ip-source Все работает стабильно.
Из плохого. В данном конфиге порт, это портOLT + номер ONU. А надо бы просто порт ONU - буду переделывать.
Проблема с переключальщиками решена костылем, раз в десть минут по крону обнуляется лиза. Патч на dhcp, чесно говоря не нашел. Хоть надо подумать с временем аренды поиграть.
 


Название: Re: DHCP
Отправлено: tom от 05 Марта 2018, 19:28:57
Вітаю.
є такий ньюанс. В білінг заведений користувач, в розділі мак - поставив галочку oneconnect=1. Коли новий користувач авторизується по вебу, oneconnect затирається і ставиться значення 0. Це можна виправити?


Название: Re: DHCP
Отправлено: Gosha от 05 Марта 2018, 21:46:22
Вітаю.
є такий ньюанс. В білінг заведений користувач, в розділі мак - поставив галочку oneconnect=1. Коли новий користувач авторизується по вебу, oneconnect затирається і ставиться значення 0. Це можна виправити?
Якщо стоїть один на порту(oneconnect=1), то це означає, що у клієнта встановлений статичний IP, і незалежно від мака він одержить свій IP без регістрації, по маку і порту обладнання. Можливо проблеми з конфігом dhcp? 


Название: Re: DHCP
Отправлено: tom от 06 Марта 2018, 05:08:04
Ну наскільки я розібрався, це означає зовсім інше. І до типу ір відношення не має.
Цитировать
2) Если создать допполе:
имя в БД: _oneconnect
тип: Да/Нет
имя: один на порту

и у определенного клиента(тов) установить в значение "да", то после того как клиент авторизует свое подключение, у этого подключения будет поставлена галка "один клиент на порту". Это означает, что при смене мак-адреса (т.е при подключении другого компьютера, ноута, роутера и т.д.) у клиента пароль спрашиваться не будет. Естественно, это имет смысл только для ситуации если к текущему порту подключен только один клиент, т.е в биллинге запоминается "на этом свиче и порту клиент Иванов, неважно какой мак".

При авторизацій - заноситься обладнання і порт. І перезаписуєтсья oneconnect=0, а мало б не чіпати цей параметр.


Название: Re: DHCP
Отправлено: Gosha от 06 Марта 2018, 14:05:19
Тоді навіщо Вам ставити "один на порту", якщо адреси на цей порт віддаються динамічно? Наскільки я розумію, весь смисл в тому, щоб на порту X обладнання , і Y порту, був завжди один IP, не залежно від обладнання ,  яке в нього вставлене.


Название: Re: DHCP
Отправлено: tom от 06 Марта 2018, 15:18:31
В мене інше розуміння. Один на порту - щоб авторизувати будького, хто є на цьому порту. Тобто провірки по маку вже не має, лише пристрій-порт. А філософія Н+, як казав Стас, пофіг який ір. Паролем для авторизації є або мак, або в даному випадку - пристрій-порт.


Название: Re: DHCP
Отправлено: Efendy от 06 Марта 2018, 15:38:45
Вітаю.
є такий ньюанс. В білінг заведений користувач, в розділі мак - поставив галочку oneconnect=1. Коли новий користувач авторизується по вебу, oneconnect затирається і ставиться значення 0. Це можна виправити?
Когда он попадает на заглушку и с нее в личный кабинет чтоб зарегать свое подключение?


Название: Re: DHCP
Отправлено: Gosha от 06 Марта 2018, 20:16:59
В мене інше розуміння. Один на порту - щоб авторизувати будького, хто є на цьому порту. Тобто провірки по маку вже не має, лише пристрій-порт. А філософія Н+, як казав Стас, пофіг який ір. Паролем для авторизації є або мак, або в даному випадку - пристрій-порт.
Це получається, що в кабінеті клієнта нема IP, але є мак(де встановлений мак і порт обладнання, а також один на порту). І коли клієнт одержує динаміку , він автоматично , без регістрації попадає в інет. Не знав про таку функцію модуля.


Название: Re: DHCP
Отправлено: tom от 06 Марта 2018, 22:42:52
Вітаю.
є такий ньюанс. В білінг заведений користувач, в розділі мак - поставив галочку oneconnect=1. Коли новий користувач авторизується по вебу, oneconnect затирається і ставиться значення 0. Це можна виправити?
Когда он попадает на заглушку и с нее в личный кабинет чтоб зарегать свое подключение?
Ага


Название: Re: DHCP
Отправлено: tom от 06 Марта 2018, 22:43:51
В мене інше розуміння. Один на порту - щоб авторизувати будького, хто є на цьому порту. Тобто провірки по маку вже не має, лише пристрій-порт. А філософія Н+, як казав Стас, пофіг який ір. Паролем для авторизації є або мак, або в даному випадку - пристрій-порт.
Це получається, що в кабінеті клієнта нема IP, але є мак(де встановлений мак і порт обладнання, а також один на порту). І коли клієнт одержує динаміку , він автоматично , без регістрації попадає в інет. Не знав про таку функцію модуля.
Абсолютно вірно. Так зараз працює


Название: Re: DHCP
Отправлено: tom от 07 Марта 2018, 01:01:26
Подивився по коду create.user.dhcp.pl - не має затиратися. Буду ще тести проводити.


Название: Re: DHCP
Отправлено: Efendy от 07 Марта 2018, 08:23:41
Подивився по коду create.user.dhcp.pl - не має затиратися. Буду ще тести проводити.
Да. Я тоже посмотрел. Не должно


Название: Re: DHCP
Отправлено: tom от 09 Марта 2018, 14:51:44
Всетак обнуляє, спробую варіанти, і скажу логіку дій коли так виходить.


Название: Re: DHCP
Отправлено: tom от 10 Марта 2018, 04:13:31
І ще ньюансік. Якщо вибрав пристрій через форму - все ок, збереглось. Якщо робиш якісь зміни - змінити галочку в один на порту, то влан пристрою змінюється на формат мак-адрес і змінити його можна лише через форму вибору пристрою. Стас, де пофіксити це?


Название: Re: DHCP
Отправлено: tom от 10 Марта 2018, 04:37:30
Стас, чи вірно я зрозумів мій глюк зі зміною галочки один на порту.

в radreply є така операція з невідомим абоном
        INSERT INTO mac_uid VALUES(
            NULL, usr_mac, INET_ATON(usr_ip), 0, UNIX_TIMESTAMP(), dev_mac, port, 0)
тут 0 зявляється. і мабуть, коли авторизується клієнт по логіну паролю, це значення поля вже не міняється. Можеш перевірити?


Название: Re: DHCP
Отправлено: Efendy от 10 Марта 2018, 09:41:27
В каком файле этот sql? Не нашел у себя его


Название: Re: DHCP
Отправлено: tom от 10 Марта 2018, 12:40:24
процедура radreply
h t t p://nodeny.com.ua/wiki/index.php/Dhcp%2BRadius


Название: Re: DHCP
Отправлено: Efendy от 10 Марта 2018, 16:34:53
Да, эти процедуры не предусматривают опцию 82. С опцией 82 у fet4 процедуры, но как видно у него пока не все хорошо работает


Название: Re: DHCP
Отправлено: tom от 10 Марта 2018, 16:37:14
Ну я підправив, вроді все добре відпрацьовує. В мене QinQ, без опції 82


Відразу хочу поділитися, бо не знайшов на форумі. Коли ми видаємо ір клієнту, що не внесений бд - потрібно якось його редіректнуть на заглушку. Для цього в процедуру radreply  потрібно додати в розідл, де видається ір не внесеним в бд клієнтам, тобто клієнта з uid=0 або NULL, ось такі рядки.. для ассель

        SELECT NULL, login, 'L4-Redirect', '1', '=';
        SELECT NULL, login, 'L4-Redirect-ipset', 'test', '=';

І тоді запрацює як потрібно. При видачі ір невідомому клієнту -редірект на заглушку, після того як привязали параметри авторизації до клієнта, вже відпрацює СОА модуль


Название: Re: DHCP
Отправлено: tom от 10 Марта 2018, 16:46:50
Да, эти процедуры не предусматривают опцию 82. С опцией 82 у fet4 процедуры, но как видно у него пока не все хорошо работает
тут не важливо про опцію, тут важливо що у всих варіантах вноситься 0. Ну тут як би нічого не поробиш, бо ми не знаємо чи це клієнт один на порту чи ні. А от в момент привязки, малося б додати в запис БД, що не тільки уід в тамблицю mac_uid, а ще й значення oneconnect.

Чи не так?


Название: Re: DHCP
Отправлено: fet4 от 11 Марта 2018, 13:37:22
Цитировать
А от в момент привязки, малося б додати в запис БД, що не тільки уід в тамблицю mac_uid, а ще й значення oneconnect.

Так и происходит если установлено в админке доп поле "Один на порту" в "Да".


Название: Re: DHCP
Отправлено: tom от 11 Марта 2018, 13:43:46
Не відбувається (( нажаль


Название: Re: DHCP
Отправлено: fet4 от 11 Марта 2018, 14:20:51
Не відбувається (( нажаль
Пока покажи пару строк с шапкой
Код:
SELECT * FROM `data0`


Название: Re: DHCP
Отправлено: tom от 11 Марта 2018, 15:22:44
Поняв )
Дякую. Попробую.


Название: Re: DHCP
Отправлено: Gosha от 31 Мая 2018, 11:48:20
Работал у меня модуль dhcp (не менял с 2016-го года) , и тут решил обновить.
Возникли проблемы. Нет в настройках клиента "Добавить мак" , у клиентов с маком нет кнопки "сохранить".
В дебаге ошибок нет. 
Nodeny Rev: 520, версия модуля последняя.
Откатился на старую версию, пока разбираюсь на тестовом биллинге.
Что может быть?


Название: Re: DHCP
Отправлено: Cell от 31 Мая 2018, 12:53:50
Посмотри внимательно, скорее всего у тебя install.pl -x не до конца выполнился по какой-то причине. У меня 520 ревизия - все на местах.


Название: Re: DHCP
Отправлено: Gosha от 31 Мая 2018, 15:05:45
Разобрался. Это я протупил.
Дело в том, что в более новых версиях нужно было задать привилегии в настройках админа.
Хорошо , что есть дубликат биллинга для экспериментов...  :)


Название: Re: DHCP
Отправлено: tom от 23 Августа 2018, 21:03:03
Есть неприятная ситуация.

Есть клиенты на pon у которых стоит один на порту+фиксированное подключение, авторизация по mac свича + порт.

Сигментировали сеть, сменили vlan и подсеть.

У клиента не проходит авторизаци
Код:
10.11.2017 19:04:00 Duplicate entry 'e894f6b07995' for key 'mac'

{
  'sql' => 'UPDATE mac_uid SET time=UNIX_TIMESTAMP(), ip=INET_ATON(?), mac=? WHERE device_mac=? AND device_port=? AND oneconnect>0',
  'param' => [
    '10.194.132.19',
    'e894f6b07995',
    'e067b31533b2',
    1
  ]
};

 UPDATE mac_uid SET time=UNIX_TIMESTAMP(), ip=INET_ATON('10.194.132.19'), mac='e894f6b07995' WHERE device_mac='e067b31533b2' AND device_port='1' AND oneconnect>0
10.11.2017 19:04:00 Connecting to DBI:mysql:database=nodeny;host=localhost;port=3306;mysql_connect_timeout=5 : 0.000274 sec
10.11.2017 19:04:00 INSERT INTO mac_uid SET uid=0, mac='e894f6b07995', device_mac='e067b31533b2', device_port='1', ip=INET_ATON('10.194.132.19'), time=UNIX_TIMESTAMP() ON DUPLICATE KEY UPDATE device_mac='e067b31533b2', device_port='1', ip=INET_ATON('10.194.132.19'), time=UNIX_TIMESTAMP()
Строк: 1. Время выполнения sql: 0.0003 сек
10.11.2017 19:04:00 SELECT uid FROM mac_uid WHERE mac='e894f6b07995' AND device_mac='e067b31533b2' AND device_port='1'
Строк: 1. Время выполнения sql: 0.0001 сек
10.11.2017 19:04:00 UPDATE ip_pool SET uid=0 WHERE ip=INET_ATON('10.194.132.19') AND type='dynamic'
Строк: 1. Время выполнения sql: 0.0002 сек

10.11.2017 19:04:00 [commit] ip=10.194.132.19, mac=e8:94:f6:b0:79:95, mac_ok=e894f6b07995, port=e067b31533b2[1] | Необходима регистрация мака


Почему так? и как побороть? Вроде один на порту, всеравно какой ip и vlan, авторизуем по маку свича и порта.

Заранее спасибо.


Хтось придумав як боротися з дублями маків при один на порту? Якби боротися там немає з чим, як краще робити в такій ситуації?


Название: Re: DHCP
Отправлено: md5 от 18 Сентября 2018, 13:59:21
я поставил патч от dd на дхцп сервер. это в слущае если со свичами работаешь



Название: Re: DHCP
Отправлено: Cell от 18 Сентября 2018, 14:31:08
я поставил патч от dd на дхцп сервер. это в слущае если со свичами работаешь
Я тоже так сделал, но не только лишь все такое смогут т.к. патчить практически вручную пришлось
а оно потом еще собираться не хотело.


Название: Re: DHCP
Отправлено: md5 от 18 Сентября 2018, 16:11:15
я поставил патч от dd на дхцп сервер. это в слущае если со свичами работаешь
Я тоже так сделал, но не только лишь все такое смогут т.к. патчить практически вручную пришлось
а оно потом еще собираться не хотело.

на версию 4.3.1 становится. Ты прав только руками править

прилепил файл с версией 4.3.1
удалите в портах новую версию /usr/ports/net/isc-dhcp43-server

и замените этой версией
сам патч. править только руками

Код:
diff -Naur dhcp-4.2.6.orig/common/bpf.c dhcp-4.2.6/common/bpf.c
--- dhcp-4.2.6.orig/common/bpf.c 2014-02-01 01:35:09.000000000 +0600
+++ dhcp-4.2.6/common/bpf.c 2014-07-09 23:56:26.603356968 +0600
@@ -575,6 +575,7 @@
  */
         switch (sa->sdl_type) {
                 case IFT_ETHER:
+                case IFT_L2VLAN:
                         hw->hlen = sa->sdl_alen + 1;
                         hw->hbuf[0] = HTYPE_ETHER;
                         memcpy(&hw->hbuf[1], LLADDR(sa), sa->sdl_alen);
diff -Naur dhcp-4.2.6.orig/server/dhcp.c dhcp-4.2.6/server/dhcp.c
--- dhcp-4.2.6.orig/server/dhcp.c 2014-02-01 01:35:09.000000000 +0600
+++ dhcp-4.2.6/server/dhcp.c 2014-07-09 23:56:31.427356932 +0600
@@ -31,6 +31,8 @@
 #include <limits.h>
 #include <sys/time.h>
 
+extern int flag_dd_option;
+
 static void commit_leases_ackout(void *foo);
 static void maybe_return_agent_options(struct packet *packet,
         struct option_state *options);
@@ -4181,8 +4183,12 @@
  {
  if (pool -> free)
  candl = pool -> free;
- else
+ else if (pool -> abandoned)
  candl = pool -> abandoned;
+ else if (flag_dd_option) {
+ candl = pool -> active;
+ candl -> ends = cur_time;
+ }
  }
 
  /*
diff -Naur dhcp-4.2.6.orig/server/dhcpd.c dhcp-4.2.6/server/dhcpd.c
--- dhcp-4.2.6.orig/server/dhcpd.c 2014-02-01 01:35:09.000000000 +0600
+++ dhcp-4.2.6/server/dhcpd.c 2014-07-10 00:00:42.159355085 +0600
@@ -42,6 +42,8 @@
 #include <sys/types.h>
 #include <sys/time.h>
 
+int flag_dd_option = 0;
+
 #if defined (PARANOIA)
 #  include <sys/types.h>
 #  include <unistd.h>
@@ -334,6 +336,8 @@
  usage ();
  set_chroot = argv [i];
 #endif /* PARANOIA */
+ } else if (!strcmp (argv [i], "-dd")) {
+   flag_dd_option = 1;
  } else if (!strcmp (argv [i], "-cf")) {
  if (++i == argc)
  usage ();
@@ -1225,7 +1229,7 @@
    "             [-tf trace-output-file]\n"
    "             [-play trace-input-file]\n"
 #endif /* TRACING */
-   "             [-pf pid-file] [--no-pid] [-s server]\n"
+   "             [-pf pid-file] [--no-pid] [-s server] [-dd]\n"
    "             [if0 [...ifN]]");
 }
 #endif


Название: Re: DHCP
Отправлено: md5 от 18 Сентября 2018, 16:41:32
Вот тогда тут ворой вопрос.

Есть олт ZTE... на епоне маки в формате xxxx.xxxx.xxxx
На жпоне используеться серийный номер в формате XXXXXXXXXXXX

В данный момент на 50й версии я подкрутил регулярками что бы можно было такие маки добавлять, естественно на олте используеться 82я.. Но там криво чуть работает.

мне приходится класы скриптами формировать вот в таком формате

Код:
class "ZTEGC108F8AC" { match if substring(option agent.remote-id, 0, 14)="ZTEGC108F8AC";}
class "a0c6.ec06.8309" { match if substring(option agent.remote-id, 0, 14)="a0c6.ec06.8309";}

тут назревает вопрос. Как организовать это всю процедуру не добавляя юзерских ону в оборудку ?



Название: Re: DHCP
Отправлено: cojiict от 18 Сентября 2018, 23:44:20
Стас. Поправ в модулі
Код:
 Db->do("ALTER TABLE mac_uid ADD comment VARCHAR(256) DEFAULT NULL AFTER oneconnect");
потрібні '  замість "


Название: Re: DHCP
Отправлено: md5 от 24 Сентября 2018, 12:09:38
Так что есть какое то решение по моему вопросу ?


Название: Re: DHCP
Отправлено: tom от 24 Сентября 2018, 17:28:21
Використовуй влан на користувача ))

В мене теж питання, поки не знайшов на форумі. Хтось реалізовував систему з динамічними ір, коли на одну учотку більше одного мака?

Відразу модуль з логінами до статичних ір, не дуже підходить, він для ппое.


Название: Re: DHCP
Отправлено: Efendy от 25 Сентября 2018, 11:00:36
Можно в поле "комментарий" там, где указывается мак, указывать номер ip в списке ip. Костыльное решение, правда. Подходит?


Название: Re: DHCP
Отправлено: md5 от 25 Сентября 2018, 11:42:19
Можно в поле "комментарий" там, где указывается мак, указывать номер ip в списке ip. Костыльное решение, правда. Подходит?

не совсем.. на зте олте опция82 работает иначе..
Вот допустим:

Код:
interface gpon-onu_1/2/1:4
  switchport mode hybrid vport 1
  service-port 1 vport 1 user-vlan 2355 vlan 2355
  port-location format flexible-syntax vport 1
  port-location sub-option remote-id enable vport 1
  port-location sub-option remote-id name [b]NGPN100008AC[/b] vport 1
  dhcp-option82 enable vport 1
  dhcp-option82 trust true replace vport 1
  ip dhcp snooping enable vport 1
  ip access-group 300 in vport 1
!

  port-location sub-option remote-id name NGPN100008AC vport 1

NGPN100008AC вот это указывается в место agent.remote-id

собсвенно и получается что класс формируеться таким образом
class "NGPN100008AC" { match if substring(option agent.remote-id, 0, 14)="NGPN100008AC";}

Тут стоит вопрос. Как сделать так, что бы формировался класс так же как и на свич, только без добавления в группу оборудования


Название: Re: DHCP
Отправлено: Efendy от 25 Сентября 2018, 12:58:29
Я отвечал tom для варианта с динамическими ip. У тебя ж я так понял конфиг формируется скриптом? я не сильно вчитывался в тред


Название: Re: DHCP
Отправлено: tom от 25 Сентября 2018, 21:23:02
Ааа, ну шикарне рішення наче. Таким чином модернізувати модуль привязки ір до логіна?


Название: Re: DHCP
Отправлено: Efendy от 25 Сентября 2018, 23:08:39
я тут подумал, что в самой таблице mac_uid есть поле ip, но оно нужно для схемы с динамическими ip и стираются время от времени (иначе нельзя). Подумаю как для статических ip заюзать


Название: Re: DHCP
Отправлено: tom от 25 Сентября 2018, 23:34:55
ну поки проблема одна, в процедурі get_ip_by_tag.  Там шукається ір по usr_id в таблиці ip_pool, і коли перший отримав ір, то наступний хто конектиться - отримує туж ір, і далі вже наслідки зрозумілі )

P.S. Мені статика не обовязкова


Название: Re: DHCP
Отправлено: Efendy от 26 Сентября 2018, 10:27:48
Ну давай сделаем если надо 2 мака на учетку, то будет статика?


Название: Re: DHCP
Отправлено: tom от 26 Сентября 2018, 12:52:25
Ну ми ж не можемо обмежувати кількість маків ))) Так, можна й статику. Це потрібно зробити новий пул?


Название: Re: DHCP
Отправлено: Efendy от 26 Сентября 2018, 12:58:12
Ну ми ж не можемо обмежувати кількість маків ))) Так, можна й статику. Це потрібно зробити новий пул?
Новый пул "статические" и на учетку любое количество маков. Конечно их придется регать вручную - это минус. Но таких абонов не много по идее.


Название: Re: DHCP
Отправлено: tom от 26 Сентября 2018, 13:28:11
Таких абонів трішки є - це студенські гуртожитки. Але введення вручну - то буде норм. А у випадку з веб авторизацією, як відобразиться це на інших мака учотки? Чи буде лише перший перезаписувати?


Название: Re: DHCP
Отправлено: Efendy от 26 Сентября 2018, 15:41:19
Кстати, под какую схему мы делаем? dhcp + radius? По этой доке http://nodeny.com.ua/wiki/index.php/Dhcp%2BRadius


Название: Re: DHCP
Отправлено: tom от 26 Сентября 2018, 16:22:29
accel+radius. Так, ця дока за основу. авторизація по влану і порту


Название: Re: DHCP
Отправлено: tom от 26 Сентября 2018, 16:28:52
http s://pastebin.com/fLjPVkz2 -  radupdate
http s://pastebin.com/L3d4zWXT -  radrepy


Название: Re: DHCP
Отправлено: md5 от 27 Сентября 2018, 14:57:59
Я отвечал tom для варианта с динамическими ip. У тебя ж я так понял конфиг формируется скриптом? я не сильно вчитывался в тред

да формируется скриптом


Название: Re: DHCP
Отправлено: Efendy от 27 Сентября 2018, 15:27:26
Обновил модуль dhcp. В настройках подключений, там, где вручную можно ввести мак-адрес, если у абона в данный момент подключен один или больше статических ip, то можно эти ip привязать к мак-адресу - смотрите прикрепление.

ip записывается в таблицу mac_uid. Напомню, что в этой таблице поле ip нужен для регистрации подключений неизвестных абонов и не играет роли при выдаче ip радиусом. Но я решил в этом же поле хранить и статические ip. При этом важно переделать процедуры mysql чтобы они:
1) не перетирали поле ip, что нужно для динамических ибо они могут плясать по абонам
2) выдавать ip не через get_ip

Вот переделанная процедураиз доки http://nodeny.com.ua/wiki/index.php/Dhcp%2BRadius :

Код:
DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64))
BEGIN
    DECLARE usr_mac VARCHAR(12);
    DECLARE usr_ip VARCHAR(15);
    DECLARE usr_id INT;
    SELECT REPLACE(login, ':', '') INTO usr_mac;
    SELECT uid INTO usr_id FROM mac_uid WHERE mac=usr_mac;
    IF usr_id IS NOT NULL AND usr_id>0 THEN
        SELECT INET_NTOA(m.ip) INTO usr_ip FROM mac_uid m JOIN ip_pool i ON m.ip=i.ip AND m.uid=i.uid
            WHERE i.type='static' AND m.mac=usr_mac;
        IF usr_ip IS NULL THEN
            SELECT get_ip(usr_id) INTO usr_ip;
            UPDATE mac_uid SET ip=INET_ATON(usr_ip), time=UNIX_TIMESTAMP() WHERE uid=usr_id;
        END IF;
        UPDATE mac_uid SET ip=0 WHERE ip=INET_ATON(usr_ip) AND uid<>usr_id;
    ELSE
        START TRANSACTION;
        SELECT INET_NTOA(ip) INTO usr_ip FROM ip_pool
            WHERE uid=0 AND type='dynamic' AND `release` < UNIX_TIMESTAMP()
            ORDER BY RAND() LIMIT 1 FOR UPDATE;
        INSERT INTO mac_uid VALUES(
            NULL, usr_mac, INET_ATON(usr_ip), 0, UNIX_TIMESTAMP(), 0, 0, 0, '')
        ON DUPLICATE KEY
            UPDATE ip=IF(ip>0,ip,INET_ATON(usr_ip)), time=UNIX_TIMESTAMP();
        COMMIT;
        SELECT INET_NTOA(ip) INTO usr_ip FROM mac_uid WHERE mac=usr_mac;
        UPDATE ip_pool SET `release` = UNIX_TIMESTAMP() + 3600
            WHERE ip = INET_ATON(usr_ip);
    END IF;
    SELECT NULL, login, 'Framed-IP-Address', usr_ip, '=';
    SELECT NULL, login, 'Session-Timeout', '600', '=';
END$$
DELIMITER ;

Был переделан этот фрагмент:

Код:
SELECT INET_NTOA(m.ip) INTO usr_ip FROM mac_uid m JOIN ip_pool i ON m.ip=i.ip AND m.uid=i.uid
            WHERE i.type='static' AND m.mac=usr_mac;
        IF usr_ip IS NULL THEN
            SELECT get_ip(usr_id) INTO usr_ip;
            UPDATE mac_uid SET ip=INET_ATON(usr_ip), time=UNIX_TIMESTAMP() WHERE uid=usr_id;
        END IF;


Название: Re: DHCP
Отправлено: tom от 27 Сентября 2018, 18:07:47
Дякую, відпишусь по результату. А як буде відпрацьовуватися веб авторизація невідомого абона. Тобто, якщо абон підключиться і введе логін пароль учотки з більше 1го мака?


Название: Re: DHCP
Отправлено: tom от 27 Сентября 2018, 19:59:15
Для аккаунтінга - потрібно аналогічно поправити процедуру radupdate

Наче все працює решта. Тестуємо. Скинь в приват номер карти та сумму. Дякую!


Название: Re: DHCP
Отправлено: Efendy от 28 Сентября 2018, 09:50:08
Погоди. Я еще подумаю как сделать чтоб при новом маке выдавался не привязанный статический ip, а динамический. Либо, я думаю, наверное был бы неплохим вариантом привязывать статический. Только нужно где-то галку в настройках предусмотреть чтоб выдавала временно динамический либо на постоянку статический. Вообще, с выдачей статических мы бы хорошо решили все эти проблемы с локами. Динамику оставить только для белых ip


Название: Re: DHCP
Отправлено: tom от 28 Сентября 2018, 18:43:08
Мені взагалі подобається ідея відхдоту від статичних ір. Статика тільки на реалках є )


Название: Re: DHCP
Отправлено: tom от 28 Сентября 2018, 20:04:04
Щось не працює блокування ір. Модуль СоА.
там нічого не тре підправляти?

Авторизація Radius відпрацьовує, а от СоА - ні.


Название: Re: DHCP
Отправлено: tom от 01 Октября 2018, 22:40:46
Так СоА і не працює, коли більше 1го мака на клієнта..


Название: Re: DHCP
Отправлено: tom от 04 Октября 2018, 18:44:22
Апну. Бо вже скоро тре блокувати. А воно не того...


Название: Re: DHCP
Отправлено: tom от 07 Октября 2018, 19:09:10
Еммм. ап. Будемо флудити, може зверне Стас увагу )


Название: Re: DHCP
Отправлено: tom от 14 Октября 2018, 03:35:31
Апаю тему.
І ще, б по можливості хотілось поправити видачу реальних ір.
Наприклад спочатку вибрати з яких пулів вибирати ір, а потім вже підставляти перші вільні?


Название: Re: DHCP
Отправлено: md5 от 15 Октября 2018, 09:52:18
Появилась такая проблема!

из пула выдаю клиенту ip да бы просто что бы можно было его зарегить в кабинете.
в биллинге ip-pool динамический я не добавляю.
после регистрации выдаю статику. Это все дело привязываю к свичу с опцией82. В итоге конфиг получается такой.

Цитировать
option domain-name-servers 8.8.8.8;
default-lease-time 28800;
min-lease-time 10000;
max-lease-time 128800;
authoritative;
ddns-update-style interim;
log-facility local7;
     class "host10.100.62.5" { match if suffix(option agent.circuit-id,1)=1 and suffix(option agent.remote-id,6)=10:47:80:10:12:f5; }
shared-network vlan62 {
    subnet 10.100.62.0 netmask 255.255.254.0 {
    option subnet-mask 255.255.254.0;
    option broadcast-address 10.100.63.255;
    option routers 10.100.62.1;
    range 10.100.63.2 10.100.63.254;
    allow unknown-clients;
        on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort = "";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", suffix(option agent.remote-id, 6));
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
        }
        pool { range 10.100.62.5; allow members of "host10.100.62.5"; }
    }
}

но по случае мне этот ип не прилетает. опять с пула тот же самый.
меняю мак, т.к. опция 82 включена, класс сформирован, и получаю другой ip.
Подскажите что я не так делаю ?


Название: Re: DHCP
Отправлено: tom от 25 Октября 2018, 13:35:35
Апну тему знову


Название: Re: DHCP
Отправлено: tom от 18 Ноября 2018, 11:07:34
АП
1) Не блочить з двома маками
2) Видача реальних IP. по пулу


Название: Re: DHCP
Отправлено: tom от 01 Декабря 2018, 12:25:57
Ап


Название: Re: DHCP
Отправлено: NodenY45 от 19 Марта 2019, 22:22:23
Есть мысли для ухода с опции82 на QinQ.
Как можно переделать DHCP модуль чтобы вместо мак адреса девайса(свича) можно было записать Внешний влан на свич(на скриншоте 100), а в порт внутренний влан клиента(например 2001, для первого порта, для второго 2002 и тд)?

Но как видно из скриншота, мак устройства забивает нулями. Внешний и внутренний влан будет передаваться через радиус процедуры.


Название: Re: DHCP
Отправлено: Efendy от 20 Марта 2019, 13:58:16
Не хочется убирать логику по преобразованию мак-ов, поскольку часто их копируют с разделителями, без предстоящих нулей. Могу сделать переменную да/нет, которая будет глобально отключать преобразование маков. Устроит?

И я так понял, что с вланом абонента все ок?


Название: Re: DHCP
Отправлено: NodenY45 от 20 Марта 2019, 22:59:53
Не хочется убирать логику по преобразованию мак-ов, поскольку часто их копируют с разделителями, без предстоящих нулей. Могу сделать переменную да/нет, которая будет глобально отключать преобразование маков. Устроит?

И я так понял, что с вланом абонента все ок?

C вланом абонента все ок, в поле порт можно залить любое число)

Можно ли просто добавить условие в проверку мака оборудования, "если это число от 1 до 4096, то не преобразовывать мак"? (мало встречаются таких маков, как 00:00:00:00:02:00 например, а вот влан 200 да :) )

PS. Только планируем уход от опт82 на влан на клиента, нужно чтобы сохранялась текущая функциональность(не сможем так быстро всех перевести).
А такой функционал, я думаю, пригодился бы и другим форумчанам.


Название: Re: DHCP
Отправлено: Efendy от 21 Марта 2019, 01:48:11
Можно ли просто добавить условие в проверку мака оборудования, "если это число от 1 до 4096, то не преобразовывать мак"? (мало встречаются таких маков, как 00:00:00:00:02:00 например, а вот влан 200 да :) )
норм идея


Название: Re: DHCP
Отправлено: NodenY45 от 21 Марта 2019, 09:32:35
Можно ли просто добавить условие в проверку мака оборудования, "если это число от 1 до 4096, то не преобразовывать мак"? (мало встречаются таких маков, как 00:00:00:00:02:00 например, а вот влан 200 да :) )
норм идея

Когда можно будет обновить модуль дхцп?  ;D


Название: Re: DHCP
Отправлено: Efendy от 22 Марта 2019, 15:57:57
Можно ли просто добавить условие в проверку мака оборудования, "если это число от 1 до 4096, то не преобразовывать мак"?

Когда можно будет обновить модуль дхцп?  ;D
сейчас


Название: Re: DHCP
Отправлено: NodenY45 от 23 Марта 2019, 17:02:17
Можно ли просто добавить условие в проверку мака оборудования, "если это число от 1 до 4096, то не преобразовывать мак"?

Когда можно будет обновить модуль дхцп?  ;D
сейчас

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


Название: Re: DHCP
Отправлено: tom от 25 Марта 2019, 11:26:20
рекомендую робити по іншому. занесіть в групу комутатори свіч з ід=номер влана. Буде наглядніше і зручніше


Название: Re: DHCP
Отправлено: sedo26 от 21 Мая 2019, 15:34:06
Подскажите, а есть у кого нить проблеммы с абонентами на win 8 и 10, при условии что кабель от коммутатора включен напрямую к ПК - после гибернации (и спящего режима).
Авторизация у абонента есть, адрес - есть,  доступ к интернету - отсутствует (пингуются 1.1.1.1 и 8.8.8.8).
После перезагрузки ПК - интернет появляется. И главное такое наблюдается не у всех.


Название: Re: DHCP
Отправлено: Nafanya от 22 Июля 2019, 21:41:24
Установил билинг. Пустил его в бой.  Снова нарисовалась таже проблема, что и на предыдущем серваке.
Запустил без нагрузки. Перекинул шланги. Пошла нагрузка. Ставлю модули подгоняю систему делаю perl install.pl -x.
И при прохождении дхцп зависает. Удаляю модуль делаю опять perl install.pl -x все начинает крутиться.
У меня мысли лезут в сторону базы. Может там есть где ошибка? Если так, то как это исправить. В мускуле не силен. Просьба - помогите.


Название: Re: DHCP
Отправлено: Nafanya от 23 Июля 2019, 15:15:36
Установил билинг. Пустил его в бой.  Снова нарисовалась таже проблема, что и на предыдущем серваке.
Запустил без нагрузки. Перекинул шланги. Пошла нагрузка. Ставлю модули подгоняю систему делаю perl install.pl -x.
И при прохождении дхцп зависает. Удаляю модуль делаю опять perl install.pl -x все начинает крутиться.
У меня мысли лезут в сторону базы. Может там есть где ошибка? Если так, то как это исправить. В мускуле не силен. Просьба - помогите.
Подкидываю дополнительную информацию. Может кто подскажет.
Цитировать
FreeBSD WoodyNet 11.3-STABLE FreeBSD 11.3-STABLE #0 r350073: Thu Jul 18 02:54:59 UTC 2019    

 root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64

This is perl 5, version 28, subversion 2 (v5.28.2) built for amd64-freebsd-thread-multi

Copyright 1987-2019, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.


Цитировать
Start. Flag -h for help
loading /usr/local/nodeny/sat.cfg
<<< Подключение всех модулей >>>

--- Модуль NoDeny ---

--- Модуль cards ---
Файл create.ajCardInfo.pl
  { file=>'web/ajCardInfo.pl',hook=>'new' }
Файл create.cards.pl
  { file=>'web/cards.pl',hook=>'new' }
Файл create.user.cards.pl
  { file=>'web/user/cards.pl',hook=>'new' }
Файл patch.main.pl
  { file=>'web/main.pl',hook=>'buttons' }
  { file=>'web/main.pl',hook=>'end' }
Файл patch.tune.cfg
  { file=>'cfg/RU/tune.cfg',hook=>'end' }
  { file=>'cfg/UA/tune.cfg',hook=>'end' }
Файл patch.web_plugins.list
  { file=>'cfg/web_plugins.list',hook=>'user' }

--- Модуль MyNetwork ---
Файл patch.RU_user.pl
  { file=>'web/lang/RU_user.pl',hook=>'main' }
Файл patch.web_plugins
Файл patch.UA_user.pl
  { file=>'web/lang/RU_user.pl',hook=>'main' }
Файл create.lang.RU_cap.pl
  { file=>'web/lang/RU_cap.pl',hook=>'new' }

--- Модуль company_pay ---
Файл create.company_pay.pl
  { file=>'web/company_pay.pl',hook=>'new' }
Файл create.help.company_pay.html
  { file=>'web/help/RU/company_pay.html',hook=>'new' }
  { file=>'web/help/UA/company_pay.html',hook=>'new' }
Файл patch.main.pl
  { file=>'web/main.pl',hook=>'buttons' }

--- Модуль fondy ---
Файл patch.web_plugins.list
  { file=>'cfg/web_plugins.list',hook=>'user' }
Файл patch.tune.cfg
  { file=>'cfg/RU/tune.cfg',hook=>'paysystems' }
  { file=>'cfg/UA/tune.cfg',hook=>'paysystems' }
Файл create.user.fondy.pl
  { file=>'web/user/fondy.pl',hook=>'new' }
Файл patch.LANG.pl
  { file=>'web/lang/RU_user.pl',hook=>'end' }
  { file=>'web/lang/UA_user.pl',hook=>'end' }
Файл patch.NOW.pl
  { file=>'web/Pay.pl',hook=>'subs' }

--- Модуль houselist ---
Файл patch.users.pl
  { file=>'web/users.pl',hook=>'other_top_menu' }

--- Модуль credit ---
Файл create.user.credit.pl
  { file=>'web/user/credit.pl',hook=>'new' }
Файл patch.ajUserInfo2.pl
  { file=>'web/ajUserInfo2.pl',hook=>'finish' }
Файл patch.LANG.pl
  { file=>'web/lang/RU_user.pl',hook=>'end' }
  { file=>'web/lang/UA_user.pl',hook=>'end' }
  { file=>'web/lang/RU.pl',hook=>'user_menu_buttons' }
  { file=>'web/lang/UA.pl',hook=>'user_menu_buttons' }
  { file=>'web/lang/UA.pl',hook=>'end' }
Файл patch.tune.cfg
  { file=>'cfg/RU/tune.cfg',hook=>'modules' }
  { file=>'cfg/UA/tune.cfg',hook=>'modules' }
Файл patch.web_plugins.list
  { file=>'cfg/web_plugins.list',hook=>'user' }

--- Модуль credit2 ---
Файл create.user.credit2.pl
  { file=>'web/user/credit2.pl',hook=>'new' }
Файл patch.ajUserInfo2.pl
  { file=>'web/ajUserInfo2.pl',hook=>'finish' }
Файл patch.LANG.pl
  { file=>'web/lang/RU_user.pl',hook=>'end' }
  { file=>'web/lang/UA_user.pl',hook=>'end' }
  { file=>'web/lang/RU.pl',hook=>'user_menu_buttons' }
  { file=>'web/lang/UA.pl',hook=>'user_menu_buttons' }
Файл patch.tune.cfg
  { file=>'cfg/RU/tune.cfg',hook=>'modules' }
  { file=>'cfg/UA/tune.cfg',hook=>'modules' }
Файл patch.web_plugins.list
  { file=>'cfg/web_plugins.list',hook=>'user' }

--- Модуль snmp ---
Файл create.ajSnmpInfo.pl
  { file=>'web/ajSnmpInfo.pl',hook=>'new' }
Файл create.ajSnmpSearchMac.pl
  { file=>'web/ajSnmpSearchMac.pl',hook=>'new' }
Файл create.cfg.snmp.cfg.pm
  { file=>'cfg/snmp.cfg.pm',hook=>'new' }
Файл create.kernel.collectors.snmp.pm
  { file=>'kernel/collectors/snmp.pm',hook=>'new' }
Файл create.kernel.snmp_alarm.cfg
  { file=>'kernel/snmp_alarm.cfg',hook=>'new' }
Файл create.kernel.snmp_alarm.pm
  { file=>'kernel/snmp_alarm.pm',hook=>'new' }
Файл create.kernel.snmp_trap.cfg
  { file=>'kernel/snmp_trap.cfg',hook=>'new' }
Файл create.kernel.snmp_trap.pm
  { file=>'kernel/snmp_trap.pm',hook=>'new' }
Файл create.link_traf.pl
  { file=>'web/link_traf.pl',hook=>'new' }
Файл create.nod.snmp.pl
  { file=>'nod/snmp.pl',hook=>'new' }
Файл patch.ajUserIpInfo.pl
  { file=>'web/ajUserIpInfo.pl',hook=>'show_mac' }
Файл patch.ajUserIpList.pl
  { file=>'web/ajUserIpList.pl',hook=>'show_mac',after=>'dhcp' }
Файл patch.mac_info.pl
  { file=>'web/mac_info.pl',hook=>'end' }
Файл patch.op.pl
  { file=>'web/op.pl',hook=>'subs' }
Файл patch.traf.pl
  { file=>'web/traf.pl',hook=>'end' }
Файл patch.user.pl
  { file=>'web/user.pl',hook=>'top_buttons' }
Файл patch.web_plugins.list
  { file=>'cfg/web_plugins.list',hook=>'admin' }

--- Модуль lower_tarif ---
Файл patch.services.basic.pm
  { file=>'services/basic.pm',hook=>'RU' }
  { file=>'services/basic.pm',hook=>'UA' }
  { file=>'services/basic.pm',hook=>'fields' }
  { file=>'services/basic.pm',hook=>'set_service' }
Файл patch.services.inet_unlim.pm
  { file=>'services/inet_unlim.pm',hook=>'RU' }
  { file=>'services/inet_unlim.pm',hook=>'UA' }
  { file=>'services/inet_unlim.pm',hook=>'fields' }
  { file=>'services/inet_unlim.pm',hook=>'set_service' }

--- Модуль stop_service ---
Файл create.kernel.stop_service.cfg
  { file=>'kernel/stop_service.cfg',hook=>'new' }
Файл create.kernel.stop_service.pm
  { file=>'kernel/stop_service.pm',hook=>'new' }
Файл create.user.stop_service.pl
  { file=>'web/user/stop_service.pl',hook=>'new' }
Файл patch.LANG.pl
  { file=>'web/lang/RU_user.pl',hook=>'end' }
  { file=>'web/lang/UA_user.pl',hook=>'end' }
Файл patch.tune.cfg
  { file=>'cfg/RU/tune.cfg',hook=>'end' }
  { file=>'cfg/UA/tune.cfg',hook=>'end' }
Файл patch.web_plugins.list
  { file=>'cfg/web_plugins.list',hook=>'user' }

--- Модуль map ---
Файл create.ajNoMapCreate.pl
  { file=>'web/ajNoMapCreate.pl',hook=>'new' }
Файл create.ajNoMapGet.pl
  { file=>'web/ajNoMapGet.pl',hook=>'new' }
Файл create.ajNoMapGroup.pl
  { file=>'web/ajNoMapGroup.pl',hook=>'new' }
Файл create.ajNoMapInfo.pl
  { file=>'web/ajNoMapInfo.pl',hook=>'new' }
Файл create.ajNoMapLink.pl
  { file=>'web/ajNoMapLink.pl',hook=>'new' }
Файл create.ajNoMapMenu.pl
  { file=>'web/ajNoMapMenu.pl',hook=>'new' }
Файл create.ajNoMapMove.pl
  { file=>'web/ajNoMapMove.pl',hook=>'new' }
Файл create.ajNoMapPort.pl
  { file=>'web/ajNoMapPort.pl',hook=>'new' }
Файл create.ajNoMapSafeTmpl.pl
  { file=>'web/ajNoMapSafeTmpl.pl',hook=>'new' }
Файл create.ajNoMapUsrPlace.pl
  { file=>'web/ajNoMapUsrPlace.pl',hook=>'new' }
Файл create.help.nomap.html
  { file=>'web/help/RU/nomap.html',hook=>'new' }
  { file=>'web/help/UA/nomap.html',hook=>'new' }
Файл create.nod.nomap_tmpl.pl
  { file=>'nod/nomap_tmpl.pl',hook=>'new' }
Файл create.nomap.css
  { file=>'htdocs/nomap.css',hook=>'new' }
Файл create.nomap.js
  { file=>'web/tmpl/nomap.js',hook=>'new' }
Файл create.nomap.pl
  { file=>'web/nomap.pl',hook=>'new' }
Файл create.nomap_head.html
  { file=>'web/tmpl/nomap_head.html',hook=>'new' }
Файл create.o_links.pl
  { file=>'web/o_links.pl',hook=>'new' }
Файл create.o_places.pl
  { file=>'web/o_places.pl',hook=>'new' }
Файл patch.Data.pl
  { file=>'web/Data.pl',hook=>'load_dictionary' }
Файл patch.LANG.pl
  { file=>'web/lang/RU.pl',hook=>'end' }
  { file=>'web/lang/UA.pl',hook=>'end' }
Файл patch.pl
  { file=>'cfg/web_plugins.list',hook=>'admin' }
  { file=>'web/main.pl',hook=>'finish' }
  { file=>'web/users.pl',hook=>'mod_menu' }
  { file=>'web/user.pl',hook=>'dopdata' }
  { file=>'web/tmpl/adm_top_block.html',hook=>'top_menu_end' }
  { file=>'web/op.pl',hook=>'subs' }
  { file=>'web/tune.pl',hook=>'menu' }
  { file=>'web/lang/RU_admin.pl',hook=>'priv_descr' }
  { file=>'web/lang/UA_admin.pl',hook=>'priv_descr' }
  { file=>'web/o_tickets.pl',hook=>'hidden_fields',after=>'tickets' }
  { file=>'web/o_tickets.pl',hook=>'_update',after=>'tickets' }
Файл patch.tune.cfg
  { file=>'cfg/RU/tune.cfg',hook=>'modules' }
  { file=>'cfg/UA/tune.cfg',hook=>'modules' }

--- Модуль yamap ---
Файл create.yamap.html
  { file=>'web/tmpl/yamap.html',hook=>'new' }
Файл create.yamap.js
  { file=>'web/tmpl/yamap.js',hook=>'new' }
Файл create.yamapFileUpload.pl
  { file=>'web/yamapFileUpload.pl',hook=>'new' }

--- Модуль pingserver ---
Файл create.ajMultiping.pl
  { file=>'web/ajMultiping.pl',hook=>'new' }
Файл create.ajPing.pl
  { file=>'web/ajPing.pl',hook=>'new' }
Файл create.autoping.pl
  { file=>'web/autoping.pl',hook=>'new' }
Файл create.pingserver.cfg
  { file=>'kernel/pingserver.cfg',hook=>'new' }
Файл create.pingserver.pm
  { file=>'kernel/pingserver.pm',hook=>'new' }
Файл patch.ajNoMapInfo.pl
  { file=>'web/ajNoMapInfo.pl',hook=>'place_urls',require=>'map' }
Файл patch.ajUserIpInfo.pl
  { file=>'web/ajUserIpInfo.pl',hook=>'table' }
Файл patch.help.nomap.html
  { file=>'web/help/RU/nomap.html',hook=>'info3',require=>['map'] }
Файл patch.nomap.pl
  { file=>'web/nomap.pl',hook=>'filtr_url',require=>['map'] }
Файл patch.tune.cfg
  { file=>'cfg/RU/tune.cfg',hook=>'modules' }
  { file=>'cfg/UA/tune.cfg',hook=>'modules' }
Файл patch.users.pl
  { file=>'web/users.pl',hook=>'mod_menu' }
Файл patch.web_plugins.list
  { file=>'cfg/web_plugins.list',hook=>'admin' }

--- Модуль dhcp ---
sql error. Run with -v at /usr/local/nodeny/modules/dhcp/run.pl line 23.





Название: Re: DHCP
Отправлено: Nafanya от 23 Июля 2019, 15:17:17
Цитировать
Start. Flag -h for help

loading /usr/local/nodeny/sat.cfg

<<< Подключение всех модулей >>>

Connecting to DBI:mysql:database=nodeny;host=localhost;port=3306;mysql_connect_timeout=5 : 0.013986 sec

SELECT * FROM config ORDER BY time DESC LIMIT 1
Строк: 1. Время выполнения sql: 0.0005 сек


--- Модуль NoDeny ---

CREATE TABLE IF NOT EXISTS `ports` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `uid` bigint(20) unsigned NOT NULL,
  `port` int(10) unsigned NOT NULL,
  `descr` varchar(127) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `port` (`uid`,`port`),
  KEY `uid` (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

Строк: 0. Время выполнения sql: 0.0002 сек

CREATE TABLE IF NOT EXISTS `notifications` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `created` int(10) unsigned NOT NULL,
  `uid` bigint(20) NOT NULL DEFAULT '0',
  `url` varchar(255) NOT NULL DEFAULT '',
  `msg` varchar(255) NOT NULL DEFAULT '',
  `sent` enum('yes', 'no') NOT NULL DEFAULT 'no',
  `tries` tinyint(3) unsigned NOT NULL DEFAULT '0',
  `type` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `created` (`created`),
  KEY `uid` (`uid`),
  KEY `sent` (`sent`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


Строк: 0. Время выполнения sql: 0.0001 сек

CREATE TABLE IF NOT EXISTS `notifications_users` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `updated` int(10) unsigned NOT NULL,
  `uid` bigint(20) NOT NULL DEFAULT '0',
  `reg_id` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `updated` (`updated`),
  KEY `uid` (`uid`),
  UNIQUE KEY `reg_id` (`reg_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


Строк: 0. Время выполнения sql: 0.00008900 сек

CREATE TABLE IF NOT EXISTS `places_events` (
  `id` bigint(20) unsigned NOT NULL auto_increment,
  `time` int(10) unsigned NOT NULL default '0',
  `when_remove` int(10) unsigned NOT NULL default '0',
  `place` int(10) unsigned NOT NULL,
  `descr` mediumtext NOT NULL,
  `metadata` varchar(255) NOT NULL default '',
  `errorlevel` tinyint(3) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `place` (`place`),
  KEY `time` (`time`),
  KEY `metadata` (`metadata`),
  KEY `errorlevel` (`errorlevel`),
  KEY `when_remove` (`when_remove`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
Строк: 0. Время выполнения sql: 0.0001 сек

CREATE TABLE IF NOT EXISTS `documents` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(256) NOT NULL,
  `document` text NOT NULL,
  `is_section` tinyint(4) NOT NULL DEFAULT '0',
  `parent_id` int(10) NOT NULL DEFAULT '0',
  `modified` int(11) unsigned NOT NULL,
  `editor` mediumint(8) unsigned NOT NULL,
  `editor_ip` int(10) unsigned NOT NULL,
  `tags` varchar(256) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `parent_id` (`parent_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

Строк: 0. Время выполнения sql: 0.0001 сек

CREATE TABLE IF NOT EXISTS `services_log` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `module` varchar(64) NOT NULL,
  `uid` bigint(20) unsigned NOT NULL,
  `token` bigint(20) unsigned NOT NULL,
  `service_id` int(10) unsigned,
  `tm_start` int(10) unsigned NOT NULL,
  `tm_end` int(10) unsigned NOT NULL DEFAULT '0',
  `price` float NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `uid` (`uid`),
  KEY `module` (`module`(16)),
  KEY `tm_start` (`tm_start`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

Строк: 0. Время выполнения sql: 0.0001 сек

CREATE TABLE IF NOT EXISTS `ses_traf` (
  `id` bigint(21) NOT NULL auto_increment,
  `ses_id` varchar(32) NOT NULL default '',
  `time` int(10) unsigned NOT NULL DEFAULT '0',
  `traf_in` bigint(12) unsigned NOT NULL DEFAULT '0',
  `traf_out` bigint(12) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `ses_id` (`ses_id`),
  KEY `time` (`time`)
) ENGINE=MyISAM AUTO_INCREMENT=1;

Строк: 0. Время выполнения sql: 0.0001 сек

SELECT normalize_ippool() AS ok
Строк: 1. Время выполнения sql: 0.3873 сек


--- Модуль cards ---

Файл create.ajCardInfo.pl

  { file=>'web/ajCardInfo.pl',hook=>'new' }

Файл create.cards.pl

  { file=>'web/cards.pl',hook=>'new' }

Файл create.user.cards.pl

  { file=>'web/user/cards.pl',hook=>'new' }

Файл patch.main.pl

  { file=>'web/main.pl',hook=>'buttons' }

  { file=>'web/main.pl',hook=>'end' }

Файл patch.tune.cfg

  { file=>'cfg/RU/tune.cfg',hook=>'end' }

  { file=>'cfg/UA/tune.cfg',hook=>'end' }

Файл patch.web_plugins.list

  { file=>'cfg/web_plugins.list',hook=>'user' }


--- Модуль MyNetwork ---

Файл patch.RU_user.pl

  { file=>'web/lang/RU_user.pl',hook=>'main' }

Файл patch.web_plugins

Файл patch.UA_user.pl

  { file=>'web/lang/RU_user.pl',hook=>'main' }

Файл create.lang.RU_cap.pl

  { file=>'web/lang/RU_cap.pl',hook=>'new' }


--- Модуль company_pay ---

Файл create.company_pay.pl

  { file=>'web/company_pay.pl',hook=>'new' }

Файл create.help.company_pay.html

  { file=>'web/help/RU/company_pay.html',hook=>'new' }

  { file=>'web/help/UA/company_pay.html',hook=>'new' }

Файл patch.main.pl

  { file=>'web/main.pl',hook=>'buttons' }


--- Модуль fondy ---

Файл patch.web_plugins.list

  { file=>'cfg/web_plugins.list',hook=>'user' }

Файл patch.tune.cfg

  { file=>'cfg/RU/tune.cfg',hook=>'paysystems' }

  { file=>'cfg/UA/tune.cfg',hook=>'paysystems' }

Файл create.user.fondy.pl

  { file=>'web/user/fondy.pl',hook=>'new' }

Файл patch.LANG.pl

  { file=>'web/lang/RU_user.pl',hook=>'end' }

  { file=>'web/lang/UA_user.pl',hook=>'end' }

Файл patch.NOW.pl

  { file=>'web/Pay.pl',hook=>'subs' }


--- Модуль houselist ---

Файл patch.users.pl

  { file=>'web/users.pl',hook=>'other_top_menu' }


--- Модуль credit ---

Файл create.user.credit.pl

  { file=>'web/user/credit.pl',hook=>'new' }

Файл patch.ajUserInfo2.pl

  { file=>'web/ajUserInfo2.pl',hook=>'finish' }

Файл patch.LANG.pl

  { file=>'web/lang/RU_user.pl',hook=>'end' }

  { file=>'web/lang/UA_user.pl',hook=>'end' }

  { file=>'web/lang/RU.pl',hook=>'user_menu_buttons' }

  { file=>'web/lang/UA.pl',hook=>'user_menu_buttons' }

  { file=>'web/lang/UA.pl',hook=>'end' }

Файл patch.tune.cfg

  { file=>'cfg/RU/tune.cfg',hook=>'modules' }

  { file=>'cfg/UA/tune.cfg',hook=>'modules' }

Файл patch.web_plugins.list

  { file=>'cfg/web_plugins.list',hook=>'user' }


--- Модуль credit2 ---

Файл create.user.credit2.pl

  { file=>'web/user/credit2.pl',hook=>'new' }

Файл patch.ajUserInfo2.pl

  { file=>'web/ajUserInfo2.pl',hook=>'finish' }

Файл patch.LANG.pl

  { file=>'web/lang/RU_user.pl',hook=>'end' }

  { file=>'web/lang/UA_user.pl',hook=>'end' }

  { file=>'web/lang/RU.pl',hook=>'user_menu_buttons' }

  { file=>'web/lang/UA.pl',hook=>'user_menu_buttons' }

Файл patch.tune.cfg

  { file=>'cfg/RU/tune.cfg',hook=>'modules' }

  { file=>'cfg/UA/tune.cfg',hook=>'modules' }

Файл patch.web_plugins.list

  { file=>'cfg/web_plugins.list',hook=>'user' }


--- Модуль snmp ---

CREATE TABLE IF NOT EXISTS `snmptraps` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `time` int(10) unsigned NOT NULL,
  `uid` bigint(20) unsigned NOT NULL DEFAULT '0',
  `ip` int(10) unsigned NOT NULL,
  `oid` varchar(128) NOT NULL,
  `data` mediumtext NOT NULL,
  PRIMARY KEY (`id`),
  KEY `uid` (`uid`),
  KEY `ip` (`ip`),
  KEY `time` (`time`),
  KEY `oid` (`oid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Строк: 0. Время выполнения sql: 0.0002 сек

Connecting to DBI:mysql:database=nodeny;host=localhost;port=3306;mysql_connect_timeout=5 : 0.000397 sec

SELECT * FROM datasetup WHERE name='_snmp'
Строк: 1. Время выполнения sql: 0.0002 сек

Файл create.ajSnmpInfo.pl

  { file=>'web/ajSnmpInfo.pl',hook=>'new' }

Файл create.ajSnmpSearchMac.pl

  { file=>'web/ajSnmpSearchMac.pl',hook=>'new' }

Файл create.cfg.snmp.cfg.pm

  { file=>'cfg/snmp.cfg.pm',hook=>'new' }

Файл create.kernel.collectors.snmp.pm

  { file=>'kernel/collectors/snmp.pm',hook=>'new' }

Файл create.kernel.snmp_alarm.cfg

  { file=>'kernel/snmp_alarm.cfg',hook=>'new' }

Файл create.kernel.snmp_alarm.pm

  { file=>'kernel/snmp_alarm.pm',hook=>'new' }

Файл create.kernel.snmp_trap.cfg

  { file=>'kernel/snmp_trap.cfg',hook=>'new' }

Файл create.kernel.snmp_trap.pm

  { file=>'kernel/snmp_trap.pm',hook=>'new' }

Файл create.link_traf.pl

  { file=>'web/link_traf.pl',hook=>'new' }

Файл create.nod.snmp.pl

  { file=>'nod/snmp.pl',hook=>'new' }

Файл patch.ajUserIpInfo.pl

  { file=>'web/ajUserIpInfo.pl',hook=>'show_mac' }

Файл patch.ajUserIpList.pl

  { file=>'web/ajUserIpList.pl',hook=>'show_mac',after=>'dhcp' }

Файл patch.mac_info.pl

  { file=>'web/mac_info.pl',hook=>'end' }

Файл patch.op.pl

  { file=>'web/op.pl',hook=>'subs' }

Файл patch.traf.pl

  { file=>'web/traf.pl',hook=>'end' }

Файл patch.user.pl

  { file=>'web/user.pl',hook=>'top_buttons' }

Файл patch.web_plugins.list

  { file=>'cfg/web_plugins.list',hook=>'admin' }


--- Модуль lower_tarif ---

Файл patch.services.basic.pm

  { file=>'services/basic.pm',hook=>'RU' }

  { file=>'services/basic.pm',hook=>'UA' }

  { file=>'services/basic.pm',hook=>'fields' }

  { file=>'services/basic.pm',hook=>'set_service' }

Файл patch.services.inet_unlim.pm

  { file=>'services/inet_unlim.pm',hook=>'RU' }

  { file=>'services/inet_unlim.pm',hook=>'UA' }

  { file=>'services/inet_unlim.pm',hook=>'fields' }

  { file=>'services/inet_unlim.pm',hook=>'set_service' }


--- Модуль stop_service ---

Файл create.kernel.stop_service.cfg

  { file=>'kernel/stop_service.cfg',hook=>'new' }

Файл create.kernel.stop_service.pm

  { file=>'kernel/stop_service.pm',hook=>'new' }

Файл create.user.stop_service.pl

  { file=>'web/user/stop_service.pl',hook=>'new' }

Файл patch.LANG.pl

  { file=>'web/lang/RU_user.pl',hook=>'end' }

  { file=>'web/lang/UA_user.pl',hook=>'end' }

Файл patch.tune.cfg

  { file=>'cfg/RU/tune.cfg',hook=>'end' }

  { file=>'cfg/UA/tune.cfg',hook=>'end' }

Файл patch.web_plugins.list

  { file=>'cfg/web_plugins.list',hook=>'user' }


--- Модуль map ---

Файл create.ajNoMapCreate.pl

  { file=>'web/ajNoMapCreate.pl',hook=>'new' }

Файл create.ajNoMapGet.pl

  { file=>'web/ajNoMapGet.pl',hook=>'new' }

Файл create.ajNoMapGroup.pl

  { file=>'web/ajNoMapGroup.pl',hook=>'new' }

Файл create.ajNoMapInfo.pl

  { file=>'web/ajNoMapInfo.pl',hook=>'new' }

Файл create.ajNoMapLink.pl

  { file=>'web/ajNoMapLink.pl',hook=>'new' }

Файл create.ajNoMapMenu.pl

  { file=>'web/ajNoMapMenu.pl',hook=>'new' }

Файл create.ajNoMapMove.pl

  { file=>'web/ajNoMapMove.pl',hook=>'new' }

Файл create.ajNoMapPort.pl

  { file=>'web/ajNoMapPort.pl',hook=>'new' }

Файл create.ajNoMapSafeTmpl.pl

  { file=>'web/ajNoMapSafeTmpl.pl',hook=>'new' }

Файл create.ajNoMapUsrPlace.pl

  { file=>'web/ajNoMapUsrPlace.pl',hook=>'new' }

Файл create.help.nomap.html

  { file=>'web/help/RU/nomap.html',hook=>'new' }

  { file=>'web/help/UA/nomap.html',hook=>'new' }

Файл create.nod.nomap_tmpl.pl

  { file=>'nod/nomap_tmpl.pl',hook=>'new' }

Файл create.nomap.css

  { file=>'htdocs/nomap.css',hook=>'new' }

Файл create.nomap.js

  { file=>'web/tmpl/nomap.js',hook=>'new' }

Файл create.nomap.pl

  { file=>'web/nomap.pl',hook=>'new' }

Файл create.nomap_head.html

  { file=>'web/tmpl/nomap_head.html',hook=>'new' }

Файл create.o_links.pl

  { file=>'web/o_links.pl',hook=>'new' }

Файл create.o_places.pl

  { file=>'web/o_places.pl',hook=>'new' }

Файл patch.Data.pl

  { file=>'web/Data.pl',hook=>'load_dictionary' }

Файл patch.LANG.pl

  { file=>'web/lang/RU.pl',hook=>'end' }

  { file=>'web/lang/UA.pl',hook=>'end' }

Файл patch.pl

  { file=>'cfg/web_plugins.list',hook=>'admin' }

  { file=>'web/main.pl',hook=>'finish' }

  { file=>'web/users.pl',hook=>'mod_menu' }

  { file=>'web/user.pl',hook=>'dopdata' }

  { file=>'web/tmpl/adm_top_block.html',hook=>'top_menu_end' }

  { file=>'web/op.pl',hook=>'subs' }

  { file=>'web/tune.pl',hook=>'menu' }

  { file=>'web/lang/RU_admin.pl',hook=>'priv_descr' }

  { file=>'web/lang/UA_admin.pl',hook=>'priv_descr' }

  { file=>'web/o_tickets.pl',hook=>'hidden_fields',after=>'tickets' }

  { file=>'web/o_tickets.pl',hook=>'_update',after=>'tickets' }

Файл patch.tune.cfg

  { file=>'cfg/RU/tune.cfg',hook=>'modules' }

  { file=>'cfg/UA/tune.cfg',hook=>'modules' }


--- Модуль yamap ---

Файл create.yamap.html

  { file=>'web/tmpl/yamap.html',hook=>'new' }

Файл create.yamap.js

  { file=>'web/tmpl/yamap.js',hook=>'new' }

Файл create.yamapFileUpload.pl

  { file=>'web/yamapFileUpload.pl',hook=>'new' }


--- Модуль pingserver ---

Файл create.ajMultiping.pl

  { file=>'web/ajMultiping.pl',hook=>'new' }

Файл create.ajPing.pl

  { file=>'web/ajPing.pl',hook=>'new' }

Файл create.autoping.pl

  { file=>'web/autoping.pl',hook=>'new' }

Файл create.pingserver.cfg

  { file=>'kernel/pingserver.cfg',hook=>'new' }

Файл create.pingserver.pm

  { file=>'kernel/pingserver.pm',hook=>'new' }

Файл patch.ajNoMapInfo.pl

  { file=>'web/ajNoMapInfo.pl',hook=>'place_urls',require=>'map' }

Файл patch.ajUserIpInfo.pl

  { file=>'web/ajUserIpInfo.pl',hook=>'table' }

Файл patch.help.nomap.html

  { file=>'web/help/RU/nomap.html',hook=>'info3',require=>['map'] }

Файл patch.nomap.pl

  { file=>'web/nomap.pl',hook=>'filtr_url',require=>['map'] }

Файл patch.tune.cfg

  { file=>'cfg/RU/tune.cfg',hook=>'modules' }

  { file=>'cfg/UA/tune.cfg',hook=>'modules' }

Файл patch.users.pl

  { file=>'web/users.pl',hook=>'mod_menu' }

Файл patch.web_plugins.list

  { file=>'cfg/web_plugins.list',hook=>'admin' }


--- Модуль dhcp ---

Table 'mac_uid' already exists

{
  'sql' => 'CREATE TABLE `mac_uid` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `mac` varchar(12) DEFAULT NULL,
  `ip` int(10) unsigned NOT NULL,
  `uid` bigint(20) unsigned NOT NULL,
  `time` int(10) unsigned NOT NULL,
  `device_mac` varchar(12) NOT NULL,
  `device_port` smallint(6) NOT NULL,
  `oneconnect` tinyint(4) NOT NULL DEFAULT \'0\',
  `comment` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `mac` (`mac`),
  KEY `uid` (`uid`),
  KEY `time` (`time`),
  KEY `ip` (`ip`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;',
  'param' => []
};
 
 CREATE TABLE `mac_uid` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `mac` varchar(12) DEFAULT NULL,
  `ip` int(10) unsigned NOT NULL,
  `uid` bigint(20) unsigned NOT NULL,
  `time` int(10) unsigned NOT NULL,
  `device_mac` varchar(12) NOT NULL,
  `device_port` smallint(6) NOT NULL,
  `oneconnect` tinyint(4) NOT NULL DEFAULT '0',
  `comment` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `mac` (`mac`),
  KEY `uid` (`uid`),
  KEY `time` (`time`),
  KEY `ip` (`ip`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

Connecting to DBI:mysql:database=nodeny;host=localhost;port=3306;mysql_connect_timeout=5 : 0.000365 sec

Duplicate entry '007263d0d878' for key 'mac'

{
  'param' => [],
  'sql' => 'ALTER TABLE mac_uid ADD comment VARCHAR(256) DEFAULT NULL AFTER oneconnect'
};
 
 ALTER TABLE mac_uid ADD comment VARCHAR(256) DEFAULT NULL AFTER oneconnect

sql error. Run with -v at /usr/local/nodeny/modules/dhcp/run.pl line 23.


Название: Re: DHCP
Отправлено: Nafanya от 23 Июля 2019, 15:24:00
Цитировать
[1;30m[0.025262: install.pl(94) nod.pm::Start(109)] [0m
Start. Flag -h for help

 [1;30m[0.025478: install.pl(94) nod.pm::Start(110)] [0m
loading /usr/local/nodeny/sat.cfg

 [1;30m[0.025743: install.pl(100) install.pl::make_modules(157)] [0m
<<< Подключение всех модулей >>>

 [1;30m[0.040436: install.pl(100) install.pl::make_modules(162) Db.pm::line(143) Db.pm::sql(112) Db.pm::connect(94)] [0m
Connecting to DBI:mysql:database=nodeny;host=localhost;port=3306;mysql_connect_timeout=5 : 0.01451 sec

 [1;30m[0.041193: install.pl(100) install.pl::make_modules(162) Db.pm::line(143) Db.pm::sql(133) Db.pm::sql(320)] [0m
SELECT * FROM config ORDER BY time DESC LIMIT 1
Строк: 1. Время выполнения sql: 0.0005 сек

 [1;30m[0.049426: install.pl(100) install.pl::make_modules(187)] [0m

--- Модуль NoDeny ---

 [1;30m[0.050081: install.pl(100) install.pl::make_modules(216) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)] [0m
CREATE TABLE IF NOT EXISTS `ports` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `uid` bigint(20) unsigned NOT NULL,
  `port` int(10) unsigned NOT NULL,
  `descr` varchar(127) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `port` (`uid`,`port`),
  KEY `uid` (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

Строк: 0. Время выполнения sql: 0.0002 сек

 [1;30m[0.050500: install.pl(100) install.pl::make_modules(216) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)] [0m
CREATE TABLE IF NOT EXISTS `notifications` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `created` int(10) unsigned NOT NULL,
  `uid` bigint(20) NOT NULL DEFAULT '0',
  `url` varchar(255) NOT NULL DEFAULT '',
  `msg` varchar(255) NOT NULL DEFAULT '',
  `sent` enum('yes', 'no') NOT NULL DEFAULT 'no',
  `tries` tinyint(3) unsigned NOT NULL DEFAULT '0',
  `type` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `created` (`created`),
  KEY `uid` (`uid`),
  KEY `sent` (`sent`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


Строк: 0. Время выполнения sql: 0.0002 сек

 [1;30m[0.050830: install.pl(100) install.pl::make_modules(216) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)] [0m
CREATE TABLE IF NOT EXISTS `notifications_users` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `updated` int(10) unsigned NOT NULL,
  `uid` bigint(20) NOT NULL DEFAULT '0',
  `reg_id` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `updated` (`updated`),
  KEY `uid` (`uid`),
  UNIQUE KEY `reg_id` (`reg_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


Строк: 0. Время выполнения sql: 0.0001 сек

 [1;30m[0.051134: install.pl(100) install.pl::make_modules(216) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)] [0m
CREATE TABLE IF NOT EXISTS `places_events` (
  `id` bigint(20) unsigned NOT NULL auto_increment,
  `time` int(10) unsigned NOT NULL default '0',
  `when_remove` int(10) unsigned NOT NULL default '0',
  `place` int(10) unsigned NOT NULL,
  `descr` mediumtext NOT NULL,
  `metadata` varchar(255) NOT NULL default '',
  `errorlevel` tinyint(3) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `place` (`place`),
  KEY `time` (`time`),
  KEY `metadata` (`metadata`),
  KEY `errorlevel` (`errorlevel`),
  KEY `when_remove` (`when_remove`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
Строк: 0. Время выполнения sql: 0.0001 сек

 [1;30m[0.051430: install.pl(100) install.pl::make_modules(216) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)] [0m
CREATE TABLE IF NOT EXISTS `documents` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(256) NOT NULL,
  `document` text NOT NULL,
  `is_section` tinyint(4) NOT NULL DEFAULT '0',
  `parent_id` int(10) NOT NULL DEFAULT '0',
  `modified` int(11) unsigned NOT NULL,
  `editor` mediumint(8) unsigned NOT NULL,
  `editor_ip` int(10) unsigned NOT NULL,
  `tags` varchar(256) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `parent_id` (`parent_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

Строк: 0. Время выполнения sql: 0.0001 сек

 [1;30m[0.051734: install.pl(100) install.pl::make_modules(216) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)] [0m
CREATE TABLE IF NOT EXISTS `services_log` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `module` varchar(64) NOT NULL,
  `uid` bigint(20) unsigned NOT NULL,
  `token` bigint(20) unsigned NOT NULL,
  `service_id` int(10) unsigned,
  `tm_start` int(10) unsigned NOT NULL,
  `tm_end` int(10) unsigned NOT NULL DEFAULT '0',
  `price` float NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `uid` (`uid`),
  KEY `module` (`module`(16)),
  KEY `tm_start` (`tm_start`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

Строк: 0. Время выполнения sql: 0.0001 сек

 [1;30m[0.052019: install.pl(100) install.pl::make_modules(216) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)] [0m
CREATE TABLE IF NOT EXISTS `ses_traf` (
  `id` bigint(21) NOT NULL auto_increment,
  `ses_id` varchar(32) NOT NULL default '',
  `time` int(10) unsigned NOT NULL DEFAULT '0',
  `traf_in` bigint(12) unsigned NOT NULL DEFAULT '0',
  `traf_out` bigint(12) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `ses_id` (`ses_id`),
  KEY `time` (`time`)
) ENGINE=MyISAM AUTO_INCREMENT=1;

Строк: 0. Время выполнения sql: 0.00009000 сек

 [1;30m[0.570473: install.pl(100) install.pl::make_modules(225) run.pl(193) Db.pm::line(143) Db.pm::sql(133) Db.pm::sql(320)] [0m
SELECT normalize_ippool() AS ok
Строк: 1. Время выполнения sql: 0.4956 сек

 [1;30m[0.570847: install.pl(100) install.pl::make_modules(187)] [0m

--- Модуль cards ---

 [1;30m[0.571154: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajCardInfo.pl

 [1;30m[0.571288: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajCardInfo.pl',hook=>'new' }

 [1;30m[0.571775: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.cards.pl

 [1;30m[0.571916: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/cards.pl',hook=>'new' }

 [1;30m[0.572111: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.user.cards.pl

 [1;30m[0.572217: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/user/cards.pl',hook=>'new' }

 [1;30m[0.572375: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.main.pl

 [1;30m[0.572476: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/main.pl',hook=>'buttons' }

 [1;30m[0.572596: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/main.pl',hook=>'end' }

 [1;30m[0.572751: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.tune.cfg

 [1;30m[0.572852: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/RU/tune.cfg',hook=>'end' }

 [1;30m[0.572970: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/UA/tune.cfg',hook=>'end' }

 [1;30m[0.573150: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.web_plugins.list

 [1;30m[0.573290: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/web_plugins.list',hook=>'user' }

 [1;30m[0.573427: install.pl(100) install.pl::make_modules(187)] [0m

--- Модуль MyNetwork ---

 [1;30m[0.573621: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.RU_user.pl

 [1;30m[0.573726: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/RU_user.pl',hook=>'main' }

 [1;30m[0.573877: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.web_plugins

 [1;30m[0.574003: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.UA_user.pl

 [1;30m[0.574105: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/RU_user.pl',hook=>'main' }

 [1;30m[0.574304: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.lang.RU_cap.pl

 [1;30m[0.574416: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/RU_cap.pl',hook=>'new' }

 [1;30m[0.574537: install.pl(100) install.pl::make_modules(187)] [0m

--- Модуль company_pay ---

 [1;30m[0.574738: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.company_pay.pl

 [1;30m[0.574849: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/company_pay.pl',hook=>'new' }

 [1;30m[0.575020: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.help.company_pay.html

 [1;30m[0.575125: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/help/RU/company_pay.html',hook=>'new' }

 [1;30m[0.575247: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/help/UA/company_pay.html',hook=>'new' }

 [1;30m[0.575392: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.main.pl

 [1;30m[0.575489: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/main.pl',hook=>'buttons' }

 [1;30m[0.575604: install.pl(100) install.pl::make_modules(187)] [0m

--- Модуль fondy ---

 [1;30m[0.578531: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.web_plugins.list

 [1;30m[0.578704: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/web_plugins.list',hook=>'user' }

 [1;30m[0.578924: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.tune.cfg

 [1;30m[0.579041: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/RU/tune.cfg',hook=>'paysystems' }

 [1;30m[0.579173: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/UA/tune.cfg',hook=>'paysystems' }

 [1;30m[0.579437: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.user.fondy.pl

 [1;30m[0.579546: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/user/fondy.pl',hook=>'new' }

 [1;30m[0.579722: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.LANG.pl

 [1;30m[0.579826: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/RU_user.pl',hook=>'end' }

 [1;30m[0.579943: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/UA_user.pl',hook=>'end' }

 [1;30m[0.580100: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.NOW.pl

 [1;30m[0.580202: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/Pay.pl',hook=>'subs' }

 [1;30m[0.580322: install.pl(100) install.pl::make_modules(187)] [0m

--- Модуль houselist ---

 [1;30m[0.580488: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.users.pl

 [1;30m[0.580589: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/users.pl',hook=>'other_top_menu' }

 [1;30m[0.580707: install.pl(100) install.pl::make_modules(187)] [0m

--- Модуль credit ---

 [1;30m[0.580970: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.user.credit.pl

 [1;30m[0.581088: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/user/credit.pl',hook=>'new' }

 [1;30m[0.581240: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.ajUserInfo2.pl

 [1;30m[0.581344: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajUserInfo2.pl',hook=>'finish' }

 [1;30m[0.581539: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.LANG.pl

 [1;30m[0.581647: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/RU_user.pl',hook=>'end' }

 [1;30m[0.581764: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/UA_user.pl',hook=>'end' }

 [1;30m[0.581879: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/RU.pl',hook=>'user_menu_buttons' }

 [1;30m[0.581999: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/UA.pl',hook=>'user_menu_buttons' }

 [1;30m[0.582120: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/UA.pl',hook=>'end' }

 [1;30m[0.582274: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.tune.cfg

 [1;30m[0.582373: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/RU/tune.cfg',hook=>'modules' }

 [1;30m[0.582491: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/UA/tune.cfg',hook=>'modules' }

 [1;30m[0.582630: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.web_plugins.list

 [1;30m[0.582737: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/web_plugins.list',hook=>'user' }

 [1;30m[0.582856: install.pl(100) install.pl::make_modules(187)] [0m




Название: Re: DHCP
Отправлено: Nafanya от 23 Июля 2019, 15:25:26
Цитировать
--- Модуль credit2 ---

 [1;30m[0.583125: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.user.credit2.pl

 [1;30m[0.583232: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/user/credit2.pl',hook=>'new' }

 [1;30m[0.583381: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.ajUserInfo2.pl

 [1;30m[0.583478: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajUserInfo2.pl',hook=>'finish' }

 [1;30m[0.583666: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.LANG.pl

 [1;30m[0.583772: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/RU_user.pl',hook=>'end' }

 [1;30m[0.583886: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/UA_user.pl',hook=>'end' }

 [1;30m[0.584005: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/RU.pl',hook=>'user_menu_buttons' }

 [1;30m[0.584121: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/UA.pl',hook=>'user_menu_buttons' }

 [1;30m[0.584269: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.tune.cfg

 [1;30m[0.584367: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/RU/tune.cfg',hook=>'modules' }

 [1;30m[0.584485: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/UA/tune.cfg',hook=>'modules' }

 [1;30m[0.584624: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.web_plugins.list

 [1;30m[0.584721: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/web_plugins.list',hook=>'user' }

 [1;30m[0.584834: install.pl(100) install.pl::make_modules(187)] [0m

--- Модуль snmp ---

 [1;30m[0.585361: install.pl(100) install.pl::make_modules(216) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)] [0m
CREATE TABLE IF NOT EXISTS `snmptraps` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `time` int(10) unsigned NOT NULL,
  `uid` bigint(20) unsigned NOT NULL DEFAULT '0',
  `ip` int(10) unsigned NOT NULL,
  `oid` varchar(128) NOT NULL,
  `data` mediumtext NOT NULL,
  PRIMARY KEY (`id`),
  KEY `uid` (`uid`),
  KEY `ip` (`ip`),
  KEY `time` (`time`),
  KEY `oid` (`oid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Строк: 0. Время выполнения sql: 0.0002 сек

 [1;30m[0.586151: install.pl(100) install.pl::make_modules(225) run.pl(2) Db.pm::connect(94)] [0m
Connecting to DBI:mysql:database=nodeny;host=localhost;port=3306;mysql_connect_timeout=5 : 0.000403 sec

 [1;30m[0.586655: install.pl(100) install.pl::make_modules(225) run.pl(3) Db.pm::line(143) Db.pm::sql(133) Db.pm::sql(320)] [0m
SELECT * FROM datasetup WHERE name='_snmp'
Строк: 1. Время выполнения sql: 0.0002 сек

 [1;30m[0.587078: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajSnmpInfo.pl

 [1;30m[0.587224: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajSnmpInfo.pl',hook=>'new' }

 [1;30m[0.587428: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajSnmpSearchMac.pl

 [1;30m[0.587540: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajSnmpSearchMac.pl',hook=>'new' }

 [1;30m[0.587769: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.cfg.snmp.cfg.pm

 [1;30m[0.587882: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/snmp.cfg.pm',hook=>'new' }

 [1;30m[0.588078: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.kernel.collectors.snmp.pm

 [1;30m[0.588184: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'kernel/collectors/snmp.pm',hook=>'new' }

 [1;30m[0.588351: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.kernel.snmp_alarm.cfg

 [1;30m[0.588449: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'kernel/snmp_alarm.cfg',hook=>'new' }

 [1;30m[0.588608: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.kernel.snmp_alarm.pm

 [1;30m[0.588716: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'kernel/snmp_alarm.pm',hook=>'new' }

 [1;30m[0.588858: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.kernel.snmp_trap.cfg

 [1;30m[0.588954: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'kernel/snmp_trap.cfg',hook=>'new' }

 [1;30m[0.589121: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.kernel.snmp_trap.pm

 [1;30m[0.589222: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'kernel/snmp_trap.pm',hook=>'new' }

 [1;30m[0.589375: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.link_traf.pl

 [1;30m[0.589472: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/link_traf.pl',hook=>'new' }

 [1;30m[0.589675: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.nod.snmp.pl

 [1;30m[0.589776: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'nod/snmp.pl',hook=>'new' }

 [1;30m[0.589916: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.ajUserIpInfo.pl

 [1;30m[0.590012: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajUserIpInfo.pl',hook=>'show_mac' }

 [1;30m[0.590152: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.ajUserIpList.pl

 [1;30m[0.590247: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajUserIpList.pl',hook=>'show_mac',after=>'dhcp' }

 [1;30m[0.590392: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.mac_info.pl

 [1;30m[0.590487: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/mac_info.pl',hook=>'end' }

 [1;30m[0.590624: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.op.pl

 [1;30m[0.590719: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/op.pl',hook=>'subs' }

 [1;30m[0.590856: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.traf.pl

 [1;30m[0.590951: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/traf.pl',hook=>'end' }

 [1;30m[0.591091: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.user.pl

 [1;30m[0.591186: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/user.pl',hook=>'top_buttons' }

 [1;30m[0.591328: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.web_plugins.list

 [1;30m[0.591423: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/web_plugins.list',hook=>'admin' }

 [1;30m[0.591536: install.pl(100) install.pl::make_modules(187)] [0m

--- Модуль lower_tarif ---

 [1;30m[0.591710: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.services.basic.pm

 [1;30m[0.591808: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'services/basic.pm',hook=>'RU' }

 [1;30m[0.591923: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'services/basic.pm',hook=>'UA' }

 [1;30m[0.592036: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'services/basic.pm',hook=>'fields' }

 [1;30m[0.592151: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'services/basic.pm',hook=>'set_service' }

 [1;30m[0.592303: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.services.inet_unlim.pm

 [1;30m[0.592400: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'services/inet_unlim.pm',hook=>'RU' }

 [1;30m[0.592514: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'services/inet_unlim.pm',hook=>'UA' }

 [1;30m[0.592627: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'services/inet_unlim.pm',hook=>'fields' }

 [1;30m[0.592740: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'services/inet_unlim.pm',hook=>'set_service' }

 [1;30m[0.592852: install.pl(100) install.pl::make_modules(187)] [0m

--- Модуль stop_service ---

 [1;30m[0.593032: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.kernel.stop_service.cfg

 [1;30m[0.593129: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'kernel/stop_service.cfg',hook=>'new' }

 [1;30m[0.593307: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.kernel.stop_service.pm

 [1;30m[0.593409: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'kernel/stop_service.pm',hook=>'new' }

 [1;30m[0.593599: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.user.stop_service.pl

 [1;30m[0.593703: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/user/stop_service.pl',hook=>'new' }

 [1;30m[0.593878: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.LANG.pl

 [1;30m[0.593980: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/RU_user.pl',hook=>'end' }

 [1;30m[0.594096: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/UA_user.pl',hook=>'end' }

 [1;30m[0.594245: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.tune.cfg

 [1;30m[0.594347: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/RU/tune.cfg',hook=>'end' }

 [1;30m[0.594462: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/UA/tune.cfg',hook=>'end' }

 [1;30m[0.594599: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.web_plugins.list

 [1;30m[0.594695: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/web_plugins.list',hook=>'user' }

 [1;30m[0.594810: install.pl(100) install.pl::make_modules(187)] [0m

--- Модуль map ---

 [1;30m[0.597481: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajNoMapCreate.pl

 [1;30m[0.597606: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajNoMapCreate.pl',hook=>'new' }

 [1;30m[0.598072: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajNoMapGet.pl

 [1;30m[0.598260: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajNoMapGet.pl',hook=>'new' }

 [1;30m[0.598470: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajNoMapGroup.pl

 [1;30m[0.598583: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajNoMapGroup.pl',hook=>'new' }

 [1;30m[0.598840: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajNoMapInfo.pl

 [1;30m[0.598954: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajNoMapInfo.pl',hook=>'new' }

 [1;30m[0.599141: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajNoMapLink.pl

 [1;30m[0.599241: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajNoMapLink.pl',hook=>'new' }

 [1;30m[0.599421: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajNoMapMenu.pl

 [1;30m[0.599524: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajNoMapMenu.pl',hook=>'new' }

 [1;30m[0.599704: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajNoMapMove.pl

 [1;30m[0.599808: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajNoMapMove.pl',hook=>'new' }

 [1;30m[0.599978: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajNoMapPort.pl

 [1;30m[0.600082: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajNoMapPort.pl',hook=>'new' }

 [1;30m[0.600231: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajNoMapSafeTmpl.pl

 [1;30m[0.600327: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajNoMapSafeTmpl.pl',hook=>'new' }

 [1;30m[0.600495: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajNoMapUsrPlace.pl

 [1;30m[0.600593: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajNoMapUsrPlace.pl',hook=>'new' }

 [1;30m[0.600784: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.help.nomap.html

 [1;30m[0.600891: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/help/RU/nomap.html',hook=>'new' }

 [1;30m[0.601008: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/help/UA/nomap.html',hook=>'new' }

 [1;30m[0.601174: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.nod.nomap_tmpl.pl

 [1;30m[0.601271: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'nod/nomap_tmpl.pl',hook=>'new' }

 [1;30m[0.601429: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.nomap.css

 [1;30m[0.601525: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'htdocs/nomap.css',hook=>'new' }

 [1;30m[0.601843: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.nomap.js

 [1;30m[0.601962: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/tmpl/nomap.js',hook=>'new' }

 [1;30m[0.602209: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.nomap.pl

 [1;30m[0.602322: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/nomap.pl',hook=>'new' }

 [1;30m[0.602467: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.nomap_head.html

 [1;30m[0.602563: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/tmpl/nomap_head.html',hook=>'new' }

 [1;30m[0.602789: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.o_links.pl

 [1;30m[0.602893: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/o_links.pl',hook=>'new' }

 [1;30m[0.603144: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.o_places.pl

 [1;30m[0.603251: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/o_places.pl',hook=>'new' }

 [1;30m[0.603395: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.Data.pl

 [1;30m[0.603490: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/Data.pl',hook=>'load_dictionary' }

 [1;30m[0.603689: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.LANG.pl

 [1;30m[0.603795: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/RU.pl',hook=>'end' }

 [1;30m[0.603914: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/UA.pl',hook=>'end' }

 [1;30m[0.604092: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.pl

 [1;30m[0.604193: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/web_plugins.list',hook=>'admin' }

 [1;30m[0.604309: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/main.pl',hook=>'finish' }

 [1;30m[0.604422: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/users.pl',hook=>'mod_menu' }

 [1;30m[0.604535: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/user.pl',hook=>'dopdata' }

 [1;30m[0.604648: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/tmpl/adm_top_block.html',hook=>'top_menu_end' }

 [1;30m[0.604761: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/op.pl',hook=>'subs' }

 [1;30m[0.604875: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/tune.pl',hook=>'menu' }

 [1;30m[0.604988: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/RU_admin.pl',hook=>'priv_descr' }

 [1;30m[0.605103: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/lang/UA_admin.pl',hook=>'priv_descr' }

 [1;30m[0.605217: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/o_tickets.pl',hook=>'hidden_fields',after=>'tickets' }

 [1;30m[0.605335: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/o_tickets.pl',hook=>'_update',after=>'tickets' }

 [1;30m[0.605493: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.tune.cfg

 [1;30m[0.605595: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/RU/tune.cfg',hook=>'modules' }

 [1;30m[0.605708: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/UA/tune.cfg',hook=>'modules' }

 [1;30m[0.605822: install.pl(100) install.pl::make_modules(187)] [0m

--- Модуль yamap ---

 [1;30m[0.606056: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.yamap.html

 [1;30m[0.606163: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/tmpl/yamap.html',hook=>'new' }

 [1;30m[0.606371: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.yamap.js

 [1;30m[0.606475: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/tmpl/yamap.js',hook=>'new' }

 [1;30m[0.606639: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.yamapFileUpload.pl

 [1;30m[0.606735: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/yamapFileUpload.pl',hook=>'new' }

 [1;30m[0.606848: install.pl(100) install.pl::make_modules(187)] [0m

.


Название: Re: DHCP
Отправлено: Nafanya от 23 Июля 2019, 15:26:06
Цитировать
--- Модуль pingserver ---

 [1;30m[0.607133: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajMultiping.pl

 [1;30m[0.607233: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajMultiping.pl',hook=>'new' }

 [1;30m[0.607396: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.ajPing.pl

 [1;30m[0.607492: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajPing.pl',hook=>'new' }

 [1;30m[0.607651: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.autoping.pl

 [1;30m[0.607748: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/autoping.pl',hook=>'new' }

 [1;30m[0.607908: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.pingserver.cfg

 [1;30m[0.608005: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'kernel/pingserver.cfg',hook=>'new' }

 [1;30m[0.608207: install.pl(100) install.pl::make_modules(249)] [0m
Файл create.pingserver.pm

 [1;30m[0.608311: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'kernel/pingserver.pm',hook=>'new' }

 [1;30m[0.608451: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.ajNoMapInfo.pl

 [1;30m[0.608546: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajNoMapInfo.pl',hook=>'place_urls',require=>'map' }

 [1;30m[0.608690: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.ajUserIpInfo.pl

 [1;30m[0.608784: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/ajUserIpInfo.pl',hook=>'table' }

 [1;30m[0.608933: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.help.nomap.html

 [1;30m[0.609034: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/help/RU/nomap.html',hook=>'info3',require=>['map'] }

 [1;30m[0.609184: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.nomap.pl

 [1;30m[0.609279: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/nomap.pl',hook=>'filtr_url',require=>['map'] }

 [1;30m[0.609424: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.tune.cfg

 [1;30m[0.609523: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/RU/tune.cfg',hook=>'modules' }

 [1;30m[0.609638: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/UA/tune.cfg',hook=>'modules' }

 [1;30m[0.609775: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.users.pl

 [1;30m[0.609871: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'web/users.pl',hook=>'mod_menu' }

 [1;30m[0.610009: install.pl(100) install.pl::make_modules(249)] [0m
Файл patch.web_plugins.list

 [1;30m[0.610106: install.pl(100) install.pl::make_modules(259)] [0m
  { file=>'cfg/web_plugins.list',hook=>'admin' }

 [1;30m[0.610218: install.pl(100) install.pl::make_modules(187)] [0m

--- Модуль dhcp ---

 [1;30m[0.610814: install.pl(100) install.pl::make_modules(216) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(304)] [0m
Table 'mac_uid' already exists

{
  'param' => [],
  'sql' => 'CREATE TABLE `mac_uid` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `mac` varchar(12) DEFAULT NULL,
  `ip` int(10) unsigned NOT NULL,
  `uid` bigint(20) unsigned NOT NULL,
  `time` int(10) unsigned NOT NULL,
  `device_mac` varchar(12) NOT NULL,
  `device_port` smallint(6) NOT NULL,
  `oneconnect` tinyint(4) NOT NULL DEFAULT \'0\',
  `comment` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `mac` (`mac`),
  KEY `uid` (`uid`),
  KEY `time` (`time`),
  KEY `ip` (`ip`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;'
};
 
 CREATE TABLE `mac_uid` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `mac` varchar(12) DEFAULT NULL,
  `ip` int(10) unsigned NOT NULL,
  `uid` bigint(20) unsigned NOT NULL,
  `time` int(10) unsigned NOT NULL,
  `device_mac` varchar(12) NOT NULL,
  `device_port` smallint(6) NOT NULL,
  `oneconnect` tinyint(4) NOT NULL DEFAULT '0',
  `comment` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `mac` (`mac`),
  KEY `uid` (`uid`),
  KEY `time` (`time`),
  KEY `ip` (`ip`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

 [1;30m[0.611553: install.pl(100) install.pl::make_modules(225) run.pl(2) Db.pm::connect(94)] [0m
Connecting to DBI:mysql:database=nodeny;host=localhost;port=3306;mysql_connect_timeout=5 : 0.000342 sec

 [1;30m[37.063279: install.pl(100) install.pl::make_modules(225) run.pl(22) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(304)] [0m
Duplicate entry '107b44b60d28' for key 'mac'

{
  'param' => [],
  'sql' => 'ALTER TABLE mac_uid ADD comment VARCHAR(256) DEFAULT NULL AFTER oneconnect'
};
 
 ALTER TABLE mac_uid ADD comment VARCHAR(256) DEFAULT NULL AFTER oneconnect

 [1;30m[37.063522: install.pl(100) install.pl::make_modules(225) run.pl(23) nod.pm::__ANON__(93) nod.pm(93) nod.pm::Hard_exit(133)] [0m
sql error. Run with -v at /usr/local/nodeny/modules/dhcp/run.pl line 23


Название: Re: DHCP
Отправлено: Nafanya от 23 Июля 2019, 15:27:37
может много выложил. Наверное надо было в файлах. Извините, немного не подумал


Название: Re: DHCP
Отправлено: Nafanya от 23 Июля 2019, 22:53:09
Может это быть связано, с тем, что у меня один МАК привязан к двум АЙПИ ? Как почистить таблицу адресов, кторые были выданы МАСу и не удалилис. Нашел один мак, который когдато был выдан по ДХЦП. Теперь это устройство работает по РРРоЕ


Название: Re: DHCP
Отправлено: vddav от 25 Июля 2019, 11:28:14
сделай cat -n  /usr/local/nodeny/modules/dhcp/run.pl и запрос в 23 строке пробуй в мускуле на прямую - будет видна ошибка. может то что у тебя там два мака одинаковых?, в любом случае смотреть на запрос на котором спотыкается и оттуда копать


Название: Re: DHCP
Отправлено: Nafanya от 25 Июля 2019, 13:34:43
сделай cat -n  /usr/local/nodeny/modules/dhcp/run.pl и запрос в 23 строке пробуй в мускуле на прямую - будет видна ошибка. может то что у тебя там два мака одинаковых?, в любом случае смотреть на запрос на котором спотыкается и оттуда копать
Цитировать
mysql>  Db->ok or die $cfg::sql_err;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Db->ok or die $cfg::sql_err' at line 1
Когда к компу не подключены клиенты ИНСТАЛЛ проходит. А когда есть люди - упирается. Да я грешу на двойной мак.


Название: Re: DHCP
Отправлено: Nafanya от 25 Июля 2019, 18:04:56
Как мне всетаки почистить таблицу авторизаций в БД? Которая относится к ДХЦП. Все равно он сейчас не работает.


Название: Re: DHCP
Отправлено: vddav от 29 Июля 2019, 13:46:55
сделай cat -n  /usr/local/nodeny/modules/dhcp/run.pl и запрос в 23 строке пробуй в мускуле на прямую - будет видна ошибка. может то что у тебя там два мака одинаковых?, в любом случае смотреть на запрос на котором спотыкается и оттуда копать
Цитировать
mysql>  Db->ok or die $cfg::sql_err;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Db->ok or die $cfg::sql_err' at line 1
Когда к компу не подключены клиенты ИНСТАЛЛ проходит. А когда есть люди - упирается. Да я грешу на двойной мак.
похоже что надо смотреть на предыдущий запрос, т.е. 22 строку. ну а в крайнем случае все запросы в этой секции  до "ok or die". в моей версии pun.pl 23 строка указывала на мускул запрос связанный с изменением таблицы.


Название: Re: DHCP
Отправлено: Fredik от 26 Сентября 2019, 21:34:42
купил модуль, пробую на тестовой машине поставить,скопировал все с рабочей(мускуль, папку нодени)
была версия 246 обновился до 586
все настроил сделал но не работает перенаправление пишет "NoDeny Internal Error" подскажите где посмотреть?


Название: Re: DHCP
Отправлено: Efendy от 27 Сентября 2019, 10:25:30
в stat.pl переменную $ses::debug = 0 установить в 1. Также смотри логи апача


Название: Re: DHCP
Отправлено: WideAreaNetwork от 27 Сентября 2019, 20:32:02
обновился до 586
это сделали?
Код:
perl install.pl -w=www


Название: Re: DHCP
Отправлено: Fredik от 28 Сентября 2019, 18:26:27
да, все делал.
в логах ничего нет. не апача ни нодени
(https://d.radikal.ru/d14/1909/6c/5d5f7b236ef5t.jpg) (https://d.radikal.ru/d14/1909/6c/5d5f7b236ef5.png)

когда заходишь в настройки в админке дебаг пишет три ошибки
Цитировать
+   0.269324   
178   stat.pl
1446   calls.pm::Require_web_mod
1439   calls.pm::Require_mod
1439   calls.pm
81   start_admin.pl
257   _tune.pl::go
31   _tune.pl::next_line
Ошибочная строка:
<<<<<<< .mine
+   0.269983   
178   stat.pl
1446   calls.pm::Require_web_mod
1439   calls.pm::Require_mod
1439   calls.pm
81   start_admin.pl
257   _tune.pl::go
31   _tune.pl::next_line
Ошибочная строка:
||||||| .r248
+   0.270606   
178   stat.pl
1446   calls.pm::Require_web_mod
1439   calls.pm::Require_mod
1439   calls.pm
81   start_admin.pl
257   _tune.pl::go
31   _tune.pl::next_line
Ошибочная строка:
=======


Название: Re: DHCP
Отправлено: Fredik от 28 Сентября 2019, 19:36:48
в общем
1-не пропускать обновления
поудалял лишние файлы с папки сар оставил только последней ревизии перепатчил модули и все заработало.


Название: Re: DHCP
Отправлено: Efendy от 29 Сентября 2019, 17:57:48
проблема была в том, что ты или кто-то изменил файлы и потом при обновлении возник конфликт. Чтобы такого не было - надо делать патчи: http://app.nodeny-plus.com.ua/docs/develop/patching.html


Название: Re: DHCP
Отправлено: Fredik от 02 Октября 2019, 14:43:50
не могу понять, авторизируюсь ДХЦп все ок, работает, выключаю авторизированный ранее роутер,  ключ зеленый продолжает висеть,
в веб настройках Авторизации сделал да/5/150, куда капнуть чтоб ключ пропадал?


Название: Re: DHCP
Отправлено: Efendy от 03 Октября 2019, 06:42:02
тысячу раз обсуждали. Как сервер поймет, что комп выключен? Поэтому он снимает авторизацию через время от последнего запроса на аренду ip (кроме получения ip, комп регулярно продлевает его аренду - это используется как признак подключенности компа).

Кроме этого, в настройках есть параметр:
 
Код:
# Включение проверки пингованием по arp - позволяет раньше выявить когда клиент
# отключился, а не пока закончится время аренды ip
# Необходим модуль Net::ARP (/usr/ports/net/p5-Net-ARP)


Название: Re: DHCP
Отправлено: Fredik от 04 Октября 2019, 06:38:52
спасибо, поправил, но модуль авторизации не запустился почему-то, запустил вручную, пока работает.
а как авторизировать абонента по дхцп вручную, стоит видеорегистратор доступа к нему нет, мак знаю айпи знаю,
сейчас сделал так - поставил в параметрах айпи - статика, присвоил абоненту и добавил мак, поставил всегда онлайн.


Название: Re: DHCP
Отправлено: Cell от 04 Октября 2019, 11:29:00
правильно сделал, что еще хочешь?


Название: Re: DHCP
Отправлено: Fredik от 19 Ноября 2019, 18:49:16
хочу отучить абонентов от пппое, есть две мысли, помогите реализовать.
1)по пппое выдает айпи 10.126.0.0/16 по дхцп 10.125.0.0/16, в момент подключения проверить какой айпи присвоит если с 10,125,0,0 то не подключать, я так понимаю это нужно процедуру подправить, но как не знаю
2)добавить доп поле с параметром да нет и пометкой разрешить пппое и опять же нужно править процедуру.
кто что скажет по этому поводу, может кому полезно будет тоже, а то они по дхцп настраивают пару дней пользуются и опять на пппое по привычке возвращаются.


Название: Re: DHCP
Отправлено: Efendy от 20 Ноября 2019, 17:37:04
Если 2й радиус, то

Код:
DROP PROCEDURE IF EXISTS `radcheck`;
DELIMITER $$
CREATE PROCEDURE `radcheck` (IN login VARCHAR(64))
BEGIN
  SELECT u.id, u.name, 'Password' AS Attribute, AES_DECRYPT(u.passwd,'hardpass') AS Value,'=='
    FROM users u JOIN data0 d ON u.id = d.uid WHERE u.name=login AND d._allow_pppoe > 0;
END$$
DELIMITER ;


Название: Re: DHCP
Отправлено: Fredik от 22 Ноября 2019, 11:22:42
создать доп поле с именем _allow_pppoe и текстовым полем 0/1? или да нет?
а то я процедуру вставил и у меня конектить перестало.
rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=45, length=20
вернул назад и только через пару минут заработало


Название: Re: DHCP
Отправлено: Efendy от 22 Ноября 2019, 11:55:30
Назови процедуру не radcheck, а radcheck_test (внимание! выше в моем коде название встречается 2 раза) и тестируй с консоли, а не на клиентах.


Код:
call radcheck_test('petrov');


Название: Re: DHCP
Отправлено: Fredik от 22 Ноября 2019, 22:00:45
сделал выпадающее меню да нет
вот результат
mysql> call radcheck_test('test4');
+-----+-------+-----------+-------+----+
| id  | name  | Attribute | Value | == |
+-----+-------+-----------+-------+----+
| 642 | test4 | Password  | NULL  | == |
+-----+-------+-----------+-------+----+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)



Название: Re: DHCP
Отправлено: Fredik от 22 Ноября 2019, 23:25:43
проверил тестовый запрос проходит при ДА выдает логин при НЕт не выдает, все логично.
вставил в рабочую процедуру, не конектит.


Название: Re: DHCP
Отправлено: Efendy от 22 Ноября 2019, 23:28:06
Ты ж не новичок и знаешь, что мы не гадалки, где лог freeradius?


Название: Re: DHCP
Отправлено: Fredik от 23 Ноября 2019, 14:42:05
вчитавшись в лог,в код нашел ошибку
AES_DECRYPT(u.passwd,'hardpass'
а у меня AES_DECRYPT(u.passwd,'hardpass3'


Название: Re: DHCP
Отправлено: veca16 от 27 Декабря 2019, 01:05:33
Доброе время суток. Может кто сталкивался и может подсказать в чем дело может быть.
Выполняли обновление сервера так как на старом уже мощности не хватало для обслуживания клиентов заодно и софт обновить.
Конфигурация такая:
1)Старый сервер Freebsd 9.2-Release, DHCP Server 4.2.5-P1, Nodeny Plus rev 178, Mysql 5.5.33, Perl v5.14.4
2) Новый сервер Freebsd 11.2-Release, Dhcp Server 4.4.1, Nodeny Plus rev 571, Mysql 5.5.62, Perl v5.28.2
Используем модуль DHCP без Radius выдаем айпи из сети 10.0.0.0/16 каждая подсеть /24 в своем vlan, и все натим в пул с 15 айпи.
На новый сервер база для теста была развернута с последнего бекапа и тестировалась на офисе на нескольких офисных машинах и все работало нормально. Но вот когда попытались запустить новый сервер в продакшин то столкнулись с неожиданной проблемой, некоторые беспроводные клиенты нехотели получать айпи причем что странно в основном это были клиентские антены Rocket, с проводными и Mikrotik клиентами такого не наблюдалось. Если на новом сервере убрать с dhcp.conf опции чтобы запускать команды запуска скриптов модуля и dhcp просто выдает айпи с нужных сетей в ipfw отрыть всем доступ, то и у беспроводных клиентов с Rocket появлялся айпи и начинал работать интернет.
Мы поначалу решили что дело в самом dhcp сервере что в новом dhcp сервере что то не то и сделали схему что база данных,Nodeny ядро,noserver запустили на новом сервере а только dhcp сервер оставили на старой системе. Но это ничего не дало и опять клиенты с Rocket не получали айпи адресов. В чем дело пока понять не могу. Пока сделали такую схему База данных, ядро, dhcp сервер оставлен на старой системе и старом сервере а noserver запущен на новом сервере и весь трафик запущен через новый сервер и все хорошо работает.
Кто сталкивался подскажите пожалуйста в чем может быть дело. Заранее спасибо!


Название: Re: DHCP
Отправлено: ux0qt от 07 Января 2020, 21:24:43
А что в логах и посмотри лог на Rocket М2 ?


Название: Re: DHCP
Отправлено: ale1975 от 25 Февраля 2020, 00:54:43
Реально ли запустить параллельно pppoe, dhcp через радиус. Насколько я понял нужно менять radreply?

Всем привет! Кто реально запустил ? помогите за серьезные деньги!


Название: Re: DHCP
Отправлено: Efendy от 25 Февраля 2020, 08:39:55
У тебя по отдельности работает радиус + pppoe и радиус + dhcp?


Название: Re: DHCP
Отправлено: ale1975 от 25 Февраля 2020, 08:49:31
Радиус + пппое,  хочу создать процедуры типа radreply и тд , но они пересекаются с пппое. Не охота експеременты делать на рабочей машине,


Название: Re: DHCP
Отправлено: Efendy от 25 Февраля 2020, 09:25:07
В личку написал


Название: Re: DHCP
Отправлено: NodenY45 от 12 Апреля 2020, 12:30:31
Правильно ли я понимаю, что использовать включенный модуль DHCP в ядре, ни к чему не ведет, если во всех учетках стоит  значение АВТОРИЗАЦИЯ = ВСЕГДА ОНЛАЙН.

Занимаюсь сейчас настройкой авторизации через RADIUS, и при включеном модуле DHCP происходит двойная авторизация как через процедуру с параметрами (mod=ipoe, nas....ses...) так и через модуль DHCP (но уже без параметров).

Не будет ли проблем у существующих клиентов которые работают через dhcp+events.pl напрямую с дхцп-сервера nodeny (mod=dhcp).
Вторая часть клиентов через RADIUS (mod=ipoe)
БД одна.


Название: Re: DHCP
Отправлено: sedo26 от 05 Января 2021, 07:30:27
Revision: 631

DHCP server - 4.4.1

На NAS-ах которые обслуживают абонентов с коммутаторами и опцией82 постоянно появляются проблеммы с дубликатами маков:


05.01.2021 00:00:16 Duplicate entry '0c808389dc1a' for key 'mac'

{
  'sql' => 'UPDATE mac_uid SET time=UNIX_TIMESTAMP(), ip=INET_ATON(?), mac=? WHERE device_mac=? AND device_port=? AND oneconnect>0',
  'param' => [
    '192.168.152.148',
    '0c808389dc1a',
    'a4c64fa4ca1f',
    19
  ]
};

 UPDATE mac_uid SET time=UNIX_TIMESTAMP(), ip=INET_ATON('192.168.152.148'), mac='0c808389dc1a' WHERE device_mac='a4c64fa4ca1f' AND device_port='19' AND oneco
05.01.2021 00:00:16 Connecting to DBI:mysql:database=nodeny;host=192.168.108.231;port=3306;mysql_connect_timeout=5 : 0.001644 sec
05.01.2021 00:00:16 INSERT INTO mac_uid SET uid=0, mac='0c808389dc1a', device_mac='a4c64fa4ca1f', device_port='19', ip=INET_ATON('192.168.152.148'), time=UNI
M-PM-!M-Q~BM-Q~@M-PM->M-PM-:: 2. M-P~RM-Q~@M-PM-5M-PM-<M-Q~O M-PM-2M-Q~KM-PM-?M-PM->M-PM-;M-PM-=M-PM-5M-PM-=M-PM-8M-Q~O sql: 0.0038 M-Q~AM-PM-5M-PM-:
05.01.2021 00:00:16 SELECT uid FROM mac_uid WHERE mac='0c808389dc1a' AND device_mac='a4c64fa4ca1f' AND device_port='19'
M-PM-!M-Q~BM-Q~@M-PM->M-PM-:: 1. M-P~RM-Q~@M-PM-5M-PM-<M-Q~O M-PM-2M-Q~KM-PM-?M-PM->M-PM-;M-PM-=M-PM-5M-PM-=M-PM-8M-Q~O sql: 0.0006 M-Q~AM-PM-5M-PM-:
05.01.2021 00:00:16 UPDATE ip_pool SET uid='3731' WHERE ip=INET_ATON('192.168.152.148') AND type='dynamic'
M-PM-!M-Q~BM-Q~@M-PM->M-PM-:: 1. M-P~RM-Q~@M-PM-5M-PM-<M-Q~O M-PM-2M-Q~KM-PM-?M-PM->M-PM-;M-PM-=M-PM-5M-PM-=M-PM-8M-Q~O sql: 0.0049 M-Q~AM-PM-5M-PM-:
05.01.2021 00:00:16 CALL set_auth('192.168.152.148','mod=dhcp;user=0c808389dc1a;dev=a4c64fa4ca1f;port=19')
M-PM-!M-Q~BM-Q~@M-PM->M-PM-:: 1. M-P~RM-Q~@M-PM-5M-PM-<M-Q~O M-PM-2M-Q~KM-PM-?M-PM->M-PM-;M-PM-=M-PM-5M-PM-=M-PM-8M-Q~O sql: 0.0084 M-Q~AM-PM-5M-PM-:
05.01.2021 00:00:16 [commit] ip=192.168.152.148, mac=c:80:83:89:dc:1a, mac_ok=0c808389dc1a, port=a4c64fa4ca1f[19] | Ok


Разные абоненты каждый раз. Во время таких ошибок - отсутствует доступ. Отпускает по разному, у кого-то 1 мин. или меньше, другие жалуются что 15 минут неработает.

В БД - mac встречается 1 раз. Локов - нету. БД в локалке. Пинг до 0,5сек.

На коммутаторах:

 dhcp enable
 dhcp snooping enable
 dhcp server detect
 dhcp option82 format extend

vlan 152
 dhcp snooping trusted interface GigabitEthernet0/0/1
 dhcp snooping trusted interface GigabitEthernet0/0/2
 dhcp option82 rebuild enable interface Ethernet 0/0/1 to 0/0/24

interface Ethernet0/0/19
 port link-type access
 port default vlan 152
 loopback-detect enable
 dhcp snooping enable
 dhcp option82 insert enable
 dhcp snooping check dhcp-request enable alarm dhcp-request enable threshold 20
 dhcp snooping check dhcp-chaddr enable alarm dhcp-chaddr enable threshold 20
 dhcp snooping alarm dhcp-reply enable threshold 20
 dhcp snooping check dhcp-rate enable alarm dhcp-rate enable threshold 20
 arp anti-attack check user-bind enable



Проблемма у разных абонов, разных вланах, разных районах. От времени суток - независит.



Название: Re: DHCP
Отправлено: Efendy от 05 Января 2021, 19:08:48
Ты неудачно обрезал лог. Важно, что было до запроса с ошибкой. До этого запроса там должен выполнится такой:

Код:
UPDATE mac_uid SET mac=NULL, ip=0 WHERE mac='0c808389dc1a' AND (device_mac<>'a4c64fa4ca1f' OR device_port<>'19' );

который сбросит такой мак в null, т.е уже не будет такого мака в таблице. И этот запрос выполнится успешно:
Код:
UPDATE mac_uid SET time=UNIX_TIMESTAMP(), ip=INET_ATON('192.168.152.148'), mac='0c808389dc1a' WHERE device_mac='a4c64fa4ca1f' AND device_port='19' AND oneconnect>0;

Возможно events.pl у тебя или старый или правленый. Надо его смотреть. Прикрепи как txt файл


Название: Re: DHCP
Отправлено: sedo26 от 06 Января 2021, 13:16:57
Ты неудачно обрезал лог. Важно, что было до запроса с ошибкой. До этого запроса там должен выполнится такой:

Код:
UPDATE mac_uid SET mac=NULL, ip=0 WHERE mac='0c808389dc1a' AND (device_mac<>'a4c64fa4ca1f' OR device_port<>'19' );

который сбросит такой мак в null, т.е уже не будет такого мака в таблице. И этот запрос выполнится успешно:
Код:
UPDATE mac_uid SET time=UNIX_TIMESTAMP(), ip=INET_ATON('192.168.152.148'), mac='0c808389dc1a' WHERE device_mac='a4c64fa4ca1f' AND device_port='19' AND oneconnect>0;

Возможно events.pl у тебя или старый или правленый. Надо его смотреть. Прикрепи как txt файл


dhcp.events.log

Код:
06.01.2021 00:05:28 [commit] ip=192.168.243.39, mac=78:44:76:d9:a0:dd, mac_ok=784476d9a0dd | Ok
06.01.2021 00:05:28 [commit] ip=192.168.144.159, mac=14:cc:20:6b:8d:ef, mac_ok=14cc206b8def, port=80fb06b71078[19] | Ok
06.01.2021 00:05:28 Connecting to DBI:mysql:database=nodeny;host=192.168.108.231;port=3306;mysql_connect_timeout=5 : 0.001438 sec
06.01.2021 00:05:29 Duplicate entry '784476b6fa37' for key 'mac'

{
  'param' => [
    '192.168.144.58',
    '784476b6fa37',
    '781dbab50336',
    12
  ],
  'sql' => 'UPDATE mac_uid SET time=UNIX_TIMESTAMP(), ip=INET_ATON(?), mac=? WHERE device_mac=? AND device_port=? AND oneconnect>0'
};

 UPDATE mac_uid SET time=UNIX_TIMESTAMP(), ip=INET_ATON('192.168.144.58'), mac='784476b6fa37' WHERE device_mac='781dbab50336' AND device_port='12' AND oneconnect>0
06.01.2021 00:05:29 Connecting to DBI:mysql:database=nodeny;host=192.168.108.231;port=3306;mysql_connect_timeout=5 : 0.001401 sec
06.01.2021 00:05:29 INSERT INTO mac_uid SET uid=0, mac='784476b6fa37', device_mac='781dbab50336', device_port='12', ip=INET_ATON('192.168.144.58'), time=UNIX_TIMESTAMP() ON DUPLICATE KEY UPDATE device_mac='781dbab50336', device_port='12'
Строк: 2. Время выполнения sql: 0.0040 сек
06.01.2021 00:05:29 SELECT uid FROM mac_uid WHERE mac='784476b6fa37' AND device_mac='781dbab50336' AND device_port='12'
Строк: 1. Время выполнения sql: 0.0005 сек
06.01.2021 00:05:29 UPDATE ip_pool SET uid='4335' WHERE ip=INET_ATON('192.168.144.58') AND type='dynamic'
Строк: 1. Время выполнения sql: 0.0035 сек
06.01.2021 00:05:29 CALL set_auth('192.168.144.58','mod=dhcp;user=784476b6fa37;dev=781dbab50336;port=12')
Строк: 1. Время выполнения sql: 0.0074 сек
06.01.2021 00:05:29 [commit] ip=192.168.144.58, mac=78:44:76:b6:fa:37, mac_ok=784476b6fa37, port=781dbab50336[12] | Ok
06.01.2021 00:05:29 [commit] ip=192.168.243.195, mac=78:44:76:b7:0:f3, mac_ok=784476b700f3 | Ok
06.01.2021 00:05:29 [commit] ip=192.168.204.183, mac=14:4d:67:3:16:89, mac_ok=144d67031689, port=e067b3c1c4c9[19] | Ok

events.pl - родной, модуль DHCP переустанавливал.




Название: Re: DHCP
Отправлено: Efendy от 06 Января 2021, 19:05:22
В этом файле замени временно:
Код:
-only_log => 1,
на
Код:
-only_log => 0,
и пришли кусок лога как ты присылал, только захвати строк по 10 сверху и снизу


Название: Re: DHCP
Отправлено: sedo26 от 07 Января 2021, 00:39:27
В этом файле замени временно:
Код:
-only_log => 1,
на
Код:
-only_log => 0,
и пришли кусок лога как ты присылал, только захвати строк по 10 сверху и снизу

Полный запрос:


Название: Re: DHCP
Отправлено: Efendy от 07 Января 2021, 03:23:12
Похоже у тебя некоректная комбинация данных в таблице. Давай проверим и если так, будем думать как она могла появиться:

Код:
select device_mac, device_port, count(*) from mac_uid where oneconnect>0 group by device_mac, device_port having count(*)>1;


Название: Re: DHCP
Отправлено: sedo26 от 07 Января 2021, 11:16:40
Похоже у тебя некоректная комбинация данных в таблице. Давай проверим и если так, будем думать как она могла появиться:

Код:
select device_mac, device_port, count(*) from mac_uid where oneconnect>0 group by device_mac, device_port having count(*)>1;

Действительно есть

Код:
mysql> select device_mac, device_port, count(*) from mac_uid where oneconnect>0 group by device_mac, device_port having count(*)>1;
+--------------+-------------+----------+
| device_mac   | device_port | count(*) |
+--------------+-------------+----------+
| 04f938c6e013 |           7 |        2 |
| 04f938c6e013 |          16 |        2 |
| 04f938c6e013 |          22 |        2 |
| 0819a6b440e0 |           7 |        2 |
| 0819a6c4f468 |          23 |        2 |
| 781dbab502aa |           9 |        2 |
| 781dbab502aa |          18 |        2 |
| 781dbab502aa |          21 |        2 |
| 781dbab502aa |          22 |        2 |
| 781dbab50336 |          12 |        2 |
| a4c64fa4ca1f |          17 |        2 |
| a4c64fa4ca1f |          19 |        2 |
| a4c64fa4ca1f |          20 |        2 |
| e0247f1a5c27 |           8 |        2 |
| e0247f1a5c27 |           9 |        2 |
| e0247f1a5c27 |          11 |        2 |
| e0247f1a5c27 |          12 |        2 |
| e0247f1a5c27 |          14 |        2 |
| e0247f1a5c27 |          16 |        2 |
+--------------+-------------+----------+
19 rows in set (0.01 sec)



Название: Re: DHCP
Отправлено: Efendy от 07 Января 2021, 12:20:19
Ситуация некорректная. Флаг "один на порту" означает, что запись "устройство-порт" должна быть уникальной. В интерфейсе блокируется создание больше одной такой записи. Ты вручную апдейтил таблицу?

Некорректные комбинации надо удалить из базы или оставить только по одной записи


Название: Re: DHCP
Отправлено: sedo26 от 07 Января 2021, 12:50:00
Ситуация некорректная. Флаг "один на порту" означает, что запись "устройство-порт" должна быть уникальной. В интерфейсе блокируется создание больше одной такой записи. Ты вручную апдейтил таблицу?

Некорректные комбинации надо удалить из базы или оставить только по одной записи


В ручную - таблица неменялась. У нас часто свитчи меняют местоположение (ставим на 48портов, а старый переносим на другой дом) помоему старались вичищать всех абонентов с портов. Хотя по биллингу дубликатов невидно.

Таких клиентов немного, как их правильно почистить? Пусть потом опять авторизируются.


Название: Re: DHCP
Отправлено: Efendy от 07 Января 2021, 13:52:38
у тебя есть мак и порт из запроса выше


Название: Re: DHCP
Отправлено: sedo26 от 08 Января 2021, 17:24:23
Дубликаты почистил.
А строки маков без uid ведь тоже можно убрать?


Название: Re: DHCP
Отправлено: Gosha от 03 Апреля 2021, 11:05:26
Добрый день. Немного хочу модифицировать конфиг dhcp , для статических ip, с опт82
Есть такая конструкция
Код:
{% for user in users %}
        {% for con in user.connection %}
                {% if con.device_mac && con.type eq 'static' && con.oneconnect && con.ip >= inet.aton('10.3.11.1') && con.ip <= inet.aton('10.3.11.64') %}
        pool { range {{con.ipa}}; allow members of "host{{con.ipa}}"; }
                {% endif %}
        {% endfor %}
{% endfor %}
Все работает. Но хочется в pool range  выдавать 2 ip, при этом , что бы второй ip отличался от con.ipa на 100, типа 10.3.11.1 10.3.11.101
В этой сети /24 используется только первые 64 ip. И это для перетыкальщиков.
Как это лучше сделать?


Название: Re: DHCP
Отправлено: Efendy от 05 Апреля 2021, 23:47:45
Это нужно написать фильтр по типу pretty_mac как тут (http://nodeny.com.ua/wiki/index.php/Dhcp-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_make_config)

Типа такого:
Код:
second_ip => sub {
                my $ip = shift;
                $ip=~ s/(\d+)$/($1+100)/e;
                return $ip;
},
(надо проверить, но думаю я не ошибся)
и в шаблоне:
Код:
{{con.ipa|second_ip}}


Название: Re: DHCP
Отправлено: Gosha от 06 Апреля 2021, 10:40:49
Код:
second_ip => sub {
                my $ip = shift;
                $ip=~ s/(\d+)$/($1+100)/e;
                return $ip;
},
(надо проверить, но думаю я не ошибся)
и в шаблоне:
Код:
{{con.ipa|second_ip}}

Я думал об этом. Есть два пути, или con.ip + 100 , а потом ntoa. Или парсинг ip. Только не хватает мозгов... Буду пробовать.


Название: Re: DHCP
Отправлено: Nafanya от 14 Мая 2021, 23:23:13
Доброго времени суток.
У клиента почемуто создается два подключения по ДХЦП в адмике. Сталкиваюсь с этим не первый раз. Запуск модуля согласно доки, в модуле, =1. Пробовал отключать и запускать отдельным процессом. Все равно. Может кто подскажет? Спасибо.


Название: Re: DHCP
Отправлено: Efendy от 14 Мая 2021, 23:35:11
Если у тебя next, удали модуль dhcp, обнови биллинг и не скачивай модуль dhcp (он встроен в биллинг)


Название: Re: DHCP
Отправлено: Nafanya от 15 Мая 2021, 08:35:28
Если у тебя next, удали модуль dhcp, обнови биллинг и не скачивай модуль dhcp (он встроен в биллинг)
Спасибо, исправил.