DNS-сервер Unbound
From DD-WRT Wiki
English • Deutsch • Español • Français • Italiano • 日本語 • Polski • Português • Русский • Svenska • 中文(中国大陆) • 中文(台灣) • |
Contents |
[edit] Введение
Unbound - это очень безопасный, рекурсивный и кэширующий DNS-сервер, разработанный в первую очередь NLnet Labs, VeriSign Inc, Nominet и Kirei. Программное обеспечение распространяется бесплатно по лицензии BSD. Двоичные файлы написаны с высокой степенью защиты на языке C и настроением на то, что он всегда находится под атакой, или удаленные серверы всегда пытаются передать ему недостоверную информацию.
Проект Unbound представляет собой набор модульных компонентов, которые включают в себя такие функции, как набор расширений безопасности протокола DNS (DNSSEC), интернет-протокол версии 6 (IPv6) и API библиотеки распознавателя клиентов как неотъемлемая часть архитектуры.
Что касается конфигурации, простой кеширующий DNS-сервер, который можно использовать в локальной сети с одним или несколькими компьютерами, занимает всего несколько строк. Обратите внимание, что Unbound не является полноценным авторитетным сервером, но вы можете поместить в A записи для прямого и обратного разрешения небольшой частной локальной сети.
В будущем ожидается, что многие, если не все, другие дистрибутивы с открытым исходным кодом перейдут на Unbound. FreeBSD 10 уже внесла изменения, так как BIND больше не включен в установку по умолчанию. BIND, также известный как named, становится чрезвычайно раздутым, медленным и чрезмерно сложным. Сложность приводит к уязвимостям безопасности, и более двадцати (20) из последних семидесяти (70) критических ошибок во FreeBSD были найдены в самом BIND. Другая проблема заключается в том, что BIND используется около 70% мировых DNS-серверов, что ведет к монокультурной среде. Когда появляется атака или эксплойт, злоумышленнику выгодно использовать наиболее используемое программное обеспечение. В отличие от этого, Unbound является невероятно быстрым и безопасным DNS-сервером, благодаря небольшому размеру которого может быть легко выполнен аудит исходного кода для обеспечения безопасности.
[edit] Настройка
Единственное, что вам нужно сделать, это установить флажок Recursive DNS Resolving (Рекурсивное разрешение имен DNS) в веб-интерфейсе DD-WRT (вкладка Setup → Basic Setup). Убедитесь, что у вас правильно настроено текущие дата и время (клиент NTP), в противном случае Unbound не будет работать после перезагрузки (для проверки DNSSEC требуется точное местное время). Важно использовать IP-адрес сервера NTP, а не имя хоста (например, 193.25.222.240 вместо 0.europe.pool.ntp.org).
Конфигурация по умолчанию хранится в файле /tmp/unbound.conf.
Вы можете проверить, проверяет ли ваш DNS-сервер сигнатуры DNSSEC по этой ссылке.
Вы можете проверить, уязвим ли ваш DNS-сервер к утечкам DNS, вы можете проверить здесь/
[edit] Пользовательская конфигурация
Начиная с версий сервера r30220 и r36376 можно использовать пользовательские конфигурации с хранилища USB. Таким образом, вы можете объединить несколько функций вместе на одном DNS-сервере. Например, у вас может быть кеширующий DNS, рекурсивный кеширующий DNS, проверяющий рекурсивный кеширующий DNS, авторитетный проверяющий рекурсивный кеширующий DNS, DNS Over TLS, простой рекурсивный кеширующий DNS, TCP-порт 853 ENCRYPTED и т.д.
[edit] Простое рекурсивное кеширование DNS, UDP-порт 53 в незашифрованном виде
- unbound.conf
server: verbosity: 1 interface: 0.0.0.0 interface: ::0 outgoing-range: 60 outgoing-num-tcp: 1 incoming-num-tcp: 1 msg-buffer-size: 8192 msg-cache-size: 100k msg-cache-slabs: 1 num-queries-per-thread: 30 rrset-cache-size: 100k rrset-cache-slabs: 1 infra-cache-slabs: 1 infra-cache-numhosts: 200 access-control: 10.0.0.0/8 allow access-control: 127.0.0.0/8 allow access-control: 192.168.0.0/16 allow username: "" pidfile: "/var/run/unbound.pid" root-hints: "/etc/unbound/named.cache" target-fetch-policy: "2 1 0 0 0 0" harden-short-bufsize: yes harden-large-queries: yes auto-trust-anchor-file: "/etc/unbound/root.key" key-cache-size: 100k key-cache-slabs: 1 neg-cache-size: 10k minimal-responses: yes prefetch: yes qname-minimisation: yes rrset-roundrobin: yes use-caps-for-id: yes local-data: "localhost A 127.0.0.1" local-data: "DD-WRT A 192.168.1.1" python: remote-control: forward-zone: name: "." forward-addr: 8.8.4.4 forward-addr: 8.8.8.8 forward-addr: 208.67.222.220 forward-addr: 208.67.222.222
[edit] DNS через TLS
Используйте руководство от участника форума https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=314677&start=30
[edit] Полезные команды
nslookup whoami.akamai.net
Вывод этой полезной утилиты от BusyBox покажет, какой DNS вы используете.