Инструкция сменного персонала DNS¶
Общее описание¶
Сбои разделены на два типа операционные ошибки и ошибки конфигурации.
- Операционные ошибки - возникают в процессе выполнения различных операций, таких как формирование "негативного кеша". Устраняются без привлечения администратора.
- Ошибки конфигурации - связаны с неправильным внесением изменений в конфигурационные файлы. Устраняются с привлечением администратора.
Ниже приведено описание нахождения и устранения сбоев.
Проверка работоспособности¶
1. Необходимо проверить доступность и сбор метрик в Grafana.¶
1.1. Сервер доступен Если сервер доступен необходимо выполнить разрешение имен.
1.2. Сервер не доступен Если сервер не доступен следует проверить проверить доступность по сети и зайти на сервер по SSH, и проверить состояние сервиса. При недоступности по сети проверить состояние сервера или виртуальной машины, должна находится в статусе
PowerOn
.
1.3. Убедившись в возобновление доступности Необходимо выполнить разрешение имен.
2. Проверка состояния сервиса.¶
Для проверки необходимо запустить сценарий проверки: named-healthy-check
. Так как сервис может быть запушен в разных режимах с подменой дерева каталогов (unit name: named-chroot.service) или без (unit name: named.service), сценарий проверяет какой из них активирован. Выводя состояние для каждого режима: ENABLE и DISABLE. Выполняет проверки: запущен ли сервис, валидность синтаксиса файлов конфигурации, валидность файлов зон. Выводя состояние для каждой проверки: PASS и INVALID. Выводи 7 последних сообщений из системного журнала.
2.1 Сервис запещен и работает, ошибок не зафиксировано Необходимо выполнить разрешение имен.
2.2 Сервис запущен, но есть ошибки в синтаксисе файлов конфигурации Необходимо запустить сбор диагностической информации и сообщить об этом ответственным администраторам.
2.3 Сервис остановлен Необходимо выполнить запуск сервиса.
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
Для информации
Так как сбор диагностической информации занимает длительное время, то запускать утилиту рекомендуется в 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. Запуск и перезапуск службы¶
В качестве 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