Андрей Смирнов
Время чтения: ~10 мин.
Просмотров: 12

Настройка DHCP сервера Ubuntu Server

Руководство по Ubuntu Server » Сеть

<-назад | далее->

Протокол динамического выделения адресов (DHCP)

Протокол динамического выделения адресов (DHCP) — это сетевой сервис, который позволяет компьютерам в сети автоматически получать настройки с сервера вместо того, чтобы настраивать каждый сетевой хост вручную. Компьютеры, настроенные быть клиентами DHCP, не управляют тем, какие настройки они получат от DHCP сервера, и эта настройка совершенно незаметна для пользователя компьютера.

В общем случае настройки, передаваемые DHCP сервером DHCP клиентам включают:

  1. IP адрес и сетевую маску

  2. IP адрес шлюза по умолчанию

  3. IP адрес DNS серверов

Однако DHCP сервер может также предоставить такие параметры настройки, как:

  1. Имя хоста

  2. Имя домена

  3. Адрес сервера времени

  4. Адрес сервера печати

Преимущество использования DHCP заключается в изменчивости сети, например, изменение адреса DNS сервера потребует изменений только на DHCP сервере, а все сетевые хосты будут перенастроены в момент следующего запроса их DHCP клиента к DHCP серверу. Дополнительное преимущество заключается в простом подключении новых компьютеров к сети, поскольку не требуется проверять доступность IP адресов. Конфликты по выделенным IP адресам также минимальны.

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

Выделение вручную (по MAC адресу) Этот метод подразумевает использование DHCP для определения уникального аппаратного адреса каждой сетевой карты, подключенной к сети, и затем продолжительного предоставления неизменной конфигурации каждый раз, когда DHCP клиент делает запрос на DHCP сервер, используя это сетевое устройство. Это гарантирует, что определенный адрес будет автоматически присваиваться этой сетевой карте на основе ее MAC адреса.

Динамическое выделение (пул адресов) При этом методе, DHCP сервер будет выделять IP адрес из пула адресов (иногда называемым диапазоном или областью) на период времени (или в аренду), который настраивается на сервере, или пока клиент не проинформирует сервер, что больше вообще не нуждается в адресе. Таким образом, клиенты получают свои настройки динамически по принципу «первый пришел — первый обслужился». Когда DHCP клиент отсутствует в сети определенное время, настройка считается просроченной и возвращается в пул адресов для использования другими DHCP клиентами. Это означает, что адрес арендуется или выдается на определенный период времени. По истечении этого периода клиент должен повторно договариваться об использовании адреса с сервером.

Автоматическое выделение Использую этот метод, DHCP автоматически присваивает постоянный IP адрес устройству, выбранный из пула доступных адресов. Обычно DHCP используется для выдачи временного адреса, но DHCP сервер может использовать бесконечное время аренды.

Два последних метода можно рассматривать, как автоматические, поскольку DHCP сервер выдает адреса без дополнительного вмешательства. Единственная разница заключается в том, насколько арендуется адрес, другими словами, когда истечет время использования адреса клиентом. Ubuntu поставляется вместе с DHCP сервером и клиентом. Сервером является dhcpd (сервис протокола динамического выделения адресов). Клиент, поставляемый с Ubuntu, — это dhclient и он может быть установлен на все компьютеры, требующие автоматических настроек. Обе программы просты в установке и настройке и автоматически стартуют при загрузке системы.

Установка

В теринале введите следующую команду для установки dhcpd:

sudo apt-get install isc-dhcp-server

Возможно вам потребуется изменить настройку по умолчанию редактированием /etc/dhcp/dhcpd.conf для удовлетворения вашим потребностям и специфическим настройкам.

Вы также можете исправить /etc/default/isc-dhcp-server для определения интерфейсов, которые должен слушать dhcpd.

Обратите внимание, что сообщения dhcpd будут посылаться в syslog. Смотрите его для диагностики.

Настройка

Сообщение об ошибке в конце установки может немного смущать, но следующие шаги помогут вам настроить сервис:

В большинстве случаев, все что вам нужно сделать, это выделять случайный IP адрес. Это можно сделать следующими настройками:

# minimal sample /etc/dhcp/dhcpd.conf default-lease-time 600; max-lease-time 7200;  subnet 192.168.1.0 netmask 255.255.255.0 {  range 192.168.1.150 192.168.1.200;  option routers 192.168.1.254;  option domain-name-servers 192.168.1.1, 192.168.1.2;  option domain-name "mydomain.example"; }

В результате DHCP сервер будет выдавать клиентам IP адреса из диапазона 192.168.1.150-192.168.1.200. адреса будут предоставляться на 600 секунд, если клиенты не запросят специфический промежуток времени. При этом максимально разрешенное время аренды будет 7200 секунд. Сервер будет также «рекомендовать» клиентам использовать адрес 192.168.1.254 в качестве шлюза и 192.168.1.1 и 192.168.1.2 как DNS сервера.

После изменения настройки вам потребуется перзапустить dhcpd:

sudo /etc/init.d/isc-dhcp-server restart

Ссылки

  1. Страница dhcp3-server Ubuntu Wiki содержит дополнительную информацию.

  2. Для дополнительных опций /etc/dhcp/dhcpd.conf смотрите страницу руководства

  3. ISC dhcp-server

<-назад | далее->

Следующий пункт настройки сервера — настройка DHCP, настраиваем автоматическую раздачу IP адресов сервером.

Рекомендую произвести обновление пакетов и программ перед началом настройки.

Содержание статьи:

Внимание: для корректной работы сети, в сети должен присутствовать всего один DHCP сервер.

Вводим команду, для установки компонента DHCP сервера:

sudo apt-get install isc-dhcp-server

Соглашаемся с установкой нажатием кнопки Y.

Открываем файл конфигурации интерфейса DHCP сервера, командой:

sudo nano /etc/default/isc-dhcp-server 

Добавим в поле INTERFACES=”” в кавычки, название карты, которая смотрит в локальную сеть (в моем случае это enp9s0).

Ubuntu-Server-15-isc-dhcp-server-config-Mhelp.kz_.png
Настройка Ubuntu Server: Конфигурирование файла интерфейса DHCP сервера

Настройка конфигурационного файла DHCP сервера

Открываем файл конфигурации сервера, командой:

sudo nano /etc/dhcp/dhcpd.conf

«Закомментируем»  следующие строки, т.е. установим перед строкой знак #, в этом случае это считается комментарием и данная строка операционной системой не обрабатывается.

(Кстати, вы и сами можете добавлять комментарии к изменяемым вами строкам, для понимания или выделения вносимых вами изменений в файлы конфигурации)

option domain-name «example.org»
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600; max-lease-time 7200;
Ubuntu-Server-15-dhcpd-config-Mhelp.kz_.png
Ubuntu Server: конфигурирование файла dhcpd.conf

Так как мой сервер DHCP будет единственным в сети, в первую очередь снимаем знак # перед параметром authoritative;

Ищем строку # A slightly different configuration for an internal subnet, снимаем комментирование со строк ниже и устанавливаем следующие параметры: subnet 192.168.137.0 netmask 255.255.255.0 { range 192.168.137.20 192.168.137.254; option domain-name-servers 192.168.137.1; option domain-name «school.loc«; option subnet-mask 255.255.255.0; option routers 192.168.137.1; option broadcast-address 192.168.137.255; default-lease-time 604800; max-lease-time 604800; }

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

Что мы сделали: Указываем диапазон сети; Начало и конец списка выдаваемых IP адресов, оставив первые 19 адресов для различных служебных устройств: точки WiFi, другие серверы и пр.; Имя домена — имя вашей сети, обязательно поставьте в конце .loc означающее что это локальный, а не интернет домен; Адрес роутера, адрес интернет шлюза (наш сервер); Адрес широковещательной рассылки (зарезервированный системой адрес), заканчивается на 255; Время предоставления и максимальное время выделения IP адреса.

Ubuntu-Server-15-DHCP-configuration-Inernal-subnet-Mhelp.kz_.png
Ubuntu Server: Конфигурируем параметры локальной сети

Перезапускаем DHCP сервер, командой:

sudo /etc/init.d/isc-dhcp-server restart

Если все верно, появится вот такое сообщение.

Ubuntu-Server-15-DHCP-restart-Mhelp.kz_.png
Ubuntu Server5: Успешный перезапуск службы DHCP

На этом настройка службы DHCP успешно завершена, все подключенные компьютеры, после перезапуска сетевых устройств, должны получать IP адреса автоматически из заданного диапазона.

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

sudo nano /etc/dhcp/dhcpd.conf

Запись вида:#  My static IP address#  Teacher PC, classroom 215 host teacherpc {hardware ethernet 94:DE:80:05:94:34;fixed-address 192.168.137.8;} Где: Синим цветом выделены необязательные, но полезные для вас комментарии, позволяющие впоследствии легко найти и понять, для чего нужны следующие записи;host — сетевое имя учительского компьютера (для примера) — teacherpc;hardware ethernet — MAC адрес сетевой карты нужного компьютера;fixed-address постоянный, присваиваемый IP адрес этому компьютеру в локальной сети.

Ubuntu-Server-15-How-to-assign-a-static-IP-address-in-DHCP-Mhelp.kz_.png
Ubuntu Server: Резервирование определенного IP адреса за определенным компьютером

Возможно будет полезно: Статья «Как узнать MAC адрес устройства».

После чего проверяем на клиенте, успешную настройку DHCP сервера Ubuntu:

Ubuntu-Server-15-Assign-a-static-IP-address-in-DHCP-Mhelp.kz_.png
Ubuntu Server: Автоматическое получение зарезервированного IP адреса

После получения клиентами IP адресов от нашего созданного DHCP сервера, просмотреть этот список можно командой:

nano /var/lib/dhcp/dhcpd.leases
Ubuntu-Server-DHCP-IP-lease-Mhelp.kz_.png
Ubuntu Server: Список арендованных IP адресов

Там же можно увидеть и соответствие MAC адресов с именами компьютеров вашей локальной сети.

Кстати, просматривать этот список может быть удобней в файловом менеджере Midnight Commander.

Большинство «не работает» вызвано невнимательностью! Внимательно проверяйте команды и не допускайте в файлах конфигурации лишних символов.

Следующая часть — Настройка DNS сервера в Ubuntu Server 15.10

[nx_heading style=»coloredline» heading_tag=»h4″ size=»24″ align=»left»]От автора:[/nx_heading]

Если проблема решена, один из способов сказать «Спасибо» автору — здесь.

Если же проблему разрешить не удалось и появились дополнительные вопросы, задать их можно на нашем форуме, в специальном разделе.

[/nx_box]logo-ubuntu-mhelp.kz_.png

ubuntu-logo.png

Зачастую в больших сетях для упрощения работы с добавлением новых компьютеров и других устройств в сеть используют протокол динамического выделения адресов — DHCP. Это значительно упрощает настройку оборудования и экономит огромное количество времени. Используя DHCP нам не нужно производить настройку сети на каждом отдельном устройстве, нужно лишь подключить устройство к сети и DHCP сервер сделает все настройки автоматически. Каждый домашний WiFi роутер имеет в себе встроенный DHCP сервер, поэтому вам не нужно каждый раз при подключении к разным роутерам прописывать все настройки вручную, роутер делает это за вас.

DHCP сервер может автоматически присвоить клиенту:

  • Адрес ip;
  • Маску подсети;
  • IP адрес шлюза;
  • IP адрес DNS сервера;

В отдельных случаях:

  • Имя хоста;
  • Имя домена;
  • Адрес серверов времени(NTP);

Преимущество использования DHCP сервера заключается в том, что при огромных размерах сети в несколько тысяч устройств, её будет очень удобно и почти безболезненно настраивать. Представьте себе, если в сети нужно поменять ip адреса на персональных компьютерах сотрудников, принтерам выдать иные адреса, управляемому сетевому оборудованию еще назначить и свои. При размерах сети в несколько тысяч устройств, ручная настройка отняла бы у вас огромное количество времени. Другое дело когда в сети есть настроенный DHCP сервер, который выполнить настройку за вас и на это потребуется всего несколько минут. В дополнение к этому, сервер поддерживает возможность резервирования адресов, таким образом если клиенту(компьютеру,принтеру,коммутатору) нужно назначить фиксированный адрес, мы можем это указать в настройках DHCP сервера и при следующем запросе, клиент получит нужный ему адрес.

Установка и настройка DHCP сервера

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

sudo apt-get install isc-dhcp-server

Минимальная настройка DHCP сервера включает в себя редактирование только 2х файлов.

Первый файл который мы с вами отредактируем, это nano /etc/default/isc-dhcp-server и добавляем/редактируем всего одну строку:

INTERFACES="eth3"

где «eth3» интерфейс к которому подключаются клиенты с внутренней сети и который будет слушать DHCP;

Теперь собственно и сама настройка DHCP сервера. Открываем файл nano /etc/dhcp/dhcpd.conf и удаляем все содержимое. Сейчас мы с вами настроим сервер только для раздачи адресов всем устройствам, которые будут запрашивать у сервера адрес. Добавляем в файл строки:

default-lease-time 7200;  max-lease-time 43200;    subnet 192.168.0.0 netmask 255.255.255.0 {   range 192.168.0.100 192.168.0.200;   option routers 192.168.0.1;   option domain-name-servers 192.168.0.1;  }  

Разберем по-порядку строки которые мы внесли в этот файл:

  • default-lease-time — время аренды(в секундах) адреса у сервера, если клиент не запросил другое;
  • max-lease-time — максимальное время аренды адреса;
  • subnet — описывает сеть ip и её маску;
  • range — диапазон адресов с которых по запросу клиента будут предоставляться адреса;
  • optionrouters — адрес роутера. Это должен быть адрес интерфейса через который пользователи попадают в интернет.
  • optiondomain-name-servers — адрес DNS сервера. Указывает на то, что сервер расположен на этом же компьютере и слушает интерфейс с адресом 192.168.0.1

Роутером у нас должен выступать интерфейс который мы описали в файле INTERFACES="eth3"и там должен быть назначен адрес который мы описали в настройках DHCP сервера. Если у вас не установлен DNS сервер, можете использовать сервер от вашего ISP провайдера или публичные от google или yandex.

Для управления DHCP сервером используются команды:

  • /etc/init.d/isc-dhcp-server start — запуск сервера;
  • /etc/init.d/isc-dhcp-server stop — остановка сервера;
  • /etc/init.d/isc-dhcp-server restart — перезапуск сервера;

Можно использовать команду service isc-dhcp-server {start|stop|restart}.

Если у вас возникнут вопросы по настройке или установке оставляйте ваши комментарии.

Так же можете почитать, как настроить локальную сеть в Ubuntu

Используемые источники:

  • https://help.ubuntu.ru/wiki/руководство_по_ubuntu_server/сеть/dhcp
  • https://mhelp.kz/nastroyka-dhcp-ubuntu-server/
  • https://sysadmin-note.ru/ustanovka-i-nastrojka-dhcp-servera-v-ubuntu/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации