DNS-сервер Unbound

From DD-WRT Wiki

Revision as of 15:31, 4 December 2019 by Atatob (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search


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 вы используете.