Показать статистику
0 голосов
от (2.3тыс. баллов)
3.3тыс. просмотров 1 ответов

1 Ответ

0 голосов
от (26.4тыс. баллов)

Настройка 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 

...