Введение
В данной статье рассмотрим базовый функционал isc-dhcp-server и DNSMASQ для дистрибутива Альт. Будет проведен сравнительный анализ свойств и различий данных сервисов.
Объект исследования – область операционных систем, основанных на ядре Linux, а также процесс функционирования сервисов isc-dhcp-server и DNSMASQ в виртуальной среде.
Предмет исследования – базовый функционал и взаимодействие служб isc-dhcp-server и DNSMASQ в операционной системе ALT, установленной в виртуальной машине VirtualBox.
Цель исследования – анализ и описание работы базового функционала isc-dhcp-server и DNSMASQ в условиях виртуальной среды VirtualBox с операционной системой ALT, определение основных свойств и различий между ними.
Установка сервисов
isc-dhcp-server – это программный DHCP-сервер, созданный Internet Systems Consortium, который занимается автоматическим распределением IP-адресов и других необходимых сетевых параметров среди клиентских устройств в локальной сети. С его помощью можно посмотреть информацию о шлюзах, DNS-серверах и других параметрах, необходимых для настройки сетевого соединения.
Чтобы начать работу с isc-dhcp-server, сначала нужно установить пакет на тот сервер, который выступает в роли DHCP, с помощью команды (рис. 1):
Рис. 1. Установка пакета isc-dhcp-server
Следующим шагом является настройка файла /etc/dhcp/dhcpd.conf, в котором задаются параметры диапазона IP-адресов. Также необходимо задать нужный интерфейс, который прослушивает DHCP, для этого открываем файл /etc/default/isc-dhcp-server (рис. 2).
Рис. 2. Настройка интерфейса DHCP
После этого нужно убедиться в корректности работы, настроенного DHCP-сервера (рис. 3, 4, 5).
Рис. 3. Проверка работы сервера
Рис. 4. Просмотр файла конфигурации
Рис. 5. Просмотр файла /var/lib/dhcp/dhcpd/state/dhcpd.leases
DNSMASQ – представляет собой компактный и многофункциональный сервер, обеспечивающий такие функции как DHCP-сервер, DNS-резолвинг, а также TFTP-сервер. Его часто используют в небольших сетях, домашних округах, а также во встраиваемых системах и маршрутизаторах.
Для начала работы сервера нужно установить пакет dnsmasq с помощью команды: apt-get install dnsmasq.
Следующим шагом необходимо открыть файл /etc/dnsmasq.conf и добавить в него строки (рис. 6):
Рис. 6. Редактирование файла
В первой строке «interface» указываем тот интерфейс, через который мы будем отправлять клиенту IP-адреса. Вторая строчка привязывает dnsmasq к указанному интерфейсу. «dhcp-range» указывает диапазон выдаваемых IP-адресов, а также время выдачи. Следующие две строки «dhcp-option» указывают IP шлюза и DNS серверы. «server» – соответствующие DNS-серверы для перенаправления запросов. Строка «domain-needed» запрещает перенаправление коротких имен, а «bogus-priv» запрещает частное разрешение из частных подсетей. Последние две строчки определяют локальный домен и назначают ему IP-адрес.
Теперь нужно перезапустить сервис dnsmasq и посмотреть корректность его установки (рис. 7, 8):
Рис. 7. Проверка работы сервиса
Рис. 8. Вывод имени и IP локального домена
Проанализируем настройку данных сервисов с помощью сравнительной таблицы (табл. 1):
Таблица 1
Сравнение настройки
| isc-dhcp-server | DNSMASQ |
Файл конфигурации | /etc/dhcp/dhcpd.conf | /etc/dnsmasq.conf |
DHCP-диапазоны | subnet, range, pool (дополнительная настройка) | dhcp-range |
DHCP-option | Широкий набор опций, требующие точных указаний | Множество опций, но более ограниченных |
DNS-сервер | Не входит в основной функционал | Встроенная поддержка |
Чтобы проверить правильность работы DHCP-сервера, нужно подключить клиентское устройство и настроить его на автоматическое получение IP-адреса: dhclient enp0s8. После этого проверим, что клиент получил IP-адрес из указанного диапазона. Кроме того, важно убедиться, что DHCP-сервер корректно передаёт информацию о DNS-серверах и что клиентское устройство может использовать их для разрешения доменных имен. Для быстрого поиска ip-адреса какого-либо домена можно прописать команду host (рис. 9).
Рис. 9. Вывод ip-адреса доменного имени
Теперь попробуем совершить атаку на dhcp-сервер с помощью yersinia, при которой отправляются фальшивые запросы DHCP-Discover с произвольными MAC-адресами. Это необходимо, чтобы проверить работу сервера, выявить его уязвимости и повысить надежность сети (рис. 10, 11).
Рис. 10. Выбор атаки
Рис. 11. Отслеживание поддельных пакетов
После этого проверим состояние сервиса (htop) (рис. 12, 13):
Рис. 12. Показатель загруженности до атаки
Рис. 13. Показатель загруженности после атаки
Можно попробовать еще один вид атаки - создание DHCP Rogue сервера, который распространяет фальсифицированные сетевые настройки (рис. 14).
Рис. 14. Создание фальшивого dhcp-сервера
При этом клиент будет получать автоматически ip-адреса с фальшивого dhcp-сервера.
Чтобы лучше понять в чем различие между isc-dhcp-server и DNSMASQ отобразим их свойства в таблице (табл. 2):
Таблица 2
Сравнительная таблица
Функционал | isc-dhcp-server | DNSMASQ |
Основное назначение | DHCP-сервер | DHCP, DNS, TFTP-серверы |
DHCP-сервер | Полнофункциональный DHCP-сервер | Базовый DHCP-сервер |
Динамическая выдача IP-адресов | Поддержка различных диапазонов IP-адресов | Поддержка динамической выдачи IP-адресов |
Статические IP-адреса | Привязка IP-адресов к MAC-адресов | Привязка IP-адресов к MAC-адресов |
Параметры DHCP | Поддержка всех стандартных DHCP-опций | Поддержка большинства стандартных DHCP-опций |
DHCPv6 | Полная поддержка DHCPv6 | Неполная поддержка DHCPv6 |
Lease-time | Контроль времени аренды, возможность отложить выдачу | Настройка времени по дефолту без возможности изменения |
Локальное разрешение имен | Не используется в качестве локального DNS-сервера | Используется для локального разрешения имён |
Поддержка DNS | Нет | Встроенный DNS-сервер |
Сложность настройки | Усложненная | Простая |
Назначение | Крупные сети, предприятия, провайдеры | Домашние или малые сети, маршрутизаторы, встраиваемые системы |
Масштабируемость | Высокая | Ограниченная |
Заключение
В данной статье мы разобрали работу таких сервисов как isc-dhcp-server и DNSMASQ, их установку и настройку, а также их основные свойства и различия друг с другом.
Таким образом, выбор между isc-dhcp-server и DNSMASQ зависит, в первую очередь, от вида сети, где это будет использоваться. Если это крупная инфраструктура и важны расширенные возможности управления сетью, то приоритетным вариантом будет - isc-dhcp-server. Однако, если требуется только эффективность и простота работы, нужная для средних сетевых окружений, то соответственно подойдет DNSMASQ.