Меню

Настройка isc dhcp сервера



FreeBSD: настройка DHCP-сервера на базе ISC DHCP Server

Настраиваем DHCP сервер для офисной сети.

Содержание

Установка

Получаем доступные версии DHCP-сервера:

Установка из коллекции портов

Если необходимо, DHCP-сервер можно собрать из портов.

Обновляем коллекцию портов:

Если коллекция портов используется впервые, получаем ее актуальную версию:

Получаем доступные версии DHCP-сервера:

Настройка

Редактируем файл конфигурации:

В минимальной конфигурации необходимо задать параметры, выделенные жирным шрифтом, примеры удалить или закомментировать.

Настройка логов

Сохраняем сообщения о присвоении адресов в dhcpd.log, предупреждения и ошибки дублируем в messages.

Добавляем следующие строки:

Задаем параметры ротации.

Проверяем, поддерживается ли вашей системой newsyslog.conf.d

Если в вашей системе отсутствует папка newsyslog.conf.d, редактируем newsyslog.conf:

Если папка newsyslog.conf.d имеется, создаем папку с тем же именем в /usr/local/etc:

Создаем файл c правилами ротации логов:

Ежедневная ротация в полночь с сохранением логов за неделю:

Перезагружаем конфигурацию syslogd:

Запуск

Включаем запуск ISC DHCP Server, и задаем сетевые интерфейсы, обслуживаемые нашим сервером:

В случае успешного запуска видим следующий текст:

Если ошибок при запуске не возникло, проверяем, раздаются ли IP-адреса.

Для принудительного обновления IP-адреса в Windows, в командной строке используем команды:

Решение проблем

В случае проблем, анализируем DHCP трафик:

Ошибка «Host is down»

Если в логе встречается ошибка:

При отправке ответа DHCP-сервера, не получен отклик на ARP-запрос от удаленного хоста.

Для решения проблемы, необходимо локализовать и устранить потери в сети.

Кстати, fallback interface, это штатный, указанный нами, сетевой интерфейс, он используется для отправки датаграмм с IP-адреса сервера. Основной интерфейс прослушивается в режиме raw socket, при ответе через него, адрес сервера был бы 0.0.0.0.

Источник

Настраиваем ddns-сервер на GNU/Linux Debian 6

Введение

Здравствуйте, господа.
Занимаюсь самообразованием по администрированию Linux и недавно заинтересовался установкой и настройкой ddns-сервера (Dynamic DNS) под данной платформой, используя связку Bind + dhcpd. Чтение форумов, man и документации с сайтов дали вполне положительный результат и мне хотелось бы поделиться опытом с людьми. Надеюсь статья будет полезной.
Изначально мы имеем чистую ОС GNU/Linux Debian 6.0.1, без графического окружения. После установки было произведено обновление и установлен минимальный набор программного обеспечения, такого как mc и sudo. Так же я заранее привел имя хоста к виду hostname.domainname. И так как я использую виртуальную машину VirtualBox и работаю не в «боевых» условиях, все действия производятся из-под root аккаунта. Всё необходимое программное обеспечение устанавливается из репозиториев с помощью пакетного менеджера apt-get.
Суммарная информация:
ОС — GNU/Linux Debian 6.0.1;
Имя сервера — ddnsagc01.agency.com;
Параметры сети — static 192.168.1.2/24;

Установка isc-dhcp-server

Итак, начнем мы с установки сервера dhcp.
# apt-get install dhcp3-server
После установки, останавливаем демон сервера командой:
# /etc/init.d/isc-dhcp-server stop
И идем править основной конфигурационный файл, который находится по адресу /etc/dhcp/dhcpd.conf. Для редактирования я буду использовать идущий в составе дистрибутива редактор nano:
# nano /etc/dhcp/dhcpd.conf
# При начальной настройке я отключаю опцию динамического обновления и подключу её позже.
ddns-update-style none;
# Базовая конфигурация для моего домена agency.com.
subnet 192.168.1.0 netmask 255.255.255.0 <
default-lease-time 21600; # Время на которое выдается адрес, сек.
max-lease-time 28800; # Принудительно забрать адрес через, сек.
option domain-name «agency.com»; # Имя домена.
option domain-name-servers 192.168.1.2; # Адрес dns сервера.
option subnet-mask 255.255.255.0; # Маска подсети.
option routers 192.168.1.1; # Шлюз.
range 192.168.1.1 192.168.1.100; # Диапазон выдаваемых адресов.
>
# Фиксированные адреса выдаваемые для машин по MAC-адресу.
Host adagc01 < # Контроллер домена.
hardware ethernet 08:00:27:19:c8:48;
fixed-address 192.168.1.3;
>
Host ddnsagc01 < # ddns сервер.
hardware ethernet 08:00:27:05:99:1a;
fixed-address 192.168.1.2;
>
Host squid01 < # Шлюз.
hardware ethernet 08:00:27:4f:78:1b;
fixed-address 192.168.1.1;
>
Следующий конфигурационный файл который нам предстоит поправить находится в директории /etc/default/ и называется isc-dhcp-server. Там нам нужно изменить всего одну строчку, указывающую DHCP серверу на каком интерфейсе ему работать:
INTERFACES = «eth0» # Сюда подставляем имя своего интерфейса.
После внесения всех изменений стартуем демон командой:
# /etc/init.d/isc-dhcp-server start
Проверяем работу, пытаясь получить адрес машиной из нашей сети и если всё в порядке сервер выдаст адрес из указанного диапазона и остальные указанные нами настройки.

Установка DNS-сервера Bind

Вместе с Bind полезно будет поставить еще и утилиты для работы с сетью (такие как nslookup и dig, входящие в пакет dnsutils):
# apt-get install bind9 bind9utils dnsutils
После установки останавливаем сервер:
# /etc/init.d/bind9 stop
Конфиги Bind хранит в /etc/bind. Там же лежат файлы корневых зон и зон прописанных по умолчанию — db.0, db.127, db.root и т.д. rndc.key — файл ключ сгенерированный при установке, он нам понадобится для обновления наших файлов-зон с помощью dhcp-сервера. Новый ключ генерируется с помощью утилиты rndc-confgen. Разработчики предлагают вам не вносить изменения в основной конфигурационный файл сервера named.conf, а подключать к нему свои конфигурационные файлы с помощью директивы include. Так, если открыть named.conf после установки там будет всего лишь пояснение, что это за файл и три строчки определяющих подключаемые конфиги:
# less /etc/bind/named.conf | grep include
include «/etc/bind/named.conf.options»;
include «/etc/bind/named.conf.local»;
include «/etc/bind/named.default-zones»;
Сперва я внес информацию из rndc.key в основной конфигурационный файл, добавив его опять же с помощью include:
# nano /etc/bind/named.conf
include «/etc/bind/rndc.key»;
Теперь нам необходимо прописать собственные прямую и обратные зоны. Разработчики предлагают использовать для этого файл named.conf.local, что мы и сделаем:
# nano /etc/bind/named.conf.local
zone «agency.com» < # Название прямой зоны.
type master;
file «db-agency.com»; # Имя файла зоны.
allow-update < key rndc-key; >; # Разрешаем обновление зоны с ключом.
>;

Читайте также:  Bind настройка вторичного dns сервера

zone «1.168.192.in-addr.arpa» < # Название обратной зоны.
type master;
file «db-1.168.192»; # Имя файла зоны.
allow-update < key rndc-key; >; # Разрешаем обновление зоны с ключом.
>;
Далее нам необходимо создать указанные файлы. По умолчанию Bind предполагает их хранение в /var/cache/bind:
# touch /var/cache/bind/db-agency.com
# touch /var/cache/bind/db-1.168.192
Нам необходимо прописать некоторые параметры в только что созданные зоны.
Файл прямой зоны:

# nano /var/cache/bind/db-agency.com
$TTL 10800
agency.com. IN SOA ddnsagc01.agency.com. admin.agency.com. (
11 ; Порядковый номер.
10800 ; Обновление.
3600 ; Повторная попытка.
604800 ; Устаревание.
3600 ) ; Отрицательное TTL в 1 час.
;
; Укажем серверы имен.
;
agency.com. IN NS ddnsagc01.agency.com.
;
; Так же пропишем А запись для указанного сервера имен.
ddnsagc01 A 192.168.1.2
Файл обратной зоны:

$TTL 10800
1.168.192.in-addr.arpa. IN SOA ddnsagc01.agency.com. admin.agency.com. (
11 ; Порядковый номер
10800 ; Обновление
3600 ; Повторная попытка
604800 ; Устаревание
3600 ) ; Отрицательное TTL в 1 час
;
; Укажем серверы имен.
;
1.168.192.in-addr.arpa. IN NS ddnsagc01.agency.com.
;
; Так же пропишем PTR запись для указанного сервера имен.
2.1.168.192.in-addr.arpa. IN PTR ddnsagc01.agency.com.
Установим владельцем только что созданных файлов пользователя bind:
# chown bind:bind /var/cache/bind/db-agency.com
# chown bind:bind /var/cache/bind/db-1.168.192

Настройка динамического обновления зон

Bind настроен и теперь нам необходимо настроить dhcp сервер на обновление файлов зон bind. Для этого открываем для редактирования и меняем параметр ddns-update-style с none на interim в /etc/dhcp/dhcpd.conf:
ddns-update-style interim;
Прописываем rndc-key (который можно подключить и через include, но я предпочел прописать вручную):
key rndc-key <
algorithm hmac-md5;
secret «XXXXXXXXXXX»;
>
И наконец указываем какие зоны должен обновлять сервер:
zone agency.com <
primary 127.0.0.1; # Адрес DNS сервера.
key rndc-key;
>
zone 1.168.192.in-addr.arpa <
primary 127.0.0.1; # Адрес DNS сервера.
key rndc-key;
>
Перезапускаем демоны Bind и isc-dhcp-server и проверяем работу установленной связки:
# /etc/init.d/bind9 restart
# /etc/init.d/isc-dhcp-server restart
После перезапуска демонов и в том случае, если всё прописано верно — в каталоге /var/cache/bind появятся .jnl файлы (журналы) наших зон, указывающие на то, что зоны корректно обновляются. В моём случае Bind так же чуть изменил файлы зон, подкорректировав их таким образом, чтобы стали использоваться сокращения в виде символа «@» для подмены имени домена, заменил значения указанные в часах и неделях на секунды (как в приведенных мною конфигах) и некоторые другие.
Bind и isc-dhcp-server записывают информацию о своей работе в syslog, так что если что-то не заработало, идем в /var/log/syslog и ищем в чем загвоздка. Следует обращать внимание на знаки препинания при описании доменных зон. Так моя ошибка заключалась в том, что я пропустил точку при указании домена и никак не мог добиться обновления обратной зоны.
Спасибо за внимание, надеюсь статья окажется полезной.
При написании статьи использовалась книга «DNS и BIND» Крикета Ли и Пола Альбитца, man страницы и многочисленные форумы в сети Интернет.

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Читайте также:  Арк изменение настроек сервера

Источник

Установка и настройка сервера ISC DHCP в Ubuntu / Debian

DHCP или Dynamic Host Configuration Protocol – это используемый в сетях протокол посредством которого сетевое устройство может автоматически получать сетевые настройки необходимые для связи с другими устройствами во время загрузки. Использование DHCP-сервера в вашей локальной сети значительно упрощает администрирование сетевых устройств, а также позволяет централизовать точку управления сетей.
DHCP-сервер может предоставить IP-адрес устройства, маска сети, DNS-серверы, IP-адрес шлюза, широковещательный адрес сети, к которой вы принадлежите, адреса серверов точного времени и другие более экзотические настройки.

Если у вас всего 2-3 компьютера обычно предпочтение отдается ручной настройке сети. Но в настоящее время появилось множество сетевых устройств для каждого из которых настройка сетевых параметров может оказаться очень сложной, а иногда и невозможной вовсе. Это является основным фактором, который мы должны учитывать в пользу установки и настройки DHCP-сервера в нашей сети. DHCP-сервер может существенно упростить настройку сетевых устройств.
Однако ручное назначение IP-адресов всегда необходимо, если вы развертываете в своей сети серверы . Серверы всегда должны иметь статическимй IP-адрес.

Теперь давайте посмотрим, как работает DHCP-сервер в сети.
Сетевое устройство, которому необходимо назначить статический адрес, отправляет в сеть широковещательный запрос с сообщением «DHCP Discover». Отправленное сообщение от клиентского устройства также включает в себя его MAC-адрес. Клиенты отправляют это сообщение, чтобы определить, имеется ли сервер DHCP где-то в сети.

Слушающий DHCP-сервер принимает широковещательный кадр и отвечает клиенту сообщением «DHCP Offer»: ответ содержит сетевые настройки, необходимые для регистрации клиента в сети. Обычно это IP-адрес, маска подсети, шлюз по умолчанию и другие сетевые параметры.

После получения ответа от сервера клиент, если он удовлетворен полученными настройками, отправляет сообщение «DHCP Request» обратно на сервер DHCP и сообщает, что он согласен с формальными настройками сети. Сервер, отправивший предложение, фиксирует запрошенный IP-адрес за данным клиентом. Опять же, отправляется широковещательной запрос т.к. в сети могут быть другие DHCP-серверы и они должны быть в курсе появления нового устройства.

Наконец, сервер DHCP отвечает одноадресным сообщением «DHCP ACK». На этом этапе IP-адрес и все другие параметры сети отправляются на наше сетевое устройство, поскольку теперь они одобрены для использования клиентом.

Internet Software Consortium является основным автором и разработчиком самого распостраненного DHCP-сервера в Linux, который обычно называют сервером ISC DHCP. В Ubuntu / Debian соответствующий двоичный пакет называется isc-dhcp-server . Рассмотрим как установить и настроить DHCP-сервер.

Установка сервера ISC DHCP

На всякий случай сделаем резервную копию конфигурационного файла

Настройка DHCP

Все строки параметров в файле конфигурации dhcp заканчиваются точкой с запятой (;). Некоторые параметры могут иметь не одно значение, например, domain-name-servers, у которого два IP-адреса, разделенные запятой. Строки, начинающиеся с ‘#’, являются комментариями и не обрабатываются сервером dhcp.

Некоторые общие параметры сервера DHCP:

subnet— Параметр объявляет подсеть (в нашем случае 192.168.38.0 с маской 255.255.255.0)

range – Диапазон выдаваемых адресов ( от 192.168.38.100 до 192.168.38.254).

option subnet-mask – Маска сети. ( 255.255.255.0)

option broadcast-address – Широковещательный адрес. (192.168.38.255)

domain-name-servers – Адреса серверов DNS. (8.8.8.8, 8.8.4.4)

option domain-name – Доменное имя.(workgroup)

option routers – Определяет IP-адрес вашего шлюза или точки выхода в сеть.(192.168.38.1)

После того как вы отредактировали основной файл конфигурации и объявили диапазоны IP, откройте файл /etc/default/isc-dhcp-server и замените параметр INTERFACESv4 на имя сетевого интерфейса, который смотрит внутрь сети. Чтобы узнать его имя воспользуйтесь командами ipconfig или ip.

Наконец, после внесения всех изменений перезапустите сервер dhcp, чтобы применить новую конфигурацию и проверить статус службы, выполнив следующие команды:

Настройка DHCP-сервера с резервированием IP-адреса.

Часто возникает необходимость зарезервировать за устройством (сервером, принтером и т.д.) постоянный IP-адрес. В этом случае вам нужно знать его MAC- адрес.

Пример резервирования IP-адреса 192.168.38.5 за компьютером SERVER:

После того, как вы внесли изменения в конфигурационный файл, перезапустите сервер DHCP следующей командой:

Читайте также:  Установка и настройка школьного сервера

Это все! Вы успешно установили и настроили DHCP-сервер.

Источник

Настройка DHCP сервера на CentOS или Ubuntu

Привет! Сегодня мы хотим рассказать про то, как настроить DHCP -сервер и клиент в Linux CentOS и Linux Ubuntu . Поехали!

УСТАНОВКА DHCP-СЕРВЕРА В CENTOS И UBUNTU

Пакет DHCP-сервера доступен в официальных репозиториях основных дистрибутивов Linux, его установка довольно проста, просто выполните следующую команду:

# yum install dhcp #CentOS
$ sudo apt install isc-dhcp-server #Ubuntu

После завершения установки настройте интерфейс, на котором вы хотите, чтобы демон DHCP обслуживал запросы, в файле конфигурации /etc/default/isc-dhcp-server или /etc/sysconfig/dhcpd .

# vim /etc/sysconfig/dhcpd #CentOS
$ sudo vim /etc/default/isc-dhcp-server #Ubuntu

Например, если вы хотите, чтобы демон DHCPD прослушивал eth0 , установите его с помощью следующей настройки.

Сохраните файл и выйдите.

НАСТРОЙКА DHCP-СЕРВЕРА В CENTOS И UBUNTU

Основной файл конфигурации DHCP находится по адресу /etc/dhcp/dhcpd.conf , который должен содержать настройки того, что делать, где делать и все сетевые параметры, предоставляемые клиентам.

Этот файл в основном состоит из списка операторов, сгруппированных в две широкие категории:

  • Глобальные параметры: укажите, выполнять ли задачу, как выполнять задачу или какие параметры конфигурации сети предоставить DHCP-клиенту.
  • Объявления: определить топологию сети, указать состояние клиентов, предложить адреса для клиентов или применить группу параметров к группе объявлений.

Теперь откройте и отредактируйте файл конфигурации для настройки вашего DHCP-сервера.

———— CentOS ————
# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
# vi /etc/dhcp/dhcpd.conf

Начните с определения глобальных параметров, которые являются общими для всех поддерживаемых сетей, в верхней части файла. Они будут применяться ко всем объявлениям:

option domain-name «merionet.ru»;
option domain-name-servers ns1.merionet.ru, ns2.merionet.ru;
default-lease-time 3600;
max-lease-time 7200;
authoritative;

Затем вам необходимо определить диапазон для внутренней подсети и дополнительные настройки:

subnet 192.168.1.0 netmask 255.255.255.0 <
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-search » merionet.ru «;
option domain-name-servers 192.168.1.1;
range 192.168.10.10 192.168.10.100;
range 192.168.10.110 192.168.10.200;
>

  • subnet – сеть, в которой будут работать настройки;
  • option routers – шлюз по-умолчанию;
  • option subnet-mask – маска подсети;
  • range – диапазон IP-адресов;
  • option domain-name-servers – DNS-сервера;
  • option domain-name – суффикс доменного имени;
  • option broadcast-address — адрес сети для широковещательных запросов;
  • default-lease-time, max-lease-time — время и максимальное время в секундах, на которое DHCP-клиент получит адрес;

Обратите внимание, что хосты, которым требуются специальные параметры конфигурации, могут быть перечислены в инструкциях хоста в cправке.

Теперь, когда вы настроили демон DHCP-сервера, вам нужно запустить службу на некоторое время и включить ее автоматический запуск при следующей загрузке системы, а также проверить, работает ли она, используя следующие команды.

———— CentOS ————
# systemctl start dhcpd
# systemctl enable dhcpd
# systemctl enable dhcpd

———— Ubuntu ————
$ sudo systemctl start isc-dhcp-server
$ sudo systemctl enable isc-dhcp-server
$ sudo systemctl enable isc-dhcp-server

Затем разрешите выполнение запросов к демону DHCP в брандмауэре, который прослушивает порт 67/UDP, запустив его.

———— CentOS ————
# firewall-cmd —zone=public —permanent —add-service=dhcp
# firewall-cmd —reload

НАСТРОЙКА КЛИЕНТОВ DHCP

Наконец, вам нужно проверить, нормально ли работает сервер DHCP. Войдите на несколько клиентских компьютеров в сети и настройте их на автоматическое получение IP-адресов с сервера.

Измените соответствующий файл конфигурации для интерфейса, на котором клиенты будут автоматически получать IP-адреса.

НАСТРОЙКА КЛИЕНТА DHCP НА CENTOS

В CentOS конфигурационные файлы интерфейса находились в /etc/sysconfig/network-scripts/ .

Добавьте следующие параметры:

Сохраните файл и перезапустите сетевой сервис (или перезагрузите систему).

НАСТРОЙКА DHCP-КЛИЕНТА В UBUNTU

В Ubuntu 16.04 вы можете настроить интерфейс в файле конфигурации /etc/network/interfaces .

Добавьте эти строчки:

Сохраните файл и перезапустите сетевой сервис (или перезагрузите систему).

$ sudo systemctl restart networking

В Ubuntu 18.04 сетевое управление контролируется программой Netplan . Вам нужно отредактировать соответствующий файл, например, в каталоге /etc/netplan/

Затем включите dhcp4 под конкретным интерфейсом, например, под ethernet, ens0, и закомментируйте статические настройки, связанные с IP:

network:
version: 2
renderer: networkd
ethernets:
ens0:
dhcp4: yes

Сохраните изменения и выполните следующую команду, чтобы применить изменения.

Для получения дополнительной информации смотрите справочные страницы dhcpd и dhcpd.conf.

Готово! В этой статье мы рассмотрели, как настроить DHCP-сервер в дистрибутивах CentOS и Ubuntu Linux.

Источник

Adblock
detector