Замена BIND на Unbound

Опубликовано:

Ставим Unbound:

sudo apt-get install unbound

После установки перечитываем конфигурационный файл

cat /etc/unbound/unbound.conf

если та есть строка

include: "/etc/unbound/unbound.conf.d/*.conf"

то добавляем новый файл конфигурации

# mcedit  /etc/unbound/unbound.conf.d/local.conf

со следующим содержимым:

server:
# Порт - естественно 53
port: 53
# Степень вывода логов (1-4, при уровне 4 в логи будет попадать вся отладочная информация,
# при уровне 1 - только сообщения об ошибках)
verbosity: 0
# Количество потоков. Рекомендуется ставить равным числу ядер процессора
num-threads: 2
# Подстроим параметры кэша и время жизни:
# Число открываемых портов и запросов на нить
outgoing-range: 512
num-queries-per-thread: 1024
# Задаем размеры кэша сообщений и RRset
msg-cache-size: 16m
rrset-cache-size: 32m
# Задаем время жизни записей в кэше, записи о хосте, время ожидания ответа
cache-max-ttl: 86400
infra-host-ttl: 60
infra-lame-ttl: 120
# Описываем интерфейсы для прослушивания
interface: 127.0.0.1
interface: 192.168.0.3
# ip адрес интерфейса, который подключен к интернет
outgoing-interface: 192.168.0.3
#  Разрешаем любые запросы к ДНС из локалки
access-control: 192.168.0.0/24 allow
# разрешаем  ip4/tcp/udp, запрещаем поддержку ipv6
do-ip4: yes
do-ip6: no
do-udp: yes
do-tcp: yes
# От чьего имени работает daemon unbound, каталог конфигурации, куда класть логи, где pid
username: unbound
directory: "/etc/unbound"
logfile: "/var/log/unbound.log"
use-syslog: no
# не говорить при запросах версию ПО, мало ли что придумают кулхацкеры
hide-version: yes
# Опишем нашу локальную сеть
local-zone: "192.in-addr.arpa." static
local-data: "192.in-addr.arpa. 10800 IN NS adminunix.ru."
local-data: "192.in-addr.arpa. 10800 IN SOA adminunix.ru. admin.adminunix.ru. 1 3600 1200 604800 10800"
local-data: "119.0.168.192.in-addr.arpa. 10800 IN PTR adminunix.ru."
local-data: "adminunix.ru. 10800 IN A 192.168.0.3"
#
so-rcvbuf: 4m  # обьем буфера для приема   UDP пакетов (рекомендованное стартовое значение)
so-sndbuf: 4m  # обьем буфера для отправки UDP пакетов (рекомендованное стартовое значение)

Глядя на конфиг мы видим что все настройки хранятся в одном файле — на мой взгляд очень удобно. Кому мало информации man unbound.conf или гугл в помощь — функционал достаточно богатый, так что возможна очень детальная настройка. Сохраняем настройки и запускаем сервер

# service unbound start
# ps auxw | grep unbound
unbound   9307  0.0  0.1 122624  9272 ?        Ssl  20:05   0:00 /usr/sbin/unbound
root     10881  0.0  0.0  17184   936 pts/1    S+   22:25   0:00 grep --color=auto unbound
# netstat -anp | grep 53
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 9307/unbound
tcp 0 0 192.168.0.3:53 0.0.0.0:* LISTEN 9307/unbound

Добавляем правила для хождения запросов по 53 порту в файервол или правим существовавшие:

$IPT -A INPUT -m state --state NEW -p tcp -m tcp --dport 53 -j ACCEPT
$IPT -A INPUT -m state --state NEW -p udp -m udp --dport 53 -j ACCEPT

вот и все, теперь можно прописать  новый ДНС и пользоваться.

В релизе FreeBSD 10.0 DNS-сервер BIND заменен на связку из кеширующего DNS- сервера Unbound и библиотеки LDNS

Устанавливаем

pkg  install unbound

После создания конфигурационного файла проверим конфигурацию с помощью уже известной утилиты unbound-checkconf:

# unbound-checkconf
 unbound-checkconf: no errors in /var/unbound/unbound.conf

Кажется все в порядке. Добавим загрузку демона при старте системы:

# echo '# DNS server' >> /etc/rc.conf
# echo 'local_unbound_enable="YES"' >> /etc/rc.conf

Кажется ничего не пропустили... Даем команду на запуск:

# sh /etc/rc.d/local_unbound start
 Starting local_unbound.

Проверим, запустился ли процесс:

# ps -ax | grep unbound | grep -v grep
 2340  -  Is     0:00,03 /usr/sbin/unbound -c/var/unbound/unbound.conf

 

Понравилась статья, расскажи о ней друзьям, нажми кнопку!