Настройка DNS-сервера только для кэша в Linux RHEL
Unbound является проверяющим, рекурсивным и кэширующим DNS-сервером. Сказав это, Unbound DNS-сервер не может использоваться в качестве авторитетного DNS-сервера, что означает, что его нельзя использовать для размещения пользовательских записей доменных имен. В результате, если ваша цель - создать DNS-сервер, работающий только на кеширование или пересылку, Unbound может быть вашим предпочтительным выбором, так как он делает это и делает это хорошо.
Цель состоит в том, чтобы предоставить быстрое и простое руководство по установке и настройке DNS-сервера Unbound только для кэша в Redhat Linux. В конце этого руководства вы сможете использовать Unbound DNS-сервер со всех клиентов в вашей локальной сети.
Для этого потребуется привилегированный доступ к вашему серверу Redhat Linux с настроенными стандартными репозиториями RedHat.
Установка Unbound и DNS инструментов
На первом этапе мы собираемся установить реальный сервер Unbound DNS, а также инструменты DNS, которые в конечном итоге будут использованы для проверки конфигурации вашего сервера DNS только с кэшем. Учитывая, что ваш репозиторий Redhat настроен правильно, вы можете установить оба, выполнив следующую команду linux :
# yum install unbound bind-utils
Базовая несвязанная конфигурация
Теперь мы собираемся выполнить базовую настройку сервера Unbound DNS для кэширования. Это будет сделано путем редактирования файла конфигурации Unbound /etc/unbound/unbound.conf либо с помощью текстового редактора, либо с помощью приведенных ниже sed команд. Во-первых, используйте предпочитаемый текстовый редактор, чтобы найти строку # interface: 0.0.0.0 и раскомментировать ее, удалив начальный # знак. В качестве альтернативы используйте следующую sed команду:
# sed -i '/interface: 0.0.0.0$/s/#//' /etc/unbound/unbound.conf
Приведенная выше конфигурация будет указывать Unbound DNS-серверу прослушивать все локальные сетевые интерфейсы. Затем разрешите клиентам локальной сети запрашивать кэш Unbound. Найдите соответствующую строку, замените IP-адрес обратной связи 127.0.0.0/8 по умолчанию на сетевой адрес вашей локальной сети, например. 10.0.0.0/24:
От:
access-control: 127.0.0.0/8 allow
До
access-control: 10.0.0.0/24 allow
Вышесказанное также можно сделать sed командой:
# sed -i 's/127.0.0.0\/8 allow/10.0.0.0\/24 allow/' /etc/unbound/unbound.conf
Настройка поддержки DNSSEC
Далее мы указываем Unbound DNS server генерировать ключи RSA для обеспечения поддержки DNSSEC:
# unbound-control-setup
Осталось только проверить конфигурацию Unbound:
# unbound-checkconf
unbound-checkconf: no errors in /etc/unbound/unbound.conf
Включить и запустить Unbound сервер
На этом этапе мы включим Unbound DNS server для запуска во время загрузки:
# systemctl enable unbound
Created symlink from /etc/systemd/system/multi-user.target.wants/unbound.service to /usr/lib/systemd/system/unbound.service.
и начать фактическое обслуживание:
# service unbound start
Redirecting to /bin/systemctl start unbound.service
Убедитесь, что сервер Unbound DNS работает, проверив его состояние:
[root@localhost unbound]# service unbound status
Получаете следующий вывод
Откройте порт брандмауэра DNS
Чтобы разрешить клиентам локальной сети подключаться к вашему новому DNS-серверу Unbound cache-only, вам нужно открыть порт DNS:
# firewall-cmd --permanent --add-service dns
success
# firewall-cmd --reload
success
Все готово, теперь мы готовы к тестированию.
Тестирование
Наконец, мы подошли к тому моменту, когда можем провести некоторое базовое тестирование нашего нового сервера Unbound DNS только для кэширования. Для этого мы используем dig команду, которая является частью ранее установленного bind-utils пакета, для выполнения некоторых DNS-запросов. Сначала выполните DNS-запрос на реальном DNS-сервере:
# dig @localhost example.com
Обратите внимание, что время запроса составляет более 817 мсек. Поскольку мы настроили сервер DNS-кеша, этот запрос теперь кэшируется, поэтому любое последующее разрешение DNS-запроса для этого же доменного имени будет довольно быстрым:
# dig @localhost example.com
Наконец, теперь вы можете протестировать конфигурацию Ubound DNS-сервера от клиентов вашей локальной сети, указав им IP-адрес Unbound, например. 10.1.1.45:
$ dig @ 10.1.1.45 example.com