Перейти к содержанию

Инструкция сменного персонала DNS

Общее описание

Сбои разделены на два типа операционные ошибки и ошибки конфигурации.

  • Операционные ошибки - возникают в процессе выполнения различных операций, таких как формирование "негативного кеша". Устраняются без привлечения администратора.
  • Ошибки конфигурации - связаны с неправильным внесением изменений в конфигурационные файлы. Устраняются с привлечением администратора.

Ниже приведено описание нахождения и устранения сбоев.

Проверка работоспособности

1. Необходимо проверить доступность и сбор метрик в Grafana.

1.1. Сервер доступен pg-good Если сервер доступен необходимо выполнить разрешение имен.

1.2. Сервер не доступен pg-bad Если сервер не доступен следует проверить проверить доступность по сети и зайти на сервер по SSH, и проверить состояние сервиса. При недоступности по сети проверить состояние сервера или виртуальной машины, должна находится в статусе PowerOn.

1.3. Убедившись в возобновление доступности pg-fix Необходимо выполнить разрешение имен.

2. Проверка состояния сервиса.

Для проверки необходимо запустить сценарий проверки: named-healthy-check. Так как сервис может быть запушен в разных режимах с подменой дерева каталогов (unit name: named-chroot.service) или без (unit name: named.service), сценарий проверяет какой из них активирован. Выводя состояние для каждого режима: ENABLE и DISABLE. Выполняет проверки: запущен ли сервис, валидность синтаксиса файлов конфигурации, валидность файлов зон. Выводя состояние для каждой проверки: PASS и INVALID. Выводи 7 последних сообщений из системного журнала.

2.1 Сервис запещен и работает, ошибок не зафиксировано Work Необходимо выполнить разрешение имен.

2.2 Сервис запущен, но есть ошибки в синтаксисе файлов конфигурации Invalid Необходимо запустить сбор диагностической информации и сообщить об этом ответственным администраторам.

2.3 Сервис остановлен stoped Необходимо выполнить запуск сервиса.

3. Проверка разрешения имен

Для проверки используется программа nslookup, в качестве аргументов необходимо передать: тип запроса, разрешаемое имя, сервер системы имен (DNS). Перед началом проверки необходимо сбросить DNS кеш на клиенте, выполнив команду:

Подсказка

В Linux nslookup требуется установить отдельно.

Очистка кеша на клиенте.

Для Windows

ipconfig \flushdns

Для Linux

sudo systemctl restart nscd.service

Выполнить разрешение имен:

Разрешения имен

nslookup -type=any <имя_записи> <ip_сервера>

Разрешения имен с расширенным выводом

nslookup -debug -type=any <имя_записи> <ip_сервера>

Если ответ не получен или содержит не верные данные, необходимо сбросить кеш на сервере. Или по согласованию с ответственным администратором выполнить перезагрузить конфигурацию.

4. Сбор диагностической информации

Для сбора диагностической информации необходимо запустить утилиту sosreport.

Пример

sudo sosreport  --log-size 25 --batch

Sosreport

Для информации

Так как сбор диагностической информации занимает длительное время, то запускать утилиту рекомендуется в tmux или как фоновое задание.

Для выполнения задания в tmux

tmux new -d -s SosReport && tmux send-keys -t SosReport.0 "sudo sosreport  --log-size 25 --batch"

Для выполнения задания в фоновом режиме

sudo sosreport  --log-size 25 --batch &

Устранение сбоя

1. Очистка кеша на сервере

После выполнения очистки кеша необходимо проверить текущий статус сервиса и выполнить разрешение имен.

Очистка всего кеша

sudo rndc flush

Проверка статуса

sudo rndc status

В последняя строка должна содержать: 'server is up and running'

2. Перезагрузка конфигурации

Пример

sudo rndc reload 

Выполнить разрешение имен.

3. Запуск и перезапуск службы

В качестве следует передать имя службы со статусом ENABLE полученном при запуске сценария проверки named-healthy-check.

Запуск

sudo systemctl start <unit_name> && sudo systemctl status <unit_name>

Перезапуск

sudo systemctl restart <unit_name> && sudo systemctl status <unit_name>

Проверить журнал на наличие ошибок:

Пример

journalctl -xe _COMM=systemd -u <unit_name> -n 3 --no-pager

Если вывод заканчивается строкой: '-- The start-up result is done.', выполнить разрешение имен.

Если вывод заканчивается стракой: '-- The result is failed.', запустить сбор диагностической информации и сообщить об этом ответственным администраторам.

Необходимые права sudoers

Предлагаемое решение

Cmnd_Alias SERVICES = /usr/bin/systemctl (start|restart|status) (named|named-chroot).service, /usr/sbin/rndc (status|flus|reload), /usr/sbin/sosreport


Последнее обновление: July 10, 2024