Bug 32996

Summary: bind после обновления до 9.9.9 не запускается, если группа named не имеет доступа к конфигурации
Product: Branch p8 Reporter: Anton Farygin <rider>
Component: bindAssignee: Andrey Cherepanov <cas>
Status: CLOSED NOTABUG QA Contact: qa-p8 <qa-p8>
Severity: blocker    
Priority: P3 CC: aen, boyarsh, ldv, nbr, rider
Version: не указана   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
strace-bind.log none

Description Anton Farygin 2017-01-13 08:01:58 MSK
После обновления до версии 9.9.9 bind не стартует без какой-то внятной диагностики.

strace показывает что это может быть как-то связано с ipv6.
А может быть и нет.
Comment 1 Anton Farygin 2017-01-13 08:03:11 MSK
К сожалению, на той машине, где это происходит - мне пришлось срочно откатывать на 9.9.8.
Comment 2 Anton Farygin 2017-01-13 09:53:03 MSK
Работает только как кеширующий, после добавления зоны - перестаёт запускаться.
Для воспроизведения достаточно поставить server-8.0 в минимальной конфигурации, установить туда bind и настроить одну зону.
Comment 3 Andrey Cherepanov 2017-01-13 13:18:27 MSK
(В ответ на комментарий №2)
> Работает только как кеширующий, после добавления зоны - перестаёт запускаться.
> Для воспроизведения достаточно поставить server-8.0 в минимальной конфигурации,
> установить туда bind и настроить одну зону.
Стоит сервер на p8 с работавшим и выключенным bind. Обновил, запустил - работает. Создал зону, перезапустил, - работает.
nbr@ проверил на новой системе - работает.
Comment 4 Dmitry V. Levin 2017-01-13 13:24:00 MSK
(In reply to comment #3)
> (В ответ на комментарий №2)
> > Работает только как кеширующий, после добавления зоны - перестаёт запускаться.
> > Для воспроизведения достаточно поставить server-8.0 в минимальной конфигурации,
> > установить туда bind и настроить одну зону.
> Стоит сервер на p8 с работавшим и выключенным bind. Обновил, запустил -
> работает. Создал зону, перезапустил, - работает.
> nbr@ проверил на новой системе - работает.

Может быть, у Антона какие-то необычные сетевые настройки.
В обычных системах воспроизвести пока не получилось.
Comment 5 Anton Farygin 2017-01-13 14:02:45 MSK
Андрей, ты что, серьёзно думаешь что я что-то придумываю ?

Сеть стандартная.
Comment 6 Anton Farygin 2017-01-13 14:03:29 MSK
Created attachment 6932 [details]
strace-bind.log
Comment 7 Dmitry V. Levin 2017-01-13 14:09:13 MSK
(In reply to comment #6)
> Created an attachment (id=6932) [details]
> strace-bind.log

3052  open("/etc/local.conf", O_RDONLY) = -1 EACCES (Permission denied)

Это local misconfiguration.
Comment 8 Anton Farygin 2017-01-13 14:11:05 MSK
В любом случае - поведение с 9.9.8 поменялось без какого-либо предупреждения.

Ну сделай хоть в логи вывод о том, что не прочитался файл конфигурации.
Comment 9 Dmitry V. Levin 2017-01-13 14:20:56 MSK
(In reply to comment #8)
> В любом случае - поведение с 9.9.8 поменялось без какого-либо предупреждения.

* Sat Jan 07 2017 Dmitry V. Levin <ldv@altlinux> 9.9.9-alt1
- 9.9.8-P4 -> 9.9.9-P5.
- Implemented early drop of linux capabilities.

Настоятельно рекумендую привести права доступа к файлам, упакованным в пакет bind, на те, которые указаны в пакете bind.

> Ну сделай хоть в логи вывод о том, что не прочитался файл конфигурации.

3052  sendto(3<UNIX:[35126->9316]>, "<27>Jan 13 13:59:12 named[3052]: /etc/named.conf:7: open: /etc/local.conf: permission denied", 92, MSG_NOSIGNAL, NULL, 0) = 92
3052  sendto(3<UNIX:[35126->9316]>, "<26>Jan 13 13:59:12 named[3052]: loading configuration: permission denied", 73, MSG_NOSIGNAL, NULL, 0) = 73
3052  sendto(3<UNIX:[35126->9316]>, "<26>Jan 13 13:59:12 named[3052]: exiting (due to fatal error)", 61, MSG_NOSIGNAL, NULL, 0) = 61

Если ты этого всего не видел, то, скорее всего, у тебя ещё и логи не работают.
Comment 10 Anton Farygin 2017-01-13 14:25:06 MSK
Логи не работают не у меня, а у systemd.

Да, не видел.
Comment 11 Anton Farygin 2017-01-13 14:30:15 MSK
Всё, разобрался. У нас в сервере 8.1 оказывается по умолчанию не journalctl а syslog.

а systemctl start <юнит> при ошибке предлагает journalctl -xe
Comment 12 Dmitry V. Levin 2017-01-13 14:44:16 MSK
(In reply to comment #11)
> Всё, разобрался. У нас в сервере 8.1 оказывается по умолчанию не journalctl а
> syslog.

Это, наверное, не самая лучшая идея, поскольку у syslogd есть известные проблемы при эксплуатации под systemd.

> а systemctl start <юнит> при ошибке предлагает journalctl -xe

systemctl, наверное, полагает, что у всех journalctl используется по полной.
Comment 13 Anton Farygin 2017-01-13 14:48:01 MSK
Да, я бы наверное тоже склонился к мысли о полном переходе на journal в серверном дистрибутиве, только не совсем понятно что делать с парсерами логов, которые не умеют читать из journal.

Но это уже другая ошибка.