Настройка кэширующего dns-клиента Unbound на FreeBSD 10.1

Система серверов доменных имен (DNS) – это глобальная иерархия баз данных, предназначенных для выполнения простой, но очень важной задачи – отслеживания имен хостов (к примеру, www.mysite.com) и преобразования их в IP-адреса. Как правило, система DNS используется при отправке сообщения или создании подключения к хосту.

В целом же такой неотъемлемый компонент инфраструктуры сети Интернет имеет довольно широкое применение. Если сервисы, запущенные на сервере, выполняют много задач, то вполне очевидно, что безопасность и производительность сервера могут значительно возрасти благодаря кэшированию результатов поиска имен хостов.

В данном руководстве показано, как настроить глобальное кэширование DNS на сервере FreeBSD, что позволит автоматически извлекать данные, учитывая индивидуальную политику проверки каждого домена.

Требования

Чтобы следовать руководству, нужно предварительно настроить облачный сервер FreeBSD 10.1. Дополнительные инструкции можно найти здесь.

1: Включение Unbound

Система FreeBSD 10.1 по умолчанию содержит кэшируюший клиент (или resolver) Unbound (версия 1.4.22).

Подключитесь к серверу по SSH и выполните следующую команду, чтобы включить Unbound:

sudo sysrc local_unbound_enable=YES

Теперь сервер настроен для поддержки Unbound после перезагрузки.

2: Запуск Unbound

Чтобы запустить Unbound вручную без полной перезагрузки системы, используйте:

sudo service local_unbound start

Если запуск клиента Unbound прошёл успешно, на экране появится следующий вывод:

Performing initial setup.
Extracting forwarders from /etc/resolv.conf.
/var/unbound/forward.conf created
/var/unbound/lan-zones.conf created
/var/unbound/unbound.conf created
/etc/resolvconf.conf created
original /etc/resolv.conf saved as /etc/resolv.conf.20150812.184225
Starting local_unbound.

Теперь все сервисы, которые были запущены на текущем сервере, должны использовать клиент для кэширования поиска имён.

3: Настройка автозапуска Unbound

Конечно, такие действия, как восстановление резервных копий или использование моментальных копий в качестве основы для нового сервера, как правило, затирают конфигурации. Эту проблему можно устранить, настроив автоматическое восстановление файла /etc/resolv.conf при каждом запуске системы. После этого клиент Unbound будет автоматически запускаться даже в системе, восстановленной из резервной копии.

Создайте резервную копию данного файла:

sudo cp /etc/resolv.conf /etc/resolv.conf.use_local

Файл /etc/rc.local содержит команды, которые выполняются сервером при его запуске. В этот файл нужно добавить ещё одну команду. Для этого откройте его в редакторе:

sudo ee /etc/rc.local

Добавьте в конец файла следующую строку:

if service local_unbound onestatus; then cp /etc/resolv.conf.use_local /etc/resolv.conf; fi

Теперь система будет восстанавливать Unbound при каждом запуске, даже если она была восстановлена из резервной копии на совершенно другом облачном сервере.

Итак, на данный момент сервер поддерживает кэширование результатов поиска имён хостов и доменных имён. Более подробную информацию о работе с кэширующим клиентом Unbound можно получить на домашней странице проекта.

Tags: , ,

Добавить комментарий