Dnsmasq
Dnsmasq — легковесный и быстроконфигурируемый DNS-, DHCP- и TFTP-сервер, предназначенный для обеспечения доменными именами и связанными с ними сервисами небольших сетей. Может обеспечивать именами локальные машины, которые не имеют глобальных DNS-записей. DHCP-сервер интегрирован с DNS-сервером и даёт машинам с IP-адресом доменное имя, сконфигурированное ранее в конфигурационном файле. Поддерживает привязку IP-адреса к компьютеру или автоматическую настройку IP-адресов из заданного диапазона и BOOTP для сетевой загрузки бездисковых машин.
Dnsmasq | |
---|---|
Тип | DNS-сервер |
Написана на | Си[1] |
Операционная система | GNU/Linux и BSD |
Первый выпуск | 2001 |
Последняя версия |
|
Лицензия | GNU GPL 2[4] и GNU GPL 3 |
Сайт | thekelleys.org.uk/… (англ.) |
Разработчики позиционируют программу для использования в домашних сетях, использующих NAT, однако Dnsmasq также применим в малых сетях организаций.
Функции
Dnsmasq предоставляет следующие возможности:
- Простая конфигурация DNS-машин за межceтевым экраном, независимо от особенностей и доступности DNS-серверов провайдера.
- Мгновенная передача клиентам информации о недоступности сайта, если внешнее соединение прервано.
- Может переопределить другие имена для глобальных IP-адресов без необходимости исправлять файл /etc/hosts на каждой машине.
- Встроенный DHCP-сервер поддерживает статический и динамический DHCP и несколько сетей и IP-диапазонов. Работает через BOOTP-реле и поддерживает DHCP-опции, включая DNS-поиск (RFC 3397).
- Машины, сконфигурированные через DHCP, получают имена, включённые в сервис DNS и имена могут быть привязаны к MAC-адресу в конфигурационном файле.
- Кэширует интернет-адреса (A-записи и записи AAAA) и PTR-записи, снижая нагрузки на внешние серверы и повышая производительность (особенно на модемных соединениях).
- Пользователи могут настроить dnsmasq, чтобы автоматически получать адреса внешних DNS, от PPP- или DHCP-конфигурации. Автоматически перезагружает эту информацию, если она меняется. Это средство помогает брандмауэру Linux-дистрибутива автоматизировать настройку DNS.
- Поддержка IPv6 для передачи и получения DNS-имён. Может даже выступать в качестве транслятора из IPv4 в IPv6 или наоборот для связи локальной сети с интернет через NAT.
- Пользователи могут настроить Dnsmasq для отправки запросов для определённых доменов на обработку внешним серверам.
- Поддерживает MX-записи и может вернуть MX-записи для любой или всех локальных машин.
- Поддерживает NAPTR-запись, что позволяет использовать регулярные выражения, основанные на переписывании доменных имён, которые затем могут быть использованы в качестве URI, дополнительных доменных имён для поиска.
- Некоторые провайдеры переписывают NXDOMAIN-ответы (домен не существует) от DNS-серверов. Это заставляет веб-браузеры искать страницы в домене, который не существует. Dnsmasq может отфильтровать такие записи.
Входит в состав встраиваемых в маршрутизаторы операционных систем DD-WRT и OpenWRT
Обнаруженные уязвимости
- DNSpooq[5] — позволяет осуществить атаки по подстановке фиктивных данных в кэш DNS или вызвать переполнение буфера, потенциально способное привести к удалённому выполнению кода атакующего. Исправлено в обновлении Dnsmasq 2.83.