Перейти до

ISC DHCP + Option 82 - no free leases


Рекомендованные сообщения

Пардон, мой выложен немного не там - в соседней теме, где-то на 7 странице.

На каждый DHCPDISCOVER дергается база?

Ви таки гавагите, будто это что-то плохое.

Да. Запросы там простые, как два пальца об асфальт, разницы в нагрузке (около 2к юзеров на сервер) я не заметил.

 

А документация?

Насчет моего - там есть краткий ридми, как его завести, коли непонятно чего - спрашивайте.

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

Пардон, мой выложен немного не там - в соседней теме, где-то на 7 странице.

На каждый DHCPDISCOVER дергается база?

Ви таки гавагите, будто это что-то плохое.

Да. Запросы там простые, как два пальца об асфальт, разницы в нагрузке (около 2к юзеров на сервер) я не заметил.

 

Я вижу сие только как отдельный промежуточный слой между юзером и базой биллинга, который "кешируется" и обновляется по чейнж ивентам из биллинга. Ибо не у всех в биллинге простая логика БД, а каждый раз дергать ее тяжелыми запросами со множеством джойнов - не комильфо.

 

Плюс если крутить к аппаратным брасам, то нужен еще и радиус, что делает все очень громоздким

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

Пардон, мой выложен немного не там - в соседней теме, где-то на 7 странице.

На каждый DHCPDISCOVER дергается база?

Ви таки гавагите, будто это что-то плохое.

Да. Запросы там простые, как два пальца об асфальт, разницы в нагрузке (около 2к юзеров на сервер) я не заметил.

 

Я вижу сие только как отдельный промежуточный слой между юзером и базой биллинга, который "кешируется" и обновляется по чейнж ивентам из биллинга. Ибо не у всех в биллинге простая логика БД, а каждый раз дергать ее тяжелыми запросами со множеством джойнов - не комильфо.

 

Плюс если крутить к аппаратным брасам, то нужен еще и радиус, что делает все очень громоздким

У dhcp-сервера своя база. Я её просто из биллинга наполняю.

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

Пардон, мой выложен немного не там - в соседней теме, где-то на 7 странице.

На каждый DHCPDISCOVER дергается база?

Ви таки гавагите, будто это что-то плохое.

Да. Запросы там простые, как два пальца об асфальт, разницы в нагрузке (около 2к юзеров на сервер) я не заметил.

 

Я вижу сие только как отдельный промежуточный слой между юзером и базой биллинга, который "кешируется" и обновляется по чейнж ивентам из биллинга. Ибо не у всех в биллинге простая логика БД, а каждый раз дергать ее тяжелыми запросами со множеством джойнов - не комильфо.

 

Плюс если крутить к аппаратным брасам, то нужен еще и радиус, что делает все очень громоздким

У dhcp-сервера своя база. Я её просто из биллинга наполняю.

Тогда что мешает так-же наполнять файл leases для ISC DHCPd?

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

Пардон, мой выложен немного не там - в соседней теме, где-то на 7 странице.

На каждый DHCPDISCOVER дергается база?

Ви таки гавагите, будто это что-то плохое.

Да. Запросы там простые, как два пальца об асфальт, разницы в нагрузке (около 2к юзеров на сервер) я не заметил.

 

Я вижу сие только как отдельный промежуточный слой между юзером и базой биллинга, который "кешируется" и обновляется по чейнж ивентам из биллинга. Ибо не у всех в биллинге простая логика БД, а каждый раз дергать ее тяжелыми запросами со множеством джойнов - не комильфо.

 

Плюс если крутить к аппаратным брасам, то нужен еще и радиус, что делает все очень громоздким

У dhcp-сервера своя база. Я её просто из биллинга наполняю.

Тогда что мешает так-же наполнять файл leases для ISC DHCPd?

 

Единственный плюс - что не нужно рестартить.

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

На наге есть два DHCP сервера. Скелет (без логики, свою логику надо дописывать) от Ivan_83 и готовый (ставь и пользуйся) мой.

Написаны специально, чтобы избежать костылей с isc dhcpd.

от ивана я пробовал ... чуть не то . это чисто dhcp+mysql (что с опцией что без нее...)

 

а по поводу костелей в isc ? не понял что вы имеете ввиду.

он штатно работате с опцией82

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

На наге есть два DHCP сервера. Скелет (без логики, свою логику надо дописывать) от Ivan_83 и готовый (ставь и пользуйся) мой.

Написаны специально, чтобы избежать костылей с isc dhcpd.

а по поводу костелей в isc ? не понял что вы имеете ввиду.

он штатно работате с опцией82

Работает, но получается как раз эта тема - проблемы с лизами при перетыкании :)

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

На наге есть два DHCP сервера. Скелет (без логики, свою логику надо дописывать) от Ivan_83 и готовый (ставь и пользуйся) мой.

Написаны специально, чтобы избежать костылей с isc dhcpd.

а по поводу костелей в isc ? не понял что вы имеете ввиду.

он штатно работате с опцией82

Работает, но получается как раз эта тема - проблемы с лизами при перетыкании :)

по поводу лиз - пач от dd - и все становится гуд

конечно кошернее в мускуле или посгресе - но и там свои недостатки.

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

У dhcp-сервера своя база. Я её просто из биллинга наполняю.

Тогда что мешает так-же наполнять файл leases для ISC DHCPd?

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

В любом случае, с базой работать приятней - например, в биллинге и CRM есть зеленая/красная лампочка - получил клиент адрес или нет (для саппорта).

Вот так оно у меня выглядит (см. 'DHCP отримано'):

dhcp-diag.png

С ISC такого не сделаешь ;).

 

На наге есть два DHCP сервера. Скелет (без логики, свою логику надо дописывать) от Ivan_83 и готовый (ставь и пользуйся) мой.

Написаны специально, чтобы избежать костылей с isc dhcpd.

от ивана я пробовал ... чуть не то . это чисто dhcp+mysql (что с опцией что без нее...)

 

а по поводу костелей в isc ? не понял что вы имеете ввиду.

он штатно работате с опцией82

Штатно - это когда if-ы для каждого клиента в конфиге?

Просто обожаю вот такие конструкции:

match if binary-to-ascii(16, 8, "-", suffix(option agent.remote-id, 5)) = "af:f7:c9:31:59" and binary-to-ascii(10, 8, "", suffix(option agent.circuit-id, 1)) = "1";

Или вот мне вообще нравится то, что для isc нужно задать хотя бы один пул интерфейс (можно даже пустой) - иначе он вообще не запустится.

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

У dhcp-сервера своя база. Я её просто из биллинга наполняю.

Тогда что мешает так-же наполнять файл leases для ISC DHCPd?

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

В любом случае, с базой работать приятней - например, в биллинге и CRM есть зеленая/красная лампочка - получил клиент адрес или нет (для саппорта).

Вот так оно у меня выглядит (см. 'DHCP отримано'):

dhcp-diag.png

С ISC такого не сделаешь ;).

 

На наге есть два DHCP сервера. Скелет (без логики, свою логику надо дописывать) от Ivan_83 и готовый (ставь и пользуйся) мой.

Написаны специально, чтобы избежать костылей с isc dhcpd.

от ивана я пробовал ... чуть не то . это чисто dhcp+mysql (что с опцией что без нее...)

 

а по поводу костелей в isc ? не понял что вы имеете ввиду.

он штатно работате с опцией82

Штатно - это когда if-ы для каждого клиента в конфиге?

Просто обожаю вот такие конструкции:

match if binary-to-ascii(16, 8, "-", suffix(option agent.remote-id, 5)) = "af:f7:c9:31:59" and binary-to-ascii(10, 8, "", suffix(option agent.circuit-id, 1)) = "1";

Или вот мне вообще нравится то, что для isc нужно задать хотя бы один пул интерфейс (можно даже пустой) - иначе он вообще не запустится.

а че на конструкции смотреть то ... они то скриптом генерируются....сами .

а кто вам сказал что нельзя сделать

писал тезка для своей сети ( поделился)

post-2356-0-05044400-1347968848_thumb.png

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

писал тезка для своей сети ( поделился)

Красиво, согласен. Я у Вас идею скомунизжу - буду и у себя hostname показывать :).

Насчет можно/нельзя - конечно, можно, но как-то это кривовато, как по мне - файл разбирать.

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

...

У dhcp-сервера своя база. Я её просто из биллинга наполняю.

Тогда что мешает так-же наполнять файл leases для ISC DHCPd?

 

Единственный плюс - что не нужно рестартить.

Ее можно наполнять и без рестарта, по OMAPI.

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

писал тезка для своей сети ( поделился)

Красиво, согласен. Я у Вас идею скомунизжу - буду и у себя hostname показывать :).

Насчет можно/нельзя - конечно, можно, но как-то это кривовато, как по мне - файл разбирать.

Можно не разбирать.

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

Ее можно наполнять и без рестарта, по OMAPI.

Да-да, давно хотел попробовать, но так себя и не заставил

У OMAPI странноватая логика, но он работает. Я на прошлой работе заимплементил наполнение базы лизов и получение информации о лизах с помощью этого протокола. Там, правда, сложности с получением информации об Option82 были, но я написал патчи и все заработало замечательно.

Печалит другое - ISC собирается выпилить поддержку этого протокола из своих продуктов.

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

OMAPI ... ну если только читать инфу о лизах или выдавать абонам из пула то можно syslog-ng+mysql+пару тригеров прикрутить - но опять же не то... хочется полноценной поддержки баз . (из того что пробовал - ничего не подошло - по разным причинам)

 

з.ы.

В описании пулов между ";" и "}" пропущен пробел. Порасставляй пробелы и будет тебе счастье.

уважаемый если потрудитесь почитать маны то осчасливете все человечество. или тут принято писать полный бред?

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

OMAPI ... ну если только читать инфу о лизах или выдавать абонам из пула то можно syslog-ng+mysql+пару тригеров прикрутить - но опять же не то... хочется полноценной поддержки баз . (из того что пробовал - ничего не подошло - по разным причинам)

 

з.ы.

В описании пулов между ";" и "}" пропущен пробел. Порасставляй пробелы и будет тебе счастье.

уважаемый если потрудитесь почитать маны то осчасливете все человечество. или тут принято писать полный бред?

 

Факт остается фактом... При

pool { range 10.0.0.101; allow members of "sw170-1";}

в логе имеем

DHCPDISCOVER from 00:17:31:db:cf:a2 via em1: network test: no free leases
DHCPDISCOVER from 00:17:31:db:cf:a2 via 10.0.0.250: network test: no free leases

 

При

pool { range 10.0.0.101; allow members of "sw170-1"; }

все корретно работает.

Сам когда-то "наступил" на эти грабли. Неделю курил маны, модифицировал все что возможно... А потом поставил пробелы - и все сразу заработало.

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

ну кончено ....

только вас не смущает то что я выложил полностью рабочий конфиг ( часть его ) и сервера который в продакшен стои?

это раз.

второе: при не верном синтаксисе isc при старте будет ругатся и не стартанет.

третье:

DHCPDISCOVER from 00:17:31:db:cf:a2 via 10.0.0.250: network test: no free leases

откройте ман и почитайте что это значит.

 

; = конец строки

} = конец блока

;} что ; } или ; }

или

;

 

}

 

роли не играет

 

 

для експересмента

не поставтье ; или }

 

в любой строке

или

allow members замените на allowmembers

и рестартание isc

получится запустить?

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

Согласен, при неверном синтаксисе ISC при запуске вылетает, указывая на номер строки, где допущена ошибка. Однако, в моем случае, при слитном ;} айпишник не выдается (в логах - no free leases), а если разделить пробелом - то все корректно работает. Софт: FreeBSD 9.0, isc-dhcp42-server-4.2.4 без патчей.

 

Кста, в man dhcpd.conf вообще все пулы и класы описываются с переводом каретки на новую строку:

 

 subnet 10.0.0.0 netmask 255.255.255.0 {
	 option routers 10.0.0.254;
	 # Unknown clients get this pool.
	 pool {
	 option domain-name-servers bogus.example.com;
	 max-lease-time 300;
	 range 10.0.0.200 10.0.0.253;
	 allow unknown-clients;
	 }
	 # Known clients get this pool.
	 pool {
	 option domain-name-servers ns1.example.com, ns2.example.com;
	 max-lease-time 28800;
	 range 10.0.0.5 10.0.0.199;
	 deny unknown-clients;
	 }
 }

 

. В одну строку есть описание хостов, но там пробелы присутствуют:

 

group {
filename "Xncd19r";
next-server ncd-booter;

host ncd1 { hardware ethernet 0:c0:c3:49:2b:57; }
host ncd4 { hardware ethernet 0:c0:c3:80:fc:32; }
host ncd8 { hardware ethernet 0:c0:c3:22:46:81; }
}

 

Пускай dimka890 отпишется, помогла ли расстановка пробелов или нет, а то общение уже как-то "отошло" от решения первоначальной проблемы.

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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...