Рано или поздно любой системный администратор осознает необходимость перевода вверенных ему компьютеров и сетевых устройств на автоматическое получение параметров протокола TCP/IP с помощью DHCP (Dynamic Host Configuration Protocol). С учетом того, что большинство современных операционных систем имеет в своем составе включенные по умолчанию DHCP-клиенты, не нуждающиеся в дополнительной настройке, процедура внедрения DHCP сводится к установке и настройке DHCP-сервера.
Постановка задачи
Данная статья описывает простую, но достаточную для обслуживания небольших локальных сетей конфигурацию самого популярного DHCP-сервера для операционных систем семейства Linux / Unix от Internet Systems Consortium (далее — DHCP-сервера). Предложенная конфигурация обеспечивает динамическое распределение заданного диапазона IP-адресов, выделение фиксированных IP-адресов нескольким компьютерам (серверам), а также передачу клиентам всех параметров, необходимых для работы в сети TCP/IP. Для повышения безопасности DHCP-сервер запускается в chroot(8) от имени непривилегированных пользователя / группы, а для повышения удобства диагностики и мониторинга он интегрирован со штатными средствами управления логами syslogd(8) и newsyslog(8).
Исходные данные
Имеется сервер с FreeBSD, подключенный к локальной сети с IP-адресом 192.168.0.0/24
через интерфейс bge1
с IP-адресом 192.168.0.1
. На него будет установлен DHCP-сервер. Имеется несколько десятков компьютеров и сетевых устройств, которым следует выдавать IP-адреса из диапазона 192.168.0.101
— 192.168.0.200
, а также два сервера, которым нужно выдавать фиксированные IP-адреса 192.168.0.2
и 192.168.0.3
. Кроме того, всем DHCP-клиентам необходимо сообщать имя DNS-домена company.local
, IP-адреса DNS-серверов 192.168.0.2
и 192.168.0.3
, а также IP-адрес шлюза по умолчанию 192.168.0.1
. DHCP-сервер будет устанавливаться из портов, поэтому я рекомендую обновить их.
Установка и настройка DHCP-сервера
Для обеспечения работоспособности DHCP-сервера требуется поддержка устройств bpf(4) ядром FreeBSD. Стандартное ядро GENERIC
поддерживает устройства bpf
, а при использовании самосборного ядра придется убедиться в наличии строки device bpf
в файле его конфигурации, и, если таковая отсутствует, добавить ее, пересобрать ядро и перезагрузить систему.
Для установки DHCP-сервера из портов следует выполнить команды:
cd /usr/ports/net/isc-dhcp41-server make config install clean
В окне конфигурации нужно отметить единственную опцию [X] DHCP_PARANOIA Enable support for chroot
. Обратите внимание, что при установке DHCP-сервера будут созданы пользователь dhcpd
, группа dhcpd
и заготовка файла конфигурации /usr/local/etc/dhcpd.conf.sample
.
По умолчанию конфигурация DHCP-сервера хранится в файле /usr/local/etc/dhcpd.conf
. Я предпочитаю создавать этот файл без использования вышеупомянутой заготовки, содержащей слишком много лишнего. В рассматриваемом случае файл конфигурации должен иметь такой вид:
option domain-name company.local; option domain-name-servers 192.168.0.2, 192.168.0.3; option routers 192.168.0.1; authoritative; log-facility local7; subnet 192.168.0.0 netmask 255.255.255.0 {range 192.168.0.100 192.168.0.200;} host server2 {hardware ethernet 00:1c:c4:a5:07:ca; fixed-address 192.168.0.2;} host server3 {hardware ethernet d8:d3:85:dc:df:bc; fixed-address 192.168.0.3;}
В данном файле заданы следующие значения параметров: option domain-name...
, option domain-name-servers...
и option routers...
— имя DNS-домена, список IP-адресов и/или DNS-имен DNS-серверов и список IP-адресов и/или DNS-имен шлюзов (учтите, что перечисленные параметры относятся ко всем обслуживаемым подсетям, но их можно переопределить в секциях subnet
для индивидуальной настройки отдельных подсетей); authoritative
— признак авторитетности DHCP-сервера (авторитетный DHCP-сервер может инициировать прекращение существующих договоров аренды и запускать повторную процедуру получения IP-адресов); log-facility...
— раздел системного журнала, в который будут перенаправляться сообщения DHCP-сервера; subnet...
— обслуживаемая подсеть с диапазоном динамически выделяемых IP-адресов range...
; host...
— узлы с MAС-адресами сетевых карт hardware ethernet
, которым необходимо выдавать предопределенные IP-адреса fixed-address
(в случае корректно настроенного резольвинга в качестве fixed-address
можно использовать не только IP-адреса узлов, но и их DNS-имена).
Более подробная информация о параметрах, которые можно задать в файле конфигурации DHCP-сервера, имеется в dhcpd.conf(5)
, а список всех опций DHCP (параметров TCP/IP-сети, которые можно сообщить клиентам) — в dhcp-options(5)
.
Для того, чтобы DHCP-сервер автоматически запускался при запуске операционной системы, следует добавить в файл /etc/rc.conf
строки:
dhcpd_enable="YES" dhcpd_flags="-q -4" dhcpd_conf="/usr/local/etc/dhcpd.conf" dhcpd_ifaces="bge1" dhcpd_withumask="022" dhcpd_chuser_enable="YES" dhcpd_withuser="dhcpd" dhcpd_withgroup="dhcpd" dhcpd_chroot_enable="YES" dhcpd_devfs_enable="YES" dhcpd_rootdir="/var/db/dhcpd"
Данные строки запрещают вывод диагностических сообщений на консоль и отключают протокол IPv6, задают имя файла конфигурации, привязывают DHCP-сервер к интерфейсу bge1
(bge1
нужно заменить на имя используемого интерфейса, а при прослушивании нескольких интерфейсов придется перечислить их имена, используя пробел в качестве разделителя), устанавливают маску создаваемых файлов 022
(запрещают запись всем, кроме владельца), а также обеспечивают запуск в chroot-окружении с корневой папкой /var/db/dhcpd
от имени пользователя dhcpd
и группы dhcpd
.
На этом настройка DHCP-сервера заканчивается. Можно запустить сервер командой /usr/local/etc/rc.d/isc-dhcpd start
, а затем запросить его состояние командой /usr/local/etc/rc.d/isc-dhcpd status
. Если последняя команда выдаст сообщение dhcpd is running as pid ...
, все нормально, если же – dhcpd is not running
, придется найти и устранить ошибки в файлах конфигурации.
Анализ состояния DHCP-сервера
Для включения вывода сообщений DHCP-сервера на консоль следует изменить определение переменной dhcpd_flags
в файле /etc/rc.conf
:
dhcpd_flags="-d"
и перезапустить DHCP-сервер командой /usr/local/etc/rc.d/isc-dhcpd restart
.
Признаком корректного запуска DHCP-сервера может служить примерно такое сообщение:
Starting dhcpd. Internet Systems Consortium DHCP Server 4.1.2 Copyright 2004-2010 Internet Systems Consortium. All rights reserved. For info, please visit http://www.isc.org/software/dhcp/ Wrote 0 deleted host decls to leases file. Wrote 0 new dynamic host decls to leases file. Wrote 0 leases to leases file. Listening on BPF/bge1/00:1c:c4:fa:7c:73/192.168.0.0/24 Sending on BPF/bge1/00:1c:c4:fa:7c:73/192.168.0.0/24 Sending on Socket/fallback/fallback-net
Выделение динамических IP-адресов DHCP-клиентам сопровождается примерно такими сообщениями:
... dhcpd: DHCPDISCOVER from 90:21:55:bd:0b:36 via bge1 ... dhcpd: DHCPOFFER on 192.168.0.101 to 90:21:55:bd:0b:36 (android_81b37c43c8cbaef2) via bge1 ... dhcpd: DHCPREQUEST for 192.168.0.101 (192.168.0.1) from 90:21:55:bd:0b:36 (android_81b37c43c8cbaef2) via bge1 ... dhcpd: DHCPACK on 192.168.0.101 to 90:21:55:bd:0b:36 (android_81b37c43c8cbaef2) via bge1
а выделение предопределенных IP-адресов по заданным MAC-адресам сетевых карт — примерно такими:
... dhcpd: DHCPDISCOVER from 00:1c:c4:a5:07:ca via bge1 ... dhcpd: DHCPOFFER on 192.168.0.2 to 00:1c:c4:a5:07:ca via bge1 ... dhcpd: Dynamic and static leases present for 192.168.0.2. ... dhcpd: Remove host declaration server2 or remove 192.168.0.2 ... dhcpd: from the dynamic address pool for 192.168.0.0/24 ... dhcpd: DHCPREQUEST for 192.168.0.2 (192.168.0.1) from 00:1c:c4:a5:07:ca via bge1 ... dhcpd: DHCPACK on 192.168.0.2 to 00:1c:c4:a5:07:ca via bge1
Рассмотренный способ наблюдения за состоянием DHCP-сервера прост и понятен (особенно при наличии под рукой документа RFC-2131), но очень неудобен в связи с необходимостью смотреть на консоль, на которую выдается огромное количество «лишней» информации.
Гораздо удобнее обеспечить запись сообщений DHCP-сервера в отдельный лог с помощью штатного демона syslogd. При этом нужно учесть, что из-за работы в chroot-окружении DHCP-сервер не может взаимодействовать с syslogd, сконфигурированным по умолчанию, т.к. сокет последнего находится за пределами chroot-окружения первого. Для исправления данного обстоятельства необходимо заставить syslogd слушать еще один сокет, имеющий имя /var/run/log
относительно корневой папки chroot-окружения DHCP-сервера. Для автоматического создания такого сокета в процессе запуска syslogd, следует добавить соответствующий ключ -l
к определению переменной syslogd_flags
в файле /etc/rc.conf
:
syslogd_flags="... -l /var/db/dhcpd/var/run/log"
Для того, чтобы syslogd записывал сообщения DHCP-сервера в лог /var/log/dhcpd.log
, нужно добавить в файл /etc/syslog.conf
строку:
local7.* /var/log/dhcpd.log
Для вступления изменений в силу необходимо создать пустой лог командой touch /var/log/dhcpd.log
, а затем перезапустить syslogd командой /etc/rc.d/syslogd restart
. Начиная с этого момента, все сообщения DHCP-сервера будут записываться в лог /var/log/dhcpd.log
.
Для того, чтобы с течением времени лог DHCP-сервер не разрастался до бесконечности, следует включить его ротацию с помощью штатной утилиты newsyslog. Например, для ежесуточного усечения лога /var/log/dhcpd.log
с сохранением семи предыдущих копий, сжатых архиватором bzip2(1), нужно добавить в файл /etc/newsyslog.conf
строку:
/var/log/dhcpd.log 644 7 * @T00 JC
Заключение
Я надеюсь, что не забыл ничего важного, и приведенной информации хватит для корректной настройки и последующей отладки DHCP-сервера от ISC на компьютере с операционной системой FreeBSD.
Привет. Сделал все, как у тебя написано в статье. Все работает, только при запуске сервера выводит предупреждения:
/usr/local/etc/rc.d/isc-dhcpd: WARNING: dhcpd_chuser_enable disabled -- not compiled in
/usr/local/etc/rc.d/isc-dhcpd: WARNING: dhcpd_chroot_enable disabled -- not compiled in
Starting dhcpd.
Закомментировал в
rc.conf
соответствующие строчки:dhcpd_chuser_enable="YES"
dhcpd_chroot_enable="YES"
предупреждения пропали, все работает, но только хотелось бы все таки понять что это за предупреждения, и как изменяется работа сервера без вышеуказанных строчек в
rc.conf
?Привет! Вот это:
происходит из-за того, что при сборке DHCP-сервера не была установлена галочка
[X] DHCP_PARANOIA Enable support for chroot
.DHCP-сервер будет работать под
root
‘ом и иметь доступ ко всей файловой системе. Теоретически, это небезопасно.Тогда думаю в этой строчке статьи необходимо заменить «отменить» на «отметить»? 🙂
Естественно. Исправил. Спасибо 🙂
Всё очень хорошо написано. Только серверам IP адреса, лучше всё таки давать статические, проблем будет меньше.
Спасибо. Насчет серверов полностью согласен, просто привел пример.
Для запуска сервера достаточно одной строки в
rc.conf
dhcpd_enable="YES"
DHCP все таки сложная штука. Неплохо бы описание механизмов аренды, опции82, как это все дело хранить в БД, как перенумеровывать сеть с в которой уже внедрен DHCP, как интегрировать все это с DNS, AD, как передать например прокси сервер. Короче много вопросов не освященных в рунете.
А так заметка очень для новичков.
Достаточно, не спорю. Особенно, если Вас не беспокоит безопасность системы и «прочаяя фигня» 😉
Статья начинается со слов: «Данная статья описывает простую, но достаточную для обслуживания небольших локальных сетей конфигурацию самого популярного DHCP-сервера…» Какая БД? Каких механизмов аренды? Что перенумеровывать? В чем по вашему заключается интеграция с DNS+AD (штатных возможностей DDNS Windows Server 200x недостаточно)? Параметры прокси-сервера можно передать с помощью DHCP?
А Вы, я смотрю, Гуру, привыкший настраивать сети из тысяч компьютеров? Или обычный флудераст? 😉
Привет!
Вот эта строчка смутила —
syslogd_flags="... -l /var/db/dhcpd/var/run/log"
.Правильно писать с точками
"... -l"
?Добрый день! Естественно, нет. Внимально читайте статью и изучайте syslogd(8), если есть какие-то сомнения 😉
Есть ли стандартные средства просмотра текущего состояния базы выделенных адресов?
Писать скрипт для обработки логов с учётом ротации как то не хочется: слишком очевидная задача, чтобы её уже не решили… (извините, если просмотрел, но как-то не увидел…)
Текущий список динамически выделенных адресов хранится в обычном текстовом файле
/var/db/dhcpd/var/db/dhcpd/dhcpd.leases
, формат которого описан вdhcpd.leases(5)
.Извиняюсь за задержку с откликом…
Я этот файл и имел ввиду, когда говорил насчёт «не хочется парсить логи». Ведь в этом файле хранится не текущая база данных выданных IP, а сведения о всех выдачах. То есть, если 10 раз подряд воткнуть и выдернуть сетевой кабель одной и той же машинки, то в этом файле отобразятся все выдачи одного и того же IP адреса одной и той же машинки (с разницей в несколько секунд).
То есть, чтобы получить список выданных IP адресов с привязкой по именам, надо писать парсер этого «лога».
Если это единственный файл, в котором dhcp-сервер хранит все данные, то для поиска свободного IP он вынужден каждый раз перелопачивать этот «dhcpd.leases»? Учитывая его возможно немалые размеры, можно представить степень неоправданной нагрузки на сервер в большой сети (даже с учётом ротации этого файла).
По двум этим причинам я не могу воспользоваться этим демоном. Надеюсь, что я просто чего-то недопонимаю.
Я думаю, что в
dhcpd.leases
добавится единственная запись, т.к. MAC-адрес не изменился, и договор аренды еще не истек.Смотрите в сторону интеграции isc-dhcpd с LDAP.
Вчера нарочно поставил ещё раз чистую систему и накатил порты, прежде чем это написать — пишется именно лог. (один раз задал срок аренды 10 минут, второй раз убрал, чтобы было по умолчанию, как в статье — толку никакого: в этом файле регистрируются все перетыкивания сети). Извините за просьбу, но не могли бы Вы у себя посмотреть — просто передёрнуть кабель несколько раз и посмотреть в лог. Ведь займёт минут пять, не больше. Насчёт LDAP — спасибо, посмотрю. Но, хотелось бы прежде закрыть вопрос о том, о чём я спросил…
dhcpd.leases
не лог, а база данных выданных адресов. В моем случае дергание кабеля не имеет смысла, т.к. я предпочитаю настраивать DHCP-сервер на выдачу фиксированных IP-адресов по MAC-адресам (выдача таких адресов не фиксируется вdhcpd.leases
). Могу точно сказать, чтоdhcpd.leases
периодически очищается от устаревших записей. Внимательно изучайтеdhcpd.conf(5)
иdhcpd.leases(5)
. Скорее всего, параметры процедуры очисткиdhcpd.leases
можно корректировать. Если не сложно, расскажите о том, что получилось и не получилось.Не запускается скриптом
/usr/local/etc/rc.d/isc-dhcpd start
, выдает/usr/local/etc/rc.d/isc-dhcpd: WARNING: failed to start dhcpd
. В логах абсолютно ничего конкретного. По командеdhcpd -cf /usr/local/etc/dhcpd.conf
все поднимается.Для начала перепроверьте все, что добавили в
/etc/rc.conf
.Все запустилось, после того, как выставил
dhcpd_flags="-q"
в/etc/rc.conf
.dhcpd_flags="-q -4"
, равно как иdhcpd_flags="-4"
не работают, по крайней мере у меня.Цитата из
man dhcpd
:Опции при сборке из портов:
# Options for isc-dhcp41-server-4.1.e,2
_OPTIONS_READ=isc-dhcp41-server-4.1.e,2
WITHOUT_DHCP_IPV6=true
WITH_DHCP_PARANOIA=true
WITHOUT_DHCP_LDAP=true
WITHOUT_DHCP_LDAP_SSL=true
Пакет собран без IPv6.
Я собирал с поддержкой IPv6.
Получается так, что при сборке из портов с отключенным IPv6 опция
-4
является избыточной, и ее явное указание вызывает сбой.Получается, что да 🙂
Надо взять на заметку, чтобы дважды на грабельки не наступить 🙂
С логами полая фигня… Перерыл везде… Описанным методом ничего не выйдет. Зато работает так. В
syslogd.conf
:!dhcpd
*.* /var/log/dhcpd.log
в dhcpd.conf
:log-facility local7;
Всё. Ничего болше делать не нужно.
Полная фигня у Вас. У меня работает на 4х серверах c FreeBSD 7.0 — 8.2.
При добавлении в
syslog.conf
следующих строк:не нужно трогать
dhcpd.conf
. Такой способ журналирования сообщений рекомендуется только тогда, когда не хватаетlocal0-local7
, или наблюдаемое приложение не поддерживает syslogd 😉Спасибо большое!!!
На здоровье 🙂
Собирал все поп мануалу но dhcp не стартует!!!
Вот лог при запуске:
Starting dhcpd.
Internet Systems Consortium DHCP Server 4.1.2-P1
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit _http://www.isc.org/software/dhcp/
/usr/local/etc/dhcpd.conf line 1: semicolon expected.
option domain-name company.
...
exiting.
/usr/local/etc/rc.d/isc-dhcpd: WARNING: failed to start dhcpd
Каких еще объяснений Вы ждете 😕
Спасибо!!! Заработало. Теперь вопросик а как сделать теперь раздачу интернета???
На здоровье 🙂
А это как?
Вобщем есть сервак на FreeBSD 8.2 2 сетевые карты интерфейсы настроены DHCP соответствено поднят для подсети… На внешнем интерфейсе нэт есть… Вот теперь хочу его раздать в подсеть в корой и работает DHCP.
DHCP здесь абсолютно не при чем 😉
Да я понимаю… сделал все как написано, результат таков — клиент в подсети видит подключение к интернету
ping 8.8.8.8
проходит, но в браузере страницы не открываются… Подскажите как исправить… Зарание спасибо!!!Я не вникал в статью, на которую Вы сослались, но если автор предлагает задать
firewall_type="OPEN"
, а затем начинает писать правила брандмауэра, он не совсем в теме. Дам один совет — начинайте поиск ответа на вопросы по FreeBSD с изучения соответствующих разделов handbook’а, и только потом идите на блоги и форумы 😉 Уверяю Вас, там есть все, что нужно и про natd, и про ipfw, и даже про isc-dhcpd 🙂Я так понимаю, что проблема с DNS?
Для проверки работы DNS в Windows есть команда
nslookup
, а в Linux/Unix еще и, как минимум,dig
иhost
. Удачи 🙂А у меня вот такая вот ошибка:
Starting dhcpd.
/usr/local/etc/rc.d/isc-dhcpd: WARNING: failed to start dhcpd.
И больше ничего. 🙁
Следующий комментарий в таком же духе будет расценен как СПАМ 😉
Ну а что не так? То что курсивом выделил?
Ну а насчет вопроса: все так и есть как написал, стартую dhcpd и просто выдает то что я написал выше 🙁
Это не страшно. Хотя кнопка Code присутствует.
Сам вопрос! Разве я не написал про диагностику? Написал! Что мешает заглянуть в логи и исправить допущенные ошибки?
P.S.: Повторяю — я пишу статьи для тех, кто хочет сделать самостоятельно, а все остальные, кто не хочет/не может сделать самостоятельно, но хочет иметь у себя описанное, платят мне (или моему коллеге, которому доверяют больше, чем мне) соответствующие деньги 😉
Выскакиевает такая вот ошибка….
# dhcpd
Internet Systems Consortium DHCP Server V3.0.7
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit _http://www.isc.org/sw/dhcp/
Wrote 0 leases to leases file.
No subnet declaration for fxp0 (10.0.67.238).
You must write a subnet declaration for this
subnet. You cannot prevent the DHCP server
from listening on this subnet because your
operating system does not support this capability.
Что сделать чтобы запустилось???
В
rc.conf
указан интерфейс который смотрит внуть сетиrl0
, а ругается он на внешний интерфейс…Сейчас я использую ISC DHCP сервер версии 4.1-ESV-R4. Не помню версию isc-dhcpd на момент написания статьи, но уверен, что она была не ниже 4.1.
В случае использования описываемой версии ISC DHCP сервера и отсутствия ошибок в файле
rc.conf
все должно работать.Уважаемый автор, благодарю за подробную инструкцию, но в ней допущена следущая ошибка:
Первая строчка файла dhcpd.conf должна иметь вид:
option domain-name «company.local»;
а вы в тексте не указали кавычки, и в данном варианте dhcpd не стартует 🙂
Согласен. Спасибо. Исправил.
Автор, спасибо Вам за даную статью. Единственное, что у меня не вышло так это разобраться с
syslogd_flags="... -l /var/db/dhcpd/var/run/log"
— что-то мне дошло, что писать вместо точек? Думаю, это вопрос времени… А так всё работает!! 🙂 СПАСИБО!На здоровье. Спасибо, что читаете 🙂
Ключи, которые уже были прописаны. Обычно я указываю
-ss
, чтобы syslogd не открывал TCP/IP-сокет.Добрый день, Спасибо за статью!!!
Подскажите не могу понять, вроде всё просто, но не работает. Сделал ещё проще, чем у вас
/etc/rc.conf
:dhcpd_enable="YES"
dhcpd_ifaces="de0"
/usr/local/etc/dhcpd.conf
:subnet 192.160.0.0 netmask 255.255.255.0 {
range 192.160.0.10 192.160.0.20;
option routers 192.160.0.1;
authoritative;
default—lease—time 600;
max—lease—time 7200;
log—facility local?;
interface de0; # пока не добавил эту строчку выдавал ошибку - не настроена subnet ни на одно интерфейсе...
}
После добавления последней строчки, выдает ошибку, что ip используется…
Версия 4.1е_5,2
FreeBSD 9.0
Дайте вывод
ifconfig de0
.temp# ifconfig de0
:de0: flags=8843 metric 0 mtu 1500
ether 00:l5:5d:0e:77:0e
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::215:5dff:fe0e:770e%de0 prefixlen 64 scopeid 0x1
nd6 opt ions=29
media: Ethernet autoselect (l00baseTX)
status: active
Уважаемый, Вы пытаетесь, что DHCP-сервер отдавал адреса подсети
192.160.0.0/24
через интерфейс из подсети192.168.0.0/24
. Нужно читать то, что пишут и хоть немного обдумывать то, что Вы хотите сделать по этой писанине 😉Прошу прощения. Это просто опечатка — копировал через OneNote, сеть совпадает.
/usr/local/etc/dhcpd.conf
:subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.20;
option routers 192.168.0.1;
authoritative;
default—lease—time 600;
max—lease—time 7200;
log—facility local?;
interface de0;
Во-первых, уберите
interface de0
изdhcpd.conf
. Шаманство — очень плохая практика при настройке компьютеров.А дальше включайте детальность лога dhcpd на полную и смотрите, что в него пишется. Чудес не бывает. По крайней мере, я в них не верю.
Приветствую!
Есть ли у Вас опыт в настройке систем с 2мя dhcp-серверами ? Буду рад полезным советом по настройке 🙂
Доброй ночи! В каждой подсети свой DHCP-сервер. Смысла делать два не вижу. На случай атомной войны можно иметь резервный, но пока тьфу-тьфу таких случаев не было 🙂
Freebsd 9 x64. При запуске выдает такую ошибку:
ddns-update-style ad_hoc no longer supported
./isc-dhcpd: WARNING: failed to start dhcpd
Online-переводчики уже отменили?
Не отменили! однако решить проблему все равно не удается, подобные строки в dhcpd.conf перепробовал:
ddns-update-style none;
ddns-updates off;
Если знаешь как реально помочь, так лучше подскажи! Конфиг рабочий был слит с машины Freebsd 9 x86.
Манера общения такая мне совсем не нравится. С проблемой я не сталкивался. Вбил
ddns-update-style ad_hoc no longer supported
в Google и по самой первой ссылке прочитал:В итоге 5 ссылок в
dhcpd.conf
на дополнительные конфиги, была в одном из них строчка которая почему то стала не нравиться демону:# ddns-update-style ad-hoc;
Помогло только удаление строки!
ddns-update-style interim;
не дал результатов.Добры день! кто сталкивался с установкой этой системы на centos 6 x86-64 плиз подскажите как это зделать? или хоть сылочку
Добрый! Поставьте isc-dhcpd с помощью
yum
, файл конфигурации, скорее всего, будет лежать в/etc
, настройка будет примерно такой же. Посмотрите официальное руководство по RHEL. Уверен, что там рассмотрен этот вопрос.Добрый день. Спасибо за статью…
Здравствуйте. Скажите пожалуйста, почему в
rc.conf
указано слушатьdhcpd_ifaces="age0"
, cамrc.conf
:dhcpd_enable="YES"
dhcpd_withuser="dhcpd"
dhcpd_withgroup="dhcpd"
dhcpd_flags="-q"
dhcpd_conf="/usr/local/etc/dhcpd.conf"
dhcpd_ifaces="age0"
dhcpd_withumask="022"
а DHCPD слушает все на порту
*:67.
Выводsockstat -l4
:USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
root dhcpd 1107 7 udp4 *:67 *:*
squid squid 1001 6 udp4 *:15174 *:*
squid squid 1001 16 tcp4 127.0.0.1:3128 *:*
И самое интересное что и запускается он от
root
.P.S.: Заранее спасибо за ответ!
Доброй ночи!
Уберите все строки
interface
из/usr/local/etc/dhcpd.conf
.Пересоберите порт net/isc-dhcp43-server с опцией
DHCP_PARANOIA
.