Поиск по сайту:

Установка и настройка DNS-сервера только для кэширования в RHEL/CentOS 7 — часть 10


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-сервер только для кэша можно установить с помощью пакета привязки. Если вы не помните имя пакета, вы можете выполнить быстрый поиск имени пакета, используя команду ниже.

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 с помощью предпочитаемого вами текстового редактора. Внесите изменения, предложенные ниже (или вы можете использовать свои настройки в соответствии с вашими требованиями).

listen-on port 53 { 127.0.0.1; any; };
allow-query     { localhost; any; };
allow-query-cache       { localhost; any; };

Эти директивы предписывают DNS-серверу прослушивать UDP порт 53, а также разрешать запросы и кэшировать ответы от localhost и любого другого компьютера, который достигает сервер.

4. Важно отметить, что право собственности на этот файл должно быть установлено как 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 на наличие синтаксических ошибок:

named-checkconf /etc/named.conf

6. После того, как результаты проверки синтаксиса кажутся идеальными, перезапустите именованную службу, чтобы новые изменения вступили в силу, а также включите автоматический запуск службы при загрузке системы, а затем проверьте ее положение дел:

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. DNS-сервер Chroot Cache-Only в RHEL и CentOS 7

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

yum install bind-chroot -y

После установки пакета chroot вы можете перезапустить Named, чтобы новые изменения вступили в силу:

systemctl restart named

9. Затем создайте символическую ссылку (также называемую /etc/named.conf) внутри /var/named/chroot/etc/:

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 facebook.com

Вы также можете использовать nslookup, чтобы убедиться, что DNS-сервер работает должным образом.

nslookup facebook.com

Краткое содержание

В этой статье мы объяснили, как настроить сервер только с кэшем DNS в Red Hat Enterprise Linux 7 и CentOS 7, и протестировали его на клиентском компьютере. Не стесняйтесь, дайте нам знать, если у вас есть какие-либо вопросы или предложения, используя форму ниже.