DHCP-сервер (протокол динамической конфигурации хостов) – это сетевой протокол и программное обеспечение, которое используется для автоматического назначения IP-адресов и другой информации о сетевой конфигурации устройствам в сети без ручного вмешательства.
Представьте, что у вас есть несколько клиентов в вашей сети, которым необходимы IP-адреса и сетевые конфигурации, чтобы установить соединение друг с другом и получить доступ в Интернет. Ручное назначение IP-адресов и сетевых конфигураций каждому устройству – это утомительный, времязатратный и подверженный ошибкам процесс. Поэтому, когда вы настраиваете DHCP-сервер на Ubuntu, он выступает в качестве централизованной точки для управления и автоматизации назначения IP-адресов. Таким образом, устройства динамически и автоматически получают IP-адреса и соответствующую информацию о сетевой конфигурации от этого сервера.
Настройка DHCP-сервера в Ubuntu включает в себя несколько элементарных шагов, которые мной подробно описаны в этой статье. По завершении этого руководства, у вас будет активный DHCP-сервер для Ubuntu, что значительно облегчит управление и назначение IP-адресов клиентам в вашей сети.
Содержание
- Разбор функций DHCP-сервера
- Предварительные требования для настройки DHCP-сервера в Ubuntu
- Краткое руководство по настройке DHCP-сервера в Ubuntu
- Обновите список пакетов Ubuntu
- Установка DHCP-сервера в операционной системе Ubuntu
- Отредактируйте файл настроек
- Настройка статического IP-адреса на клиенте DHCP
- Настройка DHCP-сервера для использования корректного сетевого интерфейса
- Перезагрузите DHCP-сервер
- Активируйте переадресацию IP
- Настройка брандмауэра
- Автоматический запуск службы DHCP
- Проверьте состояние DHCP-сервера
- Просмотр журналов DHCP-сервера
- Заключение
Разбор функций 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 для различных целей. Важно отметить, что вы должны настроить конфигурацию в соответствии с конкретными требованиями вашей сети и соображениями безопасности.