DNS серверы бывают нескольких типов, таких как мастер, рабочий, указание и кэш, например, с кэш-только DNS, который является более простым для установки. Так как DNS использует протокол UDP, это улучшает время запроса, поскольку он не требует подтверждения.

Кэш-только DNS сервер также известен как резолвер, который будет запрашивать записи DNS и забирать все детали DNS с других серверов, и сохранять каждый запрос в своем кэше для последующего использования, так что когда мы выполним тот же запрос в будущем, он будет использовать свой кэш, тем самым уменьшая время ответа еще больше.
Если вы ищете настроить DNS кэш-только сервер в CentOS/RHEL 6, следуйте этому руководству:
Установка кэш-только DNS имя сервера в CentOS/RHEL 6
Моя тестовая среда
DNS server : dns.tecmintlocal.com (Red Hat Enterprise Linux 7.1) Server IP Address : 192.168.0.18 Client : node1.tecmintlocal.com (CentOS 7.1) Client IP Address : 192.168.0.29
Шаг 1: Установка кэш-только DNS сервера в RHEL/CentOS 7
1. Кэш-только DNS сервер может быть установлен с помощью пакета bind. Если вы забыли название пакета, вы можете быстро найти название пакета с помощью команды ниже.
# yum search bind

2. В указанных выше результатах вы увидите несколько пакетов. из них нам нужно выбрать и установить только пакеты bind и bind-utils с использованием следующей команды yum.
# yum install bind bind-utils -y

Шаг 2: Конфигурирование кэш-только DNS в RHEL/CentOS 7
3. После установки пакетов DNS, мы можем начать настраивать DNS. Откройте и редактируйте /etc/named.conf
с помощью preferovaného текстового редактора. Внесите ниже предложенные изменения (или можете использовать настройки по собственному требованию).
listen-on port 53 { 127.0.0.1; any; }; allow-query { localhost; any; }; allow-query-cache { localhost; any; };

Данные директивы указывают DNS серверу прислушиваться к UDP порту 53, и разрешать запросы и кэширование ответов с localhost и любого другого устройства, связанного с сервером.
4. важно заметить, что ownership этого файла должен быть установлен как root:named
, также если SELinux включен, после редактирования конфигурационного файла нам следует убедиться, что его контекст установлен как named_conf_t
, как показано на рис. 4 (то же самое применимо и для вспомогательного файла /etc/named.rfc1912.zones
):
# ls -lZ /etc/named.conf # ls -lZ /etc/named.rfc1912.zones
иначе, настройте контекст SELinux, прежде чем продолжить:
# semanage fcontext -a -t named_conf_t /etc/named.conf # semanage fcontext -a -t named_conf_t /etc/named.rfc1912.zones
5. Также нам необходимо теперь проверить DNS конфигурацию на наличие синтаксических ошибок, прежде чем запустить службу bind:
# named-checkconf /etc/named.conf
6. После того, как результаты проверки синтаксиса кажется идеальными, перезапустите службу named, чтобы применить новые изменения и также чтобы служба запускалась автоматически при загрузке системы и потом проверьте ее состояние:
# systemctl restart named # systemctl enable named # systemctl status named

7. затем, откройте порт 53 в брандмауэре.
# firewall-cmd --add-port=53/udp # firewall-cmd --add-port=53/udp --permanent

Шаг 3: Chroot Cache-Only DNS Server in RHEL and CentOS 7
8. Если вы хотите установить кэширующий DNS-сервер в среде chroot, вам нужно установить пакет chroot на системе, и дополнительной настройки не требуется, так как по умолчанию он связан с chroot.
# yum install bind-chroot -y
Когда chroot пакет установлен, вы можете перезапустить named, чтобы внедрить новые изменения:
# systemctl restart named
9.下一步,在/var/named/chroot/etc/
内创建一个符号链接(也称为/etc/named.conf
):
# ln -s /etc/named.conf /var/named/chroot/etc/named.conf
Шаг 4: Конфигурирование DNS на клиентском компьютере
10.将DNS缓存服务器IP 192.168.0.18作为解析器添加到客户端计算机。编辑/etc/sysconfig/network-scripts/ifcfg-enp0s3
,如下所示:
DNS=192.168.0.18

并按照以下方式编辑/etc/resolv.conf:
nameserver 192.168.0.18
11. 最后,该检查我们的缓存服务器了。为此,您可以使用dig工具或nslookup命令。
选择任何网站并对其查询两次(我们将使用facebook.com作为示例)。请注意,使用dig第二次查询速度要快得多,因为它是从缓存中提供的。
# dig facebook.com

您还可以使用nslookup来验证DNS-сервер работает как ожидалось.
# nslookup facebook.com

Summary
В этой статье мы объяснили, как настроить сервер DNS только для кэширования в Red Hat Enterprise Linux 7 и CentOS 7 и протестировали его на клиентской машине. Не стесняйтесь сообщить нам, если у вас есть какие-либо вопросы или предложения, используя форму ниже.
Source:
https://www.tecmint.com/install-configure-cache-only-dns-server-in-rhel-centos-7/