Открытый authoritative- и recursive-DNS-сервер с веб-консолью, блокировкой рекламы и вредоносного ПО и поддержкой шифрованного DNS.
pymumu/smartdns
Локальный DNS-сервер, который опрашивает несколько вышестоящих резолверов и возвращает для каждого домена IP-адрес с самым быстрым откликом.
- Звёзды
- 11,378
- Форки
- 1,250
- Открытые issues
- 322
- Последний коммит
- 14 часов назад
Что это?
SmartDNS работает в локальной сети как DNS-сервер. Он принимает запросы от устройств в сети, одновременно перенаправляет их на несколько вышестоящих DNS-серверов, а затем проверяет полученные IP-адреса из вашей сети и возвращает тот, который отвечает быстрее всего. В отличие от режима all-servers в dnsmasq, который возвращает все ответы, SmartDNS отправляет только самый быстрый результат.
Помимо выбора по скорости, SmartDNS поддерживает переопределение IP-адресов для отдельных доменов — например, для фильтрации рекламы и блокировки вредоносных сайтов, сопоставление по суффиксам доменов и маршрутизацию разных доменов через разные вышестоящие серверы. Для клиентов можно задавать отдельные правила по MAC- или IP-адресу, например для родительского контроля. Среди протоколов шифрования для запросов к вышестоящим серверам — DoT, DoH, DoQ и DoH3; также поддерживаются запросы через прокси SOCKS5 и HTTP.
SmartDNS работает в стандартных Linux-системах, включая Raspberry Pi, прошивку OpenWrt, штатную прошивку роутеров ASUS, WSL и Windows. Он интегрируется с наборами ipset и nftables для маршрутизации трафика и включает веб-панель.
Ключевые возможности
- 01Параллельно опрашивает несколько вышестоящих DNS-серверов и возвращает IP-адрес с самым быстрым откликом.
- 02Поддерживает UDP, TCP, DoT, DoH, DoQ и DoH3 для запросов к вышестоящим серверам и обслуживания клиентов.
- 03Позволяет переопределять IP-адреса для отдельных доменов, например для фильтрации рекламы и блокировки.
- 04Применяет разные правила обработки запросов к клиентам на основе MAC- или IP-адреса.
- 05Интегрируется с ipset и nftables для маршрутизации трафика по доменам.
- 06Поддерживает IPv4, IPv6, записи A/AAAA и DNS64.
Сценарии использования
- Ускорение доступа к сайтам в домашней или небольшой офисной сети через домашний роутер.
- Блокировка рекламы и доменов-трекеров для всех устройств в локальной сети.
- Настройка родительского контроля с DNS-правилами для отдельных устройств.
- Развёртывание собственного зашифрованного DNS-резолвера на OpenWrt или Raspberry Pi.
Быстрый старт
- 1
Ознакомьтесь с руководством по использованию на официальном сайте
- 2
Соберите устанавливаемые пакеты с помощью входящего в комплект скрипта (package/build-pkg.sh)
Что важно знать
- Лицензия GPL-3.0 — это лицензия с авторским левом, требующая публиковать производные работы с открытым исходным кодом на тех же условиях.
- Основной README написан на китайском языке и не содержит прямой команды для установки, поэтому для настройки нужно воспользоваться официальным сайтом или скриптом сборки.
В подборках
Темы
Частые вопросы
- Что такое smartdns?
- Локальный DNS-сервер, который опрашивает несколько вышестоящих резолверов и возвращает для каждого домена IP-адрес с самым быстрым откликом. SmartDNS работает в локальной сети как DNS-сервер. Он принимает запросы от устройств в сети, одновременно перенаправляет их на несколько вышестоящих DNS-серверов, а затем проверяет полученные IP-адреса из вашей сети и возвращает тот, который отвечает быстрее всего. В отличие от режима all-servers в dnsmasq, который возвращает все ответы, SmartDNS отправляет только самый быстрый результат.
- smartdns можно использовать бесплатно? Какая у него лицензия?
- smartdns распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- smartdns всё ещё поддерживается?
- Активно поддерживается. Последний коммит в smartdns — 6 нояб. 2026 г..
- Для чего можно использовать smartdns?
- Ускорение доступа к сайтам в домашней или небольшой офисной сети через домашний роутер. Блокировка рекламы и доменов-трекеров для всех устройств в локальной сети. Настройка родительского контроля с DNS-правилами для отдельных устройств. Развёртывание собственного зашифрованного DNS-резолвера на OpenWrt или Raspberry Pi.
- Как установить smartdns?
- Ознакомьтесь с руководством по использованию на официальном сайте Соберите устанавливаемые пакеты с помощью входящего в комплект скрипта (package/build-pkg.sh)
- Где скачать smartdns?
- Исходный код и инструкции по установке — на GitHub: https://github.com/pymumu/smartdns
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Самостоятельно размещаемый DNS-сервер для всей сети: блокирует рекламу и трекеры на всех устройствах без клиентского ПО.
Быстрый и лёгкий DNS-прокси блокирует рекламу и трекеры во всей локальной сети и позволяет задавать правила для групп клиентов.
Портативный DNS-резолвер на Rust: блокирует рекламу, назначает локальным сервисам домены .numa и может защищать запросы с помощью ODoH.
Бесплатный межсетевой экран с открытым исходным кодом для Windows и Linux: отслеживает и контролирует сетевой трафик каждого приложения, поддерживает защищённый DNS и блокировку трекеров.
DNS-фильтр, который блокирует рекламу и трекеры на всех устройствах в сети без установки клиентского ПО.