Настройка DHCP-сервера Debian 10

Обновлено: 21.11.2024

Пакет dhcp содержит DHCP-сервер Internet Systems Consortium (ISC ). Установите пакет как root:

При установке пакета dhcp создается файл /etc/dhcp/dhcpd.conf , который является просто пустым файлом конфигурации. От имени пользователя root введите следующую команду:

Пример файла конфигурации можно найти в /usr/share/doc/dhcp-версия;/dhcpd.conf.example . Этот файл следует использовать для настройки /etc/dhcp/dhcpd.conf , что подробно описано ниже.

DHCP также использует файл /var/lib/dhcpd/dhcpd.leases для хранения базы данных аренды клиентов. Дополнительную информацию см. в Разделе 14.2.2, «База данных аренды».

14.2.1. Файл конфигурации

Первым шагом в настройке DHCP-сервера является создание файла конфигурации, в котором хранится сетевая информация для клиентов. Используйте этот файл для объявления опций для клиентских систем.

Параметры. Укажите, как выполнить задачу, нужно ли выполнять задачу или какие параметры конфигурации сети отправить клиенту.

Объявления. Опишите топологию сети, опишите клиентов, укажите адреса для клиентов или примените группу параметров к группе объявлений.

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

Параметры (включая опции), объявленные перед разделом, заключенным в фигурные скобки (<>), считаются глобальными параметрами. Глобальные параметры применяются ко всем разделам под ним.

Важно

Если файл конфигурации изменен, изменения не вступят в силу, пока демон DHCP не будет перезапущен с помощью команды systemctl restart dhcpd .

Примечание

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

В примере 14.1, «Объявление подсети», параметры routers , subnet-mask , domain-search , domain-name-servers и time-offset используются для любых операторов узла, объявленных под ним.

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

В этом примере есть глобальные параметры для каждого DHCP-клиента в подсети и объявленный диапазон. Клиентам назначаются IP-адреса в диапазоне .

Пример 14.1. Объявление подсети

Чтобы настроить DHCP-сервер, который сдает в аренду динамический IP-адрес системе в подсети, измените примерные значения из Примера 14.2, «Параметр диапазона». Он объявляет время аренды по умолчанию, максимальное время аренды и значения конфигурации сети для клиентов. В этом примере клиентским системам назначаются IP-адреса в диапазоне 192.168.1.10 и 192.168.1.100.

Пример 14.2. Параметр диапазона

Чтобы назначить IP-адрес клиенту на основе MAC-адреса сетевой карты, используйте параметр hardware ethernet в объявлении хоста. Как показано в Примере 14.3, «Статический IP-адрес с использованием DHCP», объявление вершины узла указывает, что сетевая карта с MAC-адресом 00:A0:78:8E:9E:AA всегда получает IP-адрес 192.168.1.4 .

Пример 14.3. Статический IP-адрес с использованием DHCP

Red Hat Enterprise Linux 7 поддерживает назначение статических IP-адресов интерфейсам InfiniBand IPoIB. Однако, поскольку эти интерфейсы не имеют нормального аппаратного Ethernet-адреса, необходимо использовать другой метод указания уникального идентификатора для интерфейса IPoIB. Стандартом является использование конструкции option dhcp-client-identifier= для указания поля dhcp-client-identifier интерфейса IPoIB. Конструкция хоста DHCP-сервера поддерживает не более одной аппаратной записи Ethernet и одной записи dhcp-client-identifier на секцию хоста. Однако может быть более одной записи с фиксированным адресом, и сервер DHCP автоматически ответит адресом, подходящим для сети, в которой был получен запрос DHCP.

Пример 14.4. Статический IP-адрес с использованием DHCP на нескольких интерфейсах

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

Чтобы найти правильный идентификатор dhcp-client-identifier для вашего устройства, обычно можно использовать префикс ff:00:00:00:00:00:02:00:00:02:c9:00, а затем добавить последние 8 байтов интерфейса IPoIB (который также является 8-байтовым идентификатором GUID порта InfiniBand, на котором работает интерфейс IPoIB). На некоторых старых контроллерах этот префикс неверен. В этом случае мы рекомендуем использовать tcpdump на DHCP-сервере для захвата входящего DHCP-запроса IPoIB и получения правильного идентификатора dhcp-client-identifier из этого захвата. Например: В приведенном выше дампе показано поле Client-ID. Аппаратный тип 255 соответствует начальному ff: идентификатора, остальная часть идентификатора затем указывается в кавычках точно так, как она должна отображаться в файле конфигурации DHCP.

Все подсети, которые совместно используют одну и ту же физическую сеть, должны быть объявлены в объявлении общей сети, как показано в Примере 14.5, «Объявление общей сети». Параметры внутри shared-network, но за пределами вложенных объявлений подсети считаются глобальными параметрами. Имя, присвоенное Shared-network, должно быть описательным заголовком для сети, например использовать заголовок test-lab для описания всех подсетей в среде тестовой лаборатории.

Пример 14.5. Декларация общей сети

Как показано в примере 14.6, «Объявление группы», объявление группы используется для применения глобальных параметров к группе объявлений. Например, общие сети, подсети и узлы могут быть сгруппированы.

Пример 14.6. Объявление группы

Примечание

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

14.2.2. База данных аренды

На DHCP-сервере в файле /var/lib/dhcpd/dhcpd.leases хранится база данных аренды DHCP-клиентов. Не изменяйте этот файл. Информация об аренде DHCP для каждого недавно назначенного IP-адреса автоматически сохраняется в базе данных аренды. Информация включает в себя продолжительность аренды, кому был назначен IP-адрес, даты начала и окончания аренды, а также MAC-адрес карты сетевого интерфейса, которая использовалась для получения аренды.

База данных аренды время от времени создается заново, чтобы она не была слишком большой. Во-первых, все известные договоры аренды сохраняются во временной базе данных. Файл dhcpd.leases переименовывается в dhcpd.leases~, а временная база данных аренды записывается в dhcpd.leases .

Демон DHCP может быть остановлен или произойдет сбой системы после того, как база данных аренды будет переименована в файл резервной копии, но до того, как новый файл будет записан. В этом случае файл dhcpd.leases не существует, но он необходим для запуска службы. Не создавайте новый файл аренды. Если вы это сделаете, все старые договоры аренды будут потеряны, что вызовет много проблем. Правильное решение — переименовать файл резервной копии dhcpd.leases~ в dhcpd.leases, а затем запустить демон.

14.2.3. Запуск и остановка сервера

Важно

При первом запуске DHCP-сервера происходит сбой, если не существует файла dhcpd.leases. Вы можете использовать команду touch /var/lib/dhcpd/dhcpd.leases, чтобы создать файл, если он не существует. Если на том же сервере работает BIND в качестве DNS-сервера, в этом шаге нет необходимости, так как запуск указанной службы автоматически проверяет наличие файла dhcpd.leases.

Не создавайте новый файл аренды в ранее работавшей системе. Если вы это сделаете, все старые договоры аренды будут потеряны, что вызовет много проблем. Правильное решение — переименовать файл резервной копии dhcpd.leases~ в dhcpd.leases, а затем запустить демон.

По умолчанию служба DHCP не запускается во время загрузки. Информацию о том, как настроить автоматический запуск демона при загрузке, см. в Руководстве системного администратора Red Hat Enterprise Linux.

Если к системе подключено более одного сетевого интерфейса, но сервер DHCP должен прослушивать запросы DHCP только на одном из интерфейсов, настройте сервер DHCP на прослушивание только на этом устройстве. Демон DHCP будет прослушивать только те интерфейсы, для которых он нашел объявление подсети в файле /etc/dhcp/dhcpd.conf.

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

Чтобы указать параметры командной строки, скопируйте и отредактируйте файл dhcpd.service от имени пользователя root. Например, следующим образом: Отредактируйте строку в разделе [Сервис]: Затем от имени пользователя root перезапустите службу:

Параметры командной строки могут быть добавлены к ExecStart=/usr/sbin/dhcpd в файле модуля /etc/systemd/system/dhcpd.service в разделе [Service]. К ним относятся:

-p portnum — указывает номер порта UDP, на котором dhcpd должен прослушивать. По умолчанию используется порт 67. DHCP-сервер передает ответы DHCP-клиентам через порт с номером, на один большим, чем указанный UDP-порт. Например, если используется порт 67 по умолчанию, сервер прослушивает порт 67 для запросов и отвечает клиенту через порт 68. Если здесь указан порт и используется агент ретрансляции DHCP, тот же порт, на котором ретранслятор DHCP должен быть указан агент, который должен слушать. Дополнительные сведения см. в разделе 14.3, «Агент DHCP-ретрансляции».

-d — записывает демон DHCP-сервера в стандартный дескриптор ошибки. Это в основном используется для отладки. Если это не указано, журнал записывается в /var/log/messages .

Одной из основных задач любого системного администратора является выполнение сетевых служб. Некоторые из этих услуг варьируются от самых сложных до самых простых. Однако протокол DHCP является базовой службой в сети, но при этом одной из самых важных. Поэтому сегодня я покажу вам, как настроить DHCP-сервер в Debian 10/Debian 9.

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

Для достижения своей цели сервер DHCP может назначать IP-адреса следующим образом:

  • Ручное или статическое назначение: IP-адрес назначается определенному компьютеру.
  • Автоматическое назначение: IP-адрес назначается клиентскому компьютеру при первом отправке запроса на DHCP-сервер и до тех пор, пока клиент не освободит его.
  • Третий способ назначения IP-адреса DHCP-сервером — динамическое назначение.

0. Что я буду делать

Во-первых, я объясню вам, что я собираюсь сделать в этом посте.

Очевидно, что первым шагом является установка сетевой службы DHCP. Затем я научу вас работать с сервисом systemd.

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

Итак, это меню.

1. Установите пакет DHCP

Установить DHCP может любой, поскольку эта служба есть в официальных репозиториях большинства дистрибутивов Linux. В данном случае руководство разработано как для Debian 10/, так и для Debian 9, поэтому для его установки достаточно команды:

1.- Установите пакет DHCP

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

Итак, настроим DHCP.

2. Настройте DHCP-сервер

Настроить хотя бы базовый DHCP-сервер очень просто. Вся его конфигурация находится в файле /etc/dhcp/dhcpd.conf. Итак, вы должны отредактировать его. Но сначала создайте резервную копию файла.

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

Например, предположим, что IP-адрес этого компьютера — 192.168.250.1, и вам нужно назначить IP-адреса от 192.168.250.101 до 192.168.250.254 , тогда конфигурация будет выглядеть следующим образом.

2.- Некоторая конфигурация

Напоминаю, что эти данные вымышленные и показывают только пример конфигурации. Вы должны заменить их соответствующими.

Перед перезапуском службы откройте этот файл /etc/default/isc-dhcp-server и добавьте свой сетевой интерфейс в раздел INTERFACESV4.

3.- Добавление сетевого интерфейса

ПРИМЕЧАНИЕ. Если вы не знаете, какой у вас сетевой интерфейс, это можно узнать, выполнив команду ip или ifconfig.

4.- Использование команды IP

Итак, вы можете перезапустить службу.

Назначение статического IP

Возможно назначить статический адрес одному или нескольким хостам в сети. Для этого создайте файл в /etc/dhcpd/hosts и поместите туда следующее.

Я имею в виду, что так и должно оставаться:

5.- Установка статического IP-адреса

ПРИМЕЧАНИЕ. В каждом сегменте сети должен существовать только один сервер DHCP. Если у вас есть маршрутизатор или модем ADSL, скорее всего, у них есть служба DHCP. Чтобы эти шаги работали на вас, вы должны отключиться от них. Или отключите на них службу DHCP.

Заключение

Создать DHCP-сервер несложно, однако хорошо иметь представление о своей сети, чтобы сделать это правильно.

Протокол динамической конфигурации хоста (DHCP) – это сетевой протокол, который позволяет хост-компьютерам автоматически назначать IP-адреса и соответствующие сетевые конфигурации с сервера.

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

Как работает DHCP?

Ниже приводится краткое описание того, как на самом деле работает DHCP:

  • После загрузки клиента (настроенного на использование DHCP) и подключения к сети он отправляет пакет DHCPDISCOVER на сервер DHCP.
  • Когда сервер DHCP получает пакет запроса DHCPDISCOVER, он отвечает пакетом DHCPOFFER.
  • Затем клиент получает пакет DHCPOFFER и отправляет на сервер пакет DHCPREQUEST, показывая, что он готов принять информацию о конфигурации сети, указанную в пакете DHCPOFFER.
  • Наконец, после того как DHCP-сервер получает от клиента пакет DHCPREQUEST, он отправляет пакет DHCPACK, показывающий, что теперь клиенту разрешено использовать назначенный ему IP-адрес.

В этой статье мы покажем вам, как настроить DHCP-сервер в Ubuntu/Debian Linux, и выполним все команды с помощью команды sudo, чтобы получить привилегии пользователя root.

Настройка тестовой среды

Для этой настройки мы будем использовать следующую тестовую среду.

Шаг 1. Установка DHCP-сервера в Ubuntu

<р>1. Выполните приведенную ниже команду, чтобы установить пакет сервера DCHP, ранее известный как dhcp3-server.

<р>2. По завершении установки отредактируйте файл /etc/default/isc-dhcp-server, чтобы определить интерфейсы, которые DHCPD должен использовать для обслуживания запросов DHCP, с параметром INTERFACES.

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

А также узнайте, как настроить статический IP-адрес для указанного выше интерфейса.

Шаг 2. Настройка DHCP-сервера в Ubuntu

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

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

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

<р>5. Теперь определите подсеть; здесь мы настроим DHCP для локальной сети 192.168.10.0/24 (используйте параметры, применимые к вашему сценарию).

Шаг 3. Настройте статический IP-адрес на DHCP-клиенте

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

Сохраните файл и закройте его.

<р>7. Затем на время запустите службу DHCP и включите ее автоматический запуск при следующей загрузке системы, например:

<р>8. Затем не забудьте разрешить службу DHCP (демон DHCPD прослушивает порт 67/UDP) на брандмауэре, как показано ниже:

Шаг 4. Настройка компьютеров DHCP-клиентов

<р>9. На этом этапе вы можете настроить клиентские компьютеры в сети на автоматическое получение IP-адресов от DHCP-сервера.

Войдите на клиентские компьютеры и отредактируйте файл конфигурации интерфейса Ethernet следующим образом (обратите внимание на имя/номер интерфейса):

И определите параметры ниже:

Сохраните файл и выйдите. И перезапустите сетевые службы вот так (или перезагрузите систему):

В качестве альтернативы можно использовать графический интерфейс на настольном компьютере для выполнения настроек, установите для метода значение «Автоматически (DHCP)», как показано на снимке экрана ниже (Fedora 25 для настольных ПК).

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

Вот оно! В этом руководстве мы показали вам, как настроить DHCP-сервер в Ubuntu/Debian.Поделитесь с нами своими мыслями через раздел обратной связи ниже. Если вы используете дистрибутив на базе Fedora, ознакомьтесь с инструкциями по настройке DHCP-сервера в CentOS/RHEL.

Если вам понравилась эта статья, подпишитесь на уведомления по электронной почте о руководствах по Linux. Если у вас есть вопросы или сомнения? обратитесь за помощью в разделе комментариев.

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

Мы благодарны за вашу бесконечную поддержку.

Похожие записи

14 мыслей о «Как установить DHCP-сервер в Ubuntu и Debian»

Здравствуйте, сэр, у меня проблема. Я могу запустить свое приложение в Ubuntu на vmware ESXi, но я не могу получить к нему доступ с другого компьютера в той же сети с IP и портом. Сначала я думаю, что ufw заблокировал мой порт, но когда я разрешаю и отключить все равно не получится

Потрясающе, руководство было легко понять, спасибо.

Добро пожаловать, спасибо за отзыв.

Спасибо, эта статья мне очень помогла, я не обнаружил проблем после выполнения шагов, описанных в этом посте. просто я настраиваю неправильные интерфейсы..

Мне нравится добавлять 3/4 разных сети в пул/диапазон DHCP.

Вот пример:

Примечание: мне нравится добавлять это, потому что у меня более 400 пользователей мобильных устройств/ноутбуков, поэтому я подумал, что если использовать фильтр с разными сериями IP-адресов, его будет очень легко поддерживать.

Пожалуйста, дайте мне знать, возможно ли это?

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

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

Если вы хотите продолжить, вот что-то вроде этого:

Подсеть 255.255.252.0 даст = 192.168.16.1 – 192.168.19.254

Нет, вы не можете просто начать с .10.x, потому что эта подсеть находится в середине другой.

Большинству людей это кажется странным, но адрес 192.168.16.255 в этой подсети можно использовать. Это даст вам первые 10 IP-адресов в каждом диапазоне номеров, которые будут статическими, если вы хотите, но максимизирует используемый адрес на сервере DHCP.

Я бы также порекомендовал разделить это на 2 или 4 сервера. DHCP работает на гонке. Первый ответивший сервер может выдать IP-адрес. Поэтому, если один из ваших серверов выйдет из строя, остальные смогут обслуживать ваших клиентов.
Людям не нравится, когда «интернет» ломается.

Я установил Debian 9 на машину, затем настроил свою сеть, чтобы иметь возможность загружать из Интернета пакеты для DCHP и DNS

Я установил 2 пакета, затем изменил DNS, чтобы они проходили по моей локальной сети, а не по сети компании. После того, как я запустил сетевую карту, теперь я хочу знать, настроим ли мы DNS-сервер задолго до DHCP-сервера?

Автор Rahul, 16 марта 2017 г. Чтение: 2 минуты Обновлено: 7 июля 2018 г.

Как установить DHCP-сервер в Ubuntu и Debian. DHCP (протокол динамической конфигурации хоста) — это сетевой протокол, используемый для динамического назначения IP-адресов сетевым клиентам из предопределенного пула IP-адресов. Это полезно для сети LAN, но обычно не используется для производственных серверов. Подробнее о DHCP читайте здесь.

Это руководство поможет вам установить DHCP-сервер в системах Ubuntu, Debian и LinuxMint.

Шаг 1. Установите DHCP-сервер

Системы на базе Debian предоставляют пакет isc-dhcp-server для установки DHCP-сервера. Откройте терминал в своей системе и установите DHCP с помощью следующей команды.

Шаг 2. Настройте DHCP-сервер

Выполните следующие действия, чтобы настроить DHCP-сервер.

2.1. Настройка интерфейсов для прослушивания

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

2.2 – Глобальная конфигурация

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

Кроме того, если вы хотите, чтобы этот DHCP-сервер был официальным DHCP-сервером для локальной сети, раскомментируйте авторитетную директиву

2.3 – Декларация IP-подсети

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

2.4. Настройка хоста с фиксированным IP-адресом

Кроме того, вы также можете указать фиксированные IP-адреса для некоторых систем на основе MAC-адреса. Например, система с MAC-адресом «00:11:1A:2B:3C:AB» получит IP-адрес 192.168.1.99.

Шаг 3. Запуск/остановка службы DHCP

Наконец вы успешно установили и настроили DHCP-сервер. Используйте следующую команду для запуска/остановки и перезапуска службы.

Читайте также: