Главная
АИ #1 (236)
Статьи журнала АИ #1 (236)
Развертывание и тестирование DHCP сервера на базе DNSMASQ

Развертывание и тестирование DHCP сервера на базе DNSMASQ

Рубрика

Информационные технологии

Ключевые слова

DHCP
DNSMASQ
настройка сети
локальная сеть
статический IP-адрес
сетевое администрирование
конфигурация DHCP

Аннотация статьи

В статье рассмотрен процесс развертывания и настройки DHCP сервера на базе DNSMASQ в локальной сети.

Текст статьи

Введение

Без сетевых технологий уже невозможно представить нашу жизнь: они обеспечивают связь между различными устройствами и системами. Одним из важнейших протоколов в сетевой инфраструктуре является протокол DHCP (Dynamic Host Configuration Protocol), предназначенный для автоматической настройки сетевых параметров устройств. Развертывание и администрирование DHCP-сервера является неотъемлемой частью сетевой безопасности и управления.

Одним из популярных решений для реализации DHCP-сервера является DNSMASQ – легковесная и гибкая утилита, которая используется для предоставления различных сетевых услуг, включая DHCP, DNS и TFTP. DNSMASQ широко применяется в малых и средних сетях благодаря своей простоте в развертывании, низким системным требованиям и высокой степени конфигурируемости. Однако для успешной и безопасной работы таких серверов необходимы тщательные настройки и тестирование, чтобы гарантировать правильное распределение IP-адресов и минимизировать уязвимости.

Цель данного исследования заключается в изучении и анализе теории технологии DHCP сервера на базе DNSMASQ, а также описании настройки данного сервера и проверке правильности настройки DHCP сервера.

Объект исследования: процесс развертывания и функционирования DHCP сервера, основанного на DNSMASQ, в локальных сетях.

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

Цель исследования: разработка рекомендаций по эффективному развертыванию и настройке DHCP сервера на базе DNSMASQ.

Литературный обзор

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

DHCP сервер – это устройство, которое управляет IP-адресами и отвечает на запросы клиентов.

DHCP – это один из базовых сервисов в локальных сетях, благодаря которому отпадает необходимость конфигурировать настройки сети вручную. Он позволяет выдавать автоматически такие настройки как IP-адрес, адрес DNS-сервера и шлюза по умолчанию, а также резервировать IP-адреса по MAC-адресам [5].

DNSMASQ обеспечивает сетевую инфраструктуру для небольших сетей: DNS, DHCP, маршрутизацию и загрузку сети. Он разработан как легковесное и компактное решение, подходящее для маршрутизаторов и брандмауэров с ограниченными ресурсами. Он также широко используется для подключения к смартфонам и портативным точкам доступа, а также для поддержки виртуальных сетей в рамках виртуализации. Поддерживаемые платформы включают Linux (с glibc и uclibc), Android, BSD и Mac OS X. Dnsmasq включён в большинство дистрибутивов Linux и систем портов FreeBSD, OpenBSD и NetBSD. Dnsmasq обеспечивает полную поддержку IPv6 [6].

DNSMASQ – это сетевой сервис, который предоставляет функции DHCP. Он позволяет быстро и эффективно настраивать сеть с минимальными затратами ресурсов.

Основными функциями DNSMASQ являются:

  1. Назначение IP-адреса клиентским устройствам;
  2. Управление диапазонами адресов, сроками аренды и статическими IP-адресами для определенных устройств;
  3. Ускорение доступа к часто запрашиваемым доменам;
  4. Переопределение DNS-имен для локальных устройств.

Ключевые параметры DHCP сервера на базе DNSMASQ:

  1. Сетевой шлюз: Адрес маршрутизатора для выхода в другие сети. Пример: dhcp- option=option: router, «ip-адрес».
  2. Маска подсети: Определяет диапазон IP-адресов внутри локальной сети. Пример: dhcp- range=«ip-адрес (начало диапазона)», «ip-адрес (конец диапазона)».
  3. DNS-сервер: Адрес сервера, который разрешает доменные имена в IP-адреса. Пример: dhcp-option=option:dns-server, «адрес основного DNS сервера»,«адрес резервного DNS сервера».

Способы проверки параметров DHCP сервера на базе DNSMASQ:

  1. Проверка текущей конфигурации: просмотр файла /etc/dnsmasq.conf.
  2. Проверка логов: journalctl -u
  3. Проверка активных арендуемых адресов: cat /var/lib/misc/dnsmasq.leases.

В данном исследование можно сформулировать следующие основные гипотезы:

  1. DNSMASQ может успешно заменить традиционные DHCP-серверы в небольших сетях.
  2. Правильная настройка DNSMASQ минимизирует сетевые конфликты и ошибки распределения IP-адресов.

Методы исследования:

  1. Тип исследования: экспериментальное исследование.
  2. Характеристика выборки: данное исследование проводилось на 3 виртуальных машинах, одна из которых выступала в роли DHCP сервера на базе DNSMASQ, а оставшиеся две машины – клиентских машин, с установленной операционной системой «Альт рабочая станция» версии 10.4. Ресурсы виртуальных машин одинаковые: 2 ядра ЦП, 2048 МБ оперативной памяти.

image.png

Рис. 1. Топология исследования

  1. Методы сбора данных: проверка выдачи ip-адресов клиентским машинам и анализ логов на DHCP сервере на базе DNSMASQ.
  2. Описание процедуры проведения исследования: установка DNSMASQ на сервере; настройка параметров DNSMASQ; тестирование корректности выдачи IP-адресов и стабильности работы.
  3. Методы обработки данных: анализ логов и задержек в распределении адресов.

Практическая часть

1) Выдаем на сервер статический ip-адрес.

Настройка статического ip-адреса производится следующим образом:

1. vim /etc/net/ifaces/enp0s3/options – переходим в файл и прописываем настройки, указанные ниже (рис. 2);

image.png

Рис. 2. Перешли в папку /etc/net/ifaces/enp0s3/options

2. vim /etc/net/ifaces/enp0s3/ipv4address – заходим в файл и задаем ip-адрес. В данном случае мы выдали ip: 192.168.1.100.

image.png

Рис. 3. Перешли в папку /etc/net/ifaces/enp0s3/ipv4address

image.png

Рис. 4. Статический ip-адрес выдан

2) Для того, чтобы развернуть DHCP сервер на базе DNSMASQ, первым делом нужно установить пакет DNSMASQ в операционной системе «Альт рабочая станция». Это можно сделать при помощи команды: apt-get install dnsmasq. В этой операционной системе версии 10.4 данный пакет уже установлен.

image.png

Рис. 5. Установка пакета DNSMASQ

3) После установки можно посмотреть версию и состав установленного пакета DNSMASQ с помощью команды

dnsmasq –version

image.png

Рис. 6. Просмотр версии и состав пакета DNSMASQ

4) После установки пакета DNSMASQ для настройки нужно перейти в файл при помощи команды: vim

/etc/dnsmasq.conf и отредактировать файл конфигурации.

image.png

Рис. 7. Переходим в файл /etc/dnsmasq.conf

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

  1. interface=enp0s3 – задаем сетевой интерфейс, на котором работает Теперь DHCP и DNS сервисы будут активны только на указанном интерфейсе;
  2. bind-interfaces – указываем, что DNSMASQ теперь будет привязываться к интерфейсам, указанным в конфигурации. Эта команда обеспечивает, что сервер будет отвечать только на запросы, приходящие с определённых интерфейсов, тем самым предотвращая нежелательные ответы на запросы с других интерфейсов;
  3. dhcp-range=192.168.1.101, 168.1.254, 24h – указываем диапазон ip-адресов, которые DHCP сервер может выдать клиентам. В нашем случае мы указали, что сервер будет раздавать адреса от 192.168.1.101 до 192.168.1.254 с временем аренды в 24 часа;
  4. dhcp-option=option: router, 192.168.1.100 – указываем ip-адрес маршрутизатора по умолчанию для клиентов DHCP. Это адрес, через который клиенты будут выходить в интернет или другие сети;
  5. dhcp-option=option:dns-server, 8.8.8.8,8.8.4.4 – этой командой мы определяем DNS-серверы, которые будут использоваться клиентами В данном случае ip 8.8.8.8 и 8.8.4.4 это адреса DNS-серверов Google;
  6. server=8.8.8.8 – задаем DNS-сервер, который будет использоваться DNSMASQ для разрешения имен (обычно он указывает на тот же DNS-сервер, который используется клиентами);
  7. server=8.8.4.4 – задаем резервный DNS-сервер на случай, если первый станет недоступным;
  8. domain-needed – разрешаем DNSMASQ игнорировать запросы на разрешение имен без точки (например, «localhost» вместо «localhost.»), что минимизирует количество запросов, направляемых на DNS-серверы;
  9. bogus-priv – этой командой мы предотвращаем возврат частных IP-адресов, что повышает нашу безопасность;
  10. local=/testdomain.local/ – определяем локальный домен, для которого DNSMASQ должен обрабатывать запросы самостоятельно. Запросы к этому домену не будут отправляться на другие DNS- серверы;
  11. address=/example.testdomain.local/192.168.1.100 – создаем статическую запись в DNS, связывая имя testdomain.local с IP-адресом 192.168.1.100.

image.png

Рис. 8. Прописываем настройки в файле /etc/dnsmasq.conf

6) После редактирования файла нужно проверить работу сервиса DNSMASQ. Для этого прописываем команду systemctl status dnsmasq.service. Статус должен стать активным и не должно возникать ошибок.

image.png

Рис. 9. Проверяем работу сервиса DNSMASQ

image.png

Рис. 10. Просмотр логов сервиса DNSMASQ

image.png

Рис. 11. Проверка активных арендуемых адресов DNSMASQ

7) Для упрощения работы сервиса DNSMASQ пропишем команду systemctl enable dnsmasq.service, которая будет автоматически будет запускать данный сервис при включении машины.

image.png

Рис. 12. Настройка автоматического запуска сервиса DNSMASQ в системе

8) Далее для проверки правильности настройки подключим во внутреннюю сеть две клиентские машины и посмотрим выдается ли данной машине ip-адрес из диапазона, который мы прописывали в настройках сервиса DNSMASQ ранее.

image.png

Рис. 13. IP-адрес выдан на PC1

image.png

Рис. 14. IP-адрес выдан на PC2

Результат исследования

Успешная настройка сервера DHCP на базе DNSMASQ: клиентские машины получили ip-адреса от сервера в диапазоне, который мы указали при настройке сервера (dhcp-range=192.168.1.101, 192.168.1.254, 24h): PC1 получил ip-адрес 192.168.1.107 (рис. 13), PC2 – 192.168.1.239 (рис. 14).

Также на сервере DHCP мы можем просмотреть статус работы сервиса DNSMASQ (рис. 9), логи сервиса (рис. 10) и проверить активные арендуемые адреса DNSMASQ (рис. 11).

Заключение

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

Подтверждение гипотез данного исследования:

  1. В результате проведенного исследования функциональности DNSMASQ, было подтверждено, что данный инструмент обладает всеми необходимыми возможностями для работы в качестве DHCP- сервера. Также DNSMASQ демонстрирует простоту настройки, стабильность работы и высокую производительность в условиях небольших сетей, это можно подтвердить, посмотрев логи DHCP сервера на базе DNSMASQ, скоростью, с которой сервер выдает ip-адреса и отсутствием ошибок.
  2. Практическое тестирование показало, что корректная конфигурация ключевых параметров, таких как диапазоны адресов (dhcp-range), время аренды (lease time), и использование привязки IP- адресов к MAC-адресам (dhcp-host), позволяет исключить сетевые конфликты. Также логирование DHCP-запросов и мониторинг через встроенные средства (например, анализ файла dnsmasq.leases) дополнительно упрощают диагностику и управление. Ошибки распределения IP-адресов не были зафиксированы.

Дальнейшие исследования могут быть направлены на:

  1. Интеграцию DNSMASQ с системами мониторинга.
  2. Анализ производительности в крупных сетях с более сложной конфигурацией.

Список литературы

  1. Уймин Антон Григорьевич. Компьютерные сети. L2-технологии: практикум / А.Г. Уймин. – Москва: Ай Пи Ар Медиа, 2024. – 191 c. – Текст: электронный (дата обращения: 12.11.2024). Конфигурируем DHCP-серверы и настраиваем динамические обновления DNS. [https://www.elibrary.ru/download/elibrary_20406998_60712563.pdf] (дата обращения: 20.11.2024).
  2. Конфигурирование DHTP [https://www.elibrary.ru/download/elibrary_20343279_26740090.pdf] (дата обращения: 02.12.2024).
  3. DNSMASQ – Настройка кеширующего DNS +DHCP сервер [https://open-networks.ru/d/48-dnsmasq-nastroika-kesiruyushhego-dns-dhcp-server] (дата обращения: 16.12.2024).
  4. Настройка DNSMASQ: DHCP и DNS [https://www.mnorin.com/nastrojka-dnsmasq-dhcp-dns.html] (дата обращения: 16.12.2024).
  5. Официальная документация DNSMASQ [https://dnsmasq.org/doc.html] (дата обращения: 12.12.2024).

Поделиться

54

Карпова А. Д., Шпигун Г. Н. Развертывание и тестирование DHCP сервера на базе DNSMASQ // Актуальные исследования. 2025. №1 (236). URL: https://apni.ru/article/11014-razvertyvanie-i-testirovanie-dhcp-servera-na-baze-dnsmasq

Обнаружили грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики)? Напишите письмо в редакцию журнала: info@apni.ru
Актуальные исследования

#2 (237)

Прием материалов

11 января - 17 января

осталось 6 дней

Размещение PDF-версии журнала

22 января

Размещение электронной версии статьи

сразу после оплаты

Рассылка печатных экземпляров

5 февраля