Рано чи пізно будь-який системний адміністратор усвідомлює необхідність перекладу ввірених йому комп'ютерів і мережевих пристроїв на автоматичне отримання параметрів протоколу TCP / IP за допомогою DHCP (Dynamic Host Configuration Protocol). З урахуванням того, що більшість сучасних операційних систем має в своєму складі включені за замовчуванням DHCP-клієнти, які не потребують додаткового налаштування, процедура впровадження DHCP зводиться до встановлення та налаштування DHCP-сервера.
Постановка задачі
Початкові дані
Установка і настройка DHCP-сервера
Для забезпечення працездатності DHCP-сервера потрібна підтримка пристроїв bpf (4) ядром FreeBSD. Стандартне ядро GENERIC підтримує пристрої bpf. а при використанні самозбірних ядра доведеться переконатися в наявності рядка device bpf в файлі його конфігурації, і, якщо її немає, то додати її, пересобрать ядро і перезавантажити систему.
Для установки DHCP-сервера з портів слід виконати команди:
У вікні конфігурації потрібно відзначити єдину опцію [X] DHCP_PARANOIA Enable support for chroot. Зверніть увагу, що при установці DHCP-сервера будуть створені користувач dhcpd. група dhcpd і заготівля файлу конфігурації /usr/local/etc/dhcpd.conf.sample.
За замовчуванням конфігурація DHCP-сервера зберігається в файлі /usr/local/etc/dhcpd.conf. Я вважаю за краще створювати цей файл без використання вищезгаданої заготовки, що містить занадто багато зайвого. В даному випадку файл конфігурації повинен мати такий вигляд:
Дані рядка забороняють висновок діагностичних повідомлень на консоль і відключають протокол 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:
і перезапустити DHCP-сервер командою /usr/local/etc/rc.d/isc-dhcpd restart.
Ознакою коректного запуску DHCP-сервера може служити приблизно таке повідомлення:
Розглянутий спосіб спостереження за станом DHCP-сервера простий і зрозумілий (особливо при наявності під рукою документа RFC-2131), але дуже незручний в зв'язку з необхідністю дивитися на консоль, на яку видається величезна кількість «зайвої» інформації.
Набагато зручніше забезпечити запис повідомлень DHCP-сервера в окремий лог за допомогою штатного демона syslogd. При цьому потрібно врахувати, що через роботу в chroot-оточенні DHCP-сервер не може взаємодіяти з syslogd, сконфігурованим за замовчуванням, тому що сокет останнього знаходиться за межами chroot-оточення першого. Для виправлення даної обставини необхідно змусити syslogd слухати ще один сокет, який має ім'я / var / run / log щодо кореневої папки chroot-оточення DHCP-сервера. Для автоматичного створення такого сокета в процесі запуску syslogd, слід додати відповідний ключ -l до визначення змінної syslogd_flags в файлі /etc/rc.conf:
Для того, щоб syslogd записував повідомлення DHCP-сервера в лог /var/log/dhcpd.log. потрібно додати в файл /etc/syslog.conf рядок:
Для вступу змін в силу необхідно створити порожній лог командою 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 рядок:
висновок
Я сподіваюся, що не забув нічого важливого, і наведеної інформації вистачить для коректного налаштування і подальшої налагодження DHCP-сервера від ISC на комп'ютері з операційною системою FreeBSD.
Те що курсивом виділив?
Це не страшно. Хоча кнопка Code присутній.
Ну а що не так?
Сам питання! Хіба я не написав про діагностику? Написав! Що заважає заглянути в логи і виправити допущені помилки?
P.S. Повторюю - я пишу статті для тих, хто хоче зробити самостійно, а всі інші, хто не хоче / не може зробити самостійно, але хоче мати у себе описане, платять мені (або моєму колезі, якому довіряють більше, ніж мені) відповідні гроші 😉
Вискакіевает така ось помилка ....
Internet Systems Consortium DHCP Server V3.0.7
Зараз я використовую ISC DHCP сервер версії 4.1-ESV-R4. Не пам'ятаю версію isc-dhcpd на момент написання статті, але впевнений, що вона була не нижче 4.1.
У rc.conf вказано інтерфейс який дивиться внуть мережі rl0. а лається він на зовнішній інтерфейс ...
У разі використання описуваної версії ISC DHCP сервера і відсутності помилок в файлі rc.conf все повинно працювати.
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.e0 prefixlen 64 scopeid 0x1
nd6 opt ions = 29
media: Ethernet autoselect (l00baseTX)
status: active
Прошу вибачення. Це просто помилка - копіював через 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 і по самій першій посиланням прочитав:
Replace the line
ddns-update-style ad-hoc;
with
ddns-update-style interim;
У підсумку 5 посилань в dhcpd.conf на додаткові конфіги, була в одному з них рядок яка чомусь стала не подобатися демона:
# Ddns-update-style ad-hoc;
Допомогло тільки видалення рядка! ddns-update-style interim; не дав результатів.
Добрий день! хто стикався з установкою цієї системи на centos 6 x86-64 плиз підкажіть як це зделать? або хоч силочку
Добрий! Поставте isc-dhcpd за допомогою yum. файл конфігурації, швидше за все, буде лежати в / etc. настройка буде приблизно такою ж. Подивіться офіційне керівництво по RHEL. Упевнений, що там розглянуто це питання.