Настройка DHCP-сервера на Ubuntu. Краткое руководство

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

Представьте, что у вас есть несколько клиентов в вашей сети, которым необходимы IP-адреса и сетевые конфигурации, чтобы установить соединение друг с другом и получить доступ в Интернет. Ручное назначение IP-адресов и сетевых конфигураций каждому устройству – это утомительный, времязатратный и подверженный ошибкам процесс. Поэтому, когда вы настраиваете DHCP-сервер на Ubuntu, он выступает в качестве централизованной точки для управления и автоматизации назначения IP-адресов. Таким образом, устройства динамически и автоматически получают IP-адреса и соответствующую информацию о сетевой конфигурации от этого сервера.

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


Разбор функций DHCP-сервера

Краткое объяснение принципов работы DHCP-сервера помогает лучше понять его эффективность:

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

В сети DHCP-сервер получает сообщение DHCP Discover от устройства и начинает исследовать свой набор доступных IP-адресов и других настроек. Если IP-адрес доступен для аренды, сервер отвечает запрашивающему устройству сообщением DHCP Offer. Это сообщение содержит IP-адрес, который будет назначен запрашивающему устройству, а также информацию о настройках сети, такую как маска подсети, шлюз, DNS-серверы, продолжительность аренды и многое другое.

После получения предложения от DHCP запрашивающее устройство отправляет сообщение DHCP Request для подтверждения своего выбора предложенного DHCP-сервером.

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

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

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

Предварительные требования для настройки DHCP-сервера в Ubuntu

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

  • Для размещения программного обеспечения DHCP-сервера необходимо иметь виртуальный сервер (VPS) с установленной операционной системой Ubuntu.
  • Для корректной настройки вашего сервера Ubuntu, обеспечьте наличие статического IP-адреса, маски подсети и шлюза.
  • Для настройки DHCP-сервера иметь доступ к серверу с правами root или sudo.
  • Для редактирования конфигурационных файлов рекомендуется использовать текстовый редактор, такой как Nano, Vim и др.
  • Прежде чем вносить изменения, обязательно сделайте резервные копии ваших существующих конфигурационных файлов.
  • Запишите информацию о вашей сетевой карте, необходимой для установления связи с клиентами (воспользуйтесь командой “ip a” для идентификации).


Краткое руководство по настройке DHCP-сервера в Ubuntu

После рассмотрения обязательных требований, сейчас обратим внимание на процесс настройки DHCP-сервера в Ubuntu.

Обновите список пакетов Ubuntu

До установки DHCP-сервиса на Ubuntu, актуализируйте список пакетов на вашем сервере Ubuntu.

sudo apt update

Установка DHCP-сервера в операционной системе Ubuntu

Для начала установки DHCP-сервера на вашем сервере Ubuntu, воспользуйтесь менеджером пакетов apt. Поскольку пакет “isc-dhcp-server” является популярным выбором, установите его на вашем сервере Ubuntu, выполнив следующую команду:

sudo apt install isc-dhcp-server

Отредактируйте файл настроек

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

sudo mv /etc/dhcp/dhcpd.conf{,.backup}
#Expands to sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.backup

Затем, используя предпочтительный вами текстовый редактор (например, Nano или Vim), откройте конфигурационный файл /etc/dhcp/dhcpd.conf для внесения изменений:

sudo nano /etc/dhcp/dhcpd.conf

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

Пример:

option domain-name "example.com";
option domain-name-servers 8.8.8.8, 77.88.8.8;
default-lease-time 600;
max-lease-time 7200;


subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.150;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
}

Произведите настройку блока подсети с учетом ваших сетевых настроек.

В этом примере установил стандартное время аренды для клиентов и максимальное время аренды (default-lease-time 600; max-lease-time 7200). Я также уточнил, что DHCP-сервер будет предлагать IP-адреса устройствам в диапазоне с 192.168.1.100 по 192.168.1.150, а также установил 192.168.1.1 в качестве шлюза по умолчанию и 8.8.8.8 и 77.88.8.8 в качестве DNS-серверов для клиентов.

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

Для назначения статического IP-адреса конкретному устройству в сети необходимо настроить DHCP-клиентов так, чтобы IP-адрес и MAC-адрес, которые они всегда получают от DHCP-сервера, были четко определены. Сначала определите MAC-адрес конкретного устройства в сети, выполнив следующую команду:

ip a

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

host fedora-node {
hardware ethernet e0:92:43:34:ab:ac;
fixed-address 192.168.1.105;
}

Далее, сохраните файл (в Nano это Ctrl+O, затем Enter) и выйдите из него (в Nano это Ctrl+X).

Для автоматической выдачи IP-адресов вы можете исключить раздел “Static IP Configuration” из конфигурационного файла.

Настройка DHCP-сервера для использования корректного сетевого интерфейса

По умолчанию DHCP-сервер прослушивает все доступные сетевые интерфейсы. Если вы хотите, чтобы DHCP-сервер слушал только определенный интерфейс, укажите необходимый интерфейс в файле /etc/default/isc-dhcp-server. Для определения корректного сетевого интерфейса выполните команду “ip a” на сервере. Затем, после определения правильного сетевого интерфейса, отредактируйте файл /etc/default/isc-dhcp-server с использованием вашего текстового редактора:

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

Найдите строку “INTERFACES=” в файле и укажите нужный сетевой интерфейс.

INTERFACES="eth0"

Перезагрузите DHCP-сервер

После настройки сервера и применения изменений, выполните перезапуск службы DHCP:

sudo service isc-dhcp-server restart

или

sudo systemctl restart isc-dhcp-server.service

Активируйте переадресацию IP

Если вы используете DHCP-сервер в качестве маршрутизатора, вам следует включить IP-переадресацию, изменив файл /etc/sysctl.conf:

sudo nano /etc/sysctl.conf

Чтобы включить IP-переадресацию, раскомментируйте или добавьте следующие строки:

net.ipv4.ip_forward=1

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

sudo sysctl -p

Настройка брандмауэра

Если у вас установлен брандмауэр, убедитесь, что DHCP-трафик на соответствующих портах (обычно, DHCP-демон слушает порты UDP 67 и 68) разрешен. Например, если вы используете брандмауэр UFW, выполните следующие команды для этой цели:

sudo ufw allow 67/udp
sudo ufw allow 68/udp

Автоматический запуск службы DHCP

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

------------ SystemD ------------
$ sudo systemctl start isc-dhcp-server.service
$ sudo systemctl enable isc-dhcp-server.service
------------ SysVinit ------------
$ sudo service isc-dhcp-server.service start
$ sudo service isc-dhcp-server.service enable

Проверьте состояние DHCP-сервера

Для проверки корректной работы DHCP-сервера выполните следующую команду:

sudo systemctl status isc-dhcp-server.service

Статус “Active” свидетельствует о успешной конфигурации DHCP-сервера.

Просмотр журналов DHCP-сервера

Для устранения возможных проблем проверьте логи DHCP-сервера в /var/log/syslog или /var/log/daemon.log:

tail -f /var/log/syslog

Путем анализа логов DHCP-сервера вы сможете выявить и решить проблемы в кратчайшие сроки.

Заключение

Поздравляю, вы успешно настроили и запустили DHCP-сервер в Ubuntu, и теперь он готов автоматически назначать IP-адреса клиентам в вашей локальной сети.

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

Что будем искать? Например,Cisco

Мы в социальных сетях