Настройка DNS в CentOS

Конфигурация DNS в CentOS

Шаг 1: Инсталляция необходимых пакетов

Прежде чем мы начнем изучать следующие инструкции, мы хотим отметить, что на нашем сайте уже есть общее руководство по настройке стандартного DNS в Linux. Мы рекомендуем вам использовать именно этот материал, если вам нужно настроить параметры для регулярного посещения интернет-сайтов. Далее мы покажем вам, как установить первичный локальный DNS-сервер на стороне клиента.

Также прочтите: Конфигурация DNS в Linux

Рекомендуется использовать bind9 как средство создания локального DNS-сервера. Конфигурация последующих файлов конфигурации также будет основана на общих принципах поведения этого компонента. По умолчанию bind9 в ОС отсутствует, поэтому давайте начнем с его добавления.

  1. Запустите консоль удобным для вас способом. Его можно найти в разделе «Приложения» — «Избранное» или открыть с помощью стандартной комбинации клавиш Ctrl + Alt + T.
  2. Конфигурация DNS в CentOS

  3. Здесь вам нужно ввести команду sudo yum install bind bind-utils -y и нажать Enter, чтобы активировать ее.
  4. Конфигурация DNS в CentOS

  5. Это действие выполняется от имени суперпользователя (sudo), поэтому вам нужно будет подтвердить учетную запись, введя пароль в появившейся строке.
  6. Конфигурация DNS в CentOS

  7. Дождитесь завершения загрузки и установки пакетов.
  8. Конфигурация DNS в CentOS

В конце этого процесса вы получите уведомление о том, что все пакеты были успешно добавлены в систему. Затем переходите к следующему шагу.

Шаг 2: Глобальная настройка DNS-сервера

Теперь мы хотим продемонстрировать, как именно редактируется основной файл конфигурации и какие строки в него добавляются. Мы не будем останавливаться на каждой строчке в отдельности, так как это займет много времени, к тому же вся необходимая информация есть в официальной документации.

  1. Для редактирования объектов конфигурации можно использовать любой текстовый редактор. Мы предлагаем установить удобный nano, введя в консоли sudo yum install nano.
  2. Конфигурация DNS в CentOS

  3. Все необходимые пакеты будут загружены, и, если они уже есть в дистрибутиве, вы получите уведомление «Ничего не запускать».
  4. Конфигурация DNS в CentOS

  5. Приступим к редактированию самого файла. Откройте его с помощью sudo nano /etc/ named.conf. При необходимости замените нужный текстовый редактор, чтобы строка выглядела так: sudo vi /etc/ named.conf.
  6. Конфигурация DNS в CentOS

  7. Ниже мы предоставим контент, который вам нужно вставить в открытый файл или сравнить его с существующим, добавив недостающие строки.
  8. Конфигурация DNS в CentOS

  9. Затем нажмите Ctrl + O, чтобы сохранить изменения.
  10. Конфигурация DNS в CentOS

  11. Имя файла менять не нужно, просто нажмите Enter.
  12. Конфигурация DNS в CentOS

  13. Выйдите из текстового редактора с помощью Ctrl + X.
  14. Конфигурация DNS в CentOS

Как упоминалось ранее, вам нужно будет добавить несколько строк в файл конфигурации, которые задают общие правила поведения DNS-сервера.

//
//name.conf
//
// Предоставляется пакетом связывания Red Hat для настройки ISC BIND с именем (8) DNS
// сервер как сервер имен только для кэширования (только как преобразователь DNS localhost).
//
// См. / Usr / share / doc / bind * / sample /, например, файлы конфигурации с именем.
//

опции {
порт прослушивания 53 {127.0.0.1; 192.168.1.101;}; ### Первичный IP-адрес DNS ###
# прослушивание порта 53 на v6 {:: 1; };
каталог «/ var / name»;
файл дампа «/var/ named/data/cache_dump.db»;
файл статистики «/var/ named/data/ named_stats.txt»;
memstatistics-файл «/var/ named/data/ named_mem_stats.txt»;
разрешить запрос {localhost; 192.168.1.0/24;}; ### Диапазон IP-адресов ###
разрешить передачу {localhost; 192.168.1.102; }; ### IP DNS ведомое устройство ###

/*
— Если вы создаете АВТОРИТЕТНЫЙ DNS-сервер, НЕ включайте рекурсию.
— Если вы создаете РЕКУРСИВНЫЙ (кэширующий) DNS-сервер, вам необходимо включить
рекурсия.
— Если ваш рекурсивный DNS-сервер имеет общедоступный IP-адрес, вы ДОЛЖНЫ разрешить доступ
установите флажок, чтобы ограничить запросы легитимных пользователей. Если вы этого не сделаете
сделайте ваш сервер частью крупномасштабного расширения DNS
атаки. Внедрение BCP38 в вашей сети потребует много
уменьшить эту поверхность атаки
*/
рекурсия да;

dnssec-enable да;
проверка dnssec да;
dnssec-lookaside auto;

/ * Путь к ключу ISC DLV */
файл bindkeys «/etc/ named.iscdlv.key»;

каталог управляемых ключей «/ var / named / dynamic»;

pid-файл «/run/ named/ named.pid»;
сессионный ключевой файл «/run/ named/session.key»;
};

регистрация {
channel default_debug {
файл «data / named.run»;
динамика силы тяжести;
};
};

зона «.» В {
типовое предложение;
файл named.ca»;
};

зона «unixmen.local» IN {
мастер-тип;
файл «forward.unixmen»;
разрешить обновление {нет; };
};
зона «1.168.192.in-addr.arpa» IN {
мастер-тип;
файл «reverse.unixmen»;
разрешить обновление {нет; };
};

включает «/etc/ named.rfc1912.zones»;
включает «/etc/ named.root.key»;

Убедитесь, что все настроено точно так, как показано выше, и только затем переходите к следующему шагу.

Шаг 3: Создание прямой и обратной зоны

DNS-сервер использует прямую и обратную зоны для получения исходной информации. Forward позволяет вам получить IP-адрес по имени хоста, а обратный IP-адрес дает вам доменное имя. Правильное функционирование каждой зоны должно быть обеспечено специальными правилами, о создании которых мы предлагаем заняться далее.

  1. Создадим отдельный файл для прямой зоны с помощью того же текстового редактора. Таким образом, строка будет выглядеть так: sudo nano /var/ named/forward.unixmen.
  2. Конфигурация DNS в CentOS

  3. Вам сообщат, что это пустой объект. Вставьте туда следующий контент:

    86400 долларов США
    @ IN SOA masterdns.unixmen.local root.unixmen.local. (
    2011071001; Серийный
    3600; Обновить
    1800; Попробуй еще раз
    604800; Срок
    86400; Минимальный TTL
    )
    @ IN NS masterdns.unixmen.local.
    @ IN NS secondarydns.unixmen.local.
    @ IN A 192.168.1.101
    @ В А 192.168.1.102
    @ В А 192.168.1.103
    masterdns В А 192.168.1.101
    вторичный DNS IN A 192.168.1.102
    клиент IN A 192.168.1.103

  4. Конфигурация DNS в CentOS

  5. Сохраните изменения и закройте текстовый редактор.
  6. Конфигурация DNS в CentOS

  7. Перейдем теперь к обратной зоне. Требуется файл /var/ named/reverse.unixmen.
  8. Конфигурация DNS в CentOS

  9. Это также будет новый пустой файл. Вставьте туда:

    86400 долларов США
    @ IN SOA masterdns.unixmen.local root.unixmen.local. (
    2011071001; Серийный
    3600; Обновить
    1800; Попробуй еще раз
    604800; Срок
    86400; Минимальный TTL
    )
    @ IN NS masterdns.unixmen.local.
    @ IN NS secondarydns.unixmen.local.
    @ IN PTR unixmen.local.
    masterdns В А 192.168.1.101
    вторичный DNS IN A 192.168.1.102
    клиент IN A 192.168.1.103
    101 В PTR masterdns.unixmen.local.
    102 В PTR secondarydns.unixmen.local.
    103 В PTR client.unixmen.local.

  10. Конфигурация DNS в CentOS

  11. При сохранении не меняйте название объекта, просто нажмите клавишу Enter.
  12. Конфигурация DNS в CentOS

Теперь указанные файлы будут использоваться для прямой и обратной зон. При необходимости вы должны изменить их, чтобы изменить некоторые параметры. Вы также можете прочитать об этом в официальной документации.

Шаг 4: Запуск DNS-сервера

Выполнив все предыдущие инструкции, вы уже можете запустить DNS-сервер, чтобы в будущем можно было легко проверить его работу и продолжить настройку важных параметров. Задача выполняется следующим образом:

  1. В консоли введите sudo systemctl enable named, чтобы добавить DNS-сервер для автоматической загрузки для автоматического запуска при запуске операционной системы.
  2. Конфигурация DNS в CentOS

  3. Подтвердите это действие, введя пароль суперпользователя.
  4. Конфигурация DNS в CentOS

  5. Вы получите уведомление о создании символической ссылки, что означает, что действие выполнено успешно.
  6. Конфигурация DNS в CentOS

  7. Запустите утилиту через systemctl start named. Вы можете остановить его таким же образом, просто заменив опцию запуска на остановку.
  8. Конфигурация DNS в CentOS

  9. Когда появится окно аутентификации, введите пароль root.
  10. Конфигурация DNS в CentOS

Как видите, управление этим сервисом осуществляется по тому же принципу, что и все остальные стандартные утилиты, поэтому это не должно вызвать проблем даже у начинающих пользователей.

Шаг 5: Изменение параметров межсетевого экрана

Для правильной работы DNS-сервера необходимо открыть 53-й порт, который работает через стандартный брандмауэр FirewallD. В «Терминале» вам нужно ввести всего три простые команды:

  1. Первый выглядит как firewall-cmd —permanent —add-port = 53 / tcp и отвечает за открытие порта TCP. Вставьте его в консоль и нажмите Enter.
  2. Конфигурация DNS в CentOS

  3. Вы должны получить уведомление «Успешно», указывающее, что правило было успешно применено. Затем введите строку firewall-cmd —permanent —add-port = 53 / udp, чтобы открыть порт UDP.
  4. Конфигурация DNS в CentOS

  5. Все изменения вступят в силу только после перезапуска брандмауэра, что выполняется с помощью команды firewall-cmd —reload.
  6. Конфигурация DNS в CentOS

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

Шаг 6: Настройка прав доступа

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

  1. Все последующие команды должны быть активированы от имени суперпользователя. Чтобы не вводить постоянно пароль, мы рекомендуем включить постоянный root-доступ для текущего сеанса терминала. Для этого введите su в консоли.
  2. Конфигурация DNS в CentOS

  3. Введите пароль для входа.
  4. Конфигурация DNS в CentOS

  5. Затем введите следующие команды одну за другой, чтобы создать оптимальную настройку доступа:

    chgrp с именем -R / var / named
    chown -v корень: с именем /etc/ named.conf
    restorecon -rv / var / с именем
    restorecon /etc/ named.conf

  6. Конфигурация DNS в CentOS

На этом общая настройка главного DNS-сервера завершена. Осталось только изменить некоторые файлы конфигурации и проверить наличие ошибок. Со всем этим мы стремимся разобраться на следующем этапе.

Шаг 7: Тестирование на ошибки и завершение настройки

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

  1. Введите named-checkconf /etc/ named.conf в Терминале. Это проверит глобальные параметры. Если в результате не следует никакого вывода, значит, все настроено правильно. В противном случае изучите сообщение и на его основе решите проблему.
  2. Конфигурация DNS в CentOS

  3. Затем вам нужно проверить зону пересылки, вставив строку с именем -checkzone unixmen.local /var/ named/forward.unixmen.
  4. Конфигурация DNS в CentOS

  5. Пример вывода выглядит следующим образом: zone unixmen.local / IN: loaded serial 2011071001 OK.
  6. Конфигурация DNS в CentOS

  7. Примерно то же самое мы делаем с обратной зоной через named-checkzone unixmen.local /var/ named/reverse.unixmen.
  8. Конфигурация DNS в CentOS

  9. Правильный вывод должен быть: zone unixmen.local / IN: loaded serial 2011071001 OK.
  10. Конфигурация DNS в CentOS

  11. Теперь перейдем к основным настройкам сетевого интерфейса. Вам нужно будет добавить к нему текущие данные DNS-сервера. Для этого откройте файл / etc / sysconfig / network-scripts / ifcfg-enp0s3.
  12. Конфигурация DNS в CentOS

  13. Убедитесь, что содержимое показано ниже. При необходимости вставьте параметры DNS.

    ТИП = «Ethernet»
    BOOTPROTO = «нет»
    DEFROUTE = «да»
    IPV4_FAILURE_FATAL = «нет»
    IPV6INIT = «да»
    IPV6_AUTOCONF = «да»
    IPV6_DEFROUTE = «да»
    IPV6_FAILURE_FATAL = «нет»
    ИМЯ = «enp0s3»
    UUID = «5d0428b3-6af2-4f6b-9fe3-4250cd839efa»
    ONBOOT = «да»
    HWADDR = «08: 00: 27: 19: 68: 73»
    IPADDR0 = «192.168.1.101»
    PREFIX0 = «24»
    GATEWAY0 = «192.168.1.1»
    DNS = «192.168.1.101»
    IPV6_PEERDNS = «да»
    IPV6_PEERROUTES = «да»

  14. Конфигурация DNS в CentOS

  15. После сохранения изменений перейдите в файл /etc/resolv.conf.
  16. Конфигурация DNS в CentOS

  17. Вам просто нужно добавить сюда строку: nameserver 192.168.1.101.
  18. Конфигурация DNS в CentOS

  19. По завершении остается только перезагрузить сеть или компьютер, чтобы обновить конфигурацию. Сетевая служба перезапускается с помощью сетевой команды systemctl restart.
  20. Конфигурация DNS в CentOS

Шаг 8: Проверка установленного DNS-сервера

После завершения настройки остается только проверить работу существующего DNS-сервера после того, как он был добавлен в глобальную сетевую службу. Это также делается с помощью специальных команд. Первый — это dig masterdns.unixmen.local.

Конфигурация DNS в CentOS

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

Конфигурация DNS в CentOS

; <> DiG 9.9.4-RedHat-9.9.4-14.el7 <> masterdns.unixmen.local
;; глобальные параметры: + cmd
;; Получил ответ:
;; — >> HEADER << - рабочий код: QUERY, статус: NOERROR, id: 25179
;; флаги: qr aa rd ra; ВОПРОС: 1, ОТВЕТ: 1, АВТОРИТЕТ: 2, ДОПОЛНИТЕЛЬНО: 2

;; ВАРИАНТ РАЗДЕЛА PSEUD:
; EDNS: версия: 0, флаг :; UDP: 4096
;; РАЗДЕЛ ПРИМЕНЕНИЯ:
; masterdns.unixmen.local. В

;; ОТВЕТНАЯ ЧАСТЬ:
masterdns.unixmen.local. 86400 В А 192.168.1.101

;; ОТДЕЛ ВЛАСТИ:
unixmen.local. 86400 IN NS secondarydns.unixmen.local.
unixmen.local. 86400 IN NS masterdns.unixmen.local.

;; ДОПОЛНИТЕЛЬНЫЙ РАЗДЕЛ:
вторичныйdns.unixmen.local. 86400 В А 192.168.1.102

;; Время запроса: 0 мсек
;; СЕРВЕР: 192.168.1.101 # 53 (192.168.1.101)
;; КОГДА: среда, 20 августа, 16:20:46, IST 2014
;; РАЗМЕР MSG rcvd: 125

Дополнительная команда позволит узнать статус локальной работы DNS-сервера. Для этого вставьте в консоль nslookup unixmen.local и нажмите Enter.

Конфигурация DNS в CentOS

Это должно показать три разных представления IP-адресов и доменных имен.

Сервер: 192.168.1.101
Адрес: 192.168.1.101 # 53

Имя: unixmen.local
Адрес: 192.168.1.103
Имя: unixmen.local
Адрес: 192.168.1.101
Имя: unixmen.local
Адрес: 192.168.1.102

Конфигурация DNS в CentOS

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

Настройка клиентской части DNS-сервера

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

  1. Откройте файл /etc/resolv.conf любым удобным текстовым редактором.
  2. Конфигурация DNS в CentOS

  3. Добавьте туда строки search unixmen.local nameserver 192.168.1.101 и nameserver 192.168.1.102, заменив те, которые требуются, на адреса клиентов.
  4. Конфигурация DNS в CentOS

  5. При сохранении не меняйте имя файла, просто нажмите клавишу Enter.
  6. Конфигурация DNS в CentOS

  7. После выхода из текстового редактора обязательно перезапустите глобальную сеть с помощью команды systemctl restart network.
  8. Конфигурация DNS в CentOS

Это были основные моменты конфигурации клиентской стороны DNS-сервера, о которых мы хотели поговорить. Все остальные нюансы предлагаем изучить, при необходимости ознакомившись с официальной документацией.

Тестирование DNS-сервера

Последний этап нашего сегодняшнего материала — финальный тест DNS-сервера. Ниже вы можете увидеть несколько команд, позволяющих справиться с поставленной задачей. Воспользуйтесь одним, активировав его через «Терминал». Если на выходе нет ошибок, весь процесс в порядке.

копать masterdns.unixmen.local
копать вторичныйdns.unixmen.local
копать client.unixmen.local
nslookup unixmen.local

Конфигурация DNS в CentOS

Сегодня вы узнали все о настройке первичного DNS-сервера в дистрибутиве CentOS. Как видите, вся операция сосредоточена на вводе команд терминала и редактировании файлов конфигурации, что может вызвать некоторые трудности у начинающих пользователей. Однако вам просто нужно точно следовать инструкциям и читать результаты тестирования, чтобы все прошло гладко, без ошибок.

Рейтинг автора
Автор статьи
Андрей Коновалов
Привет, меня зовут Андрей Васильевич Коновалов. В 2006 году окончил Чувашский государственный университет им. Ульянова. По образованию инженер, 8 лет проработал на НПП Экра по специальности. Люблю компьютеры и все, что с ними связано. С 2018 года начал писать о решениях проблем, связанных с компьютерами и программами.
Написано статей
3742
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Проблемы и их решения по компьютерам, смартфонам
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: