Необходимо настроить ведение журнала запросов сервера BIND с версиями

Я пытался заставить работать регистрацию запросов на сервере BIND, создавая 3 версии по 100 МБ каждая. Система SUSE SLES 11. Я нашел множество статей о том, как писать статьи в Интернете, но ни одна из них не делает ничего, кроме как сломать DNS-сервер. Машина является гостем виртуального ящика, поэтому я могу вернуться к неизмененному снимку работающего сервера BIND, который не ведет журналы запросов.

Если я вручную добавлю операторы регистрации в named.conf, named больше не будет загружаться. в сообщениях указано "isc_stdio_open", что бы я ни говорил, "ошибка: файл не найден". chown named. named logfile никак не помогает и не меняет поведение. Сделайте что-нибудь с файлом профиля apparmor напрямую, в том числе просто сохраните его, не меняя его, и apparmor никогда не загрузит этот профиль снова. Он скажет, что уже есть профиль.

Восстановить снимок -> теперь не вносить изменений

используйте инструменты графического интерфейса для настройки ведения журнала для DNS-сервера. named не запускается, поскольку он все еще не имеет прав или не может найти файл журнала. chown named.named logfile не помогает. используйте инструменты графического интерфейса для настройки apparmor. Это, по крайней мере, не убивает профиль apparmor, но никак не помогает ситуации.

Я пробовал это на 2 разных ВМ / с, оба SLES 11, оба являются просто базовыми, принимают все установки по умолчанию и еще не работают.

Я пробовал несколько различных комбинаций использования инструментов графического интерфейса и изменения файлов конфигурации вручную. Я пробовал разные места для файла журнала, такие как / var / log /querylog, / var / log /querylogs /querylog, / root /query. Я попытался использовать touch для создания файла журнала, а затем преобразил его в named.named. Я пытался использовать графический интерфейс для создания файлов / каталогов, а затем установить разрешения.

Кто-нибудь знает, как получить журналы DNS Query, в ротации 3 файлов на сервере SLES 11 BIND работает? Не похоже, что это должно быть где-то рядом с этим много хлопот.


редактировать

В настоящее время раздел ведения журнала named.conf выглядит так:

ведение журнала { channel log_file { file "/var/log/query_log.log" версии 3 размером 100M; }; категория по умолчанию { log_file; }; };

что сообщается в / var / log / messages:

рабочий каталог недоступен для записи.
isc_stdio_open '/var/log/named/query_log.log' не удалось: файл не найден> настройка ведения журнала: файл не найден при выходе (из-за фатальной ошибки)

так что похоже, что есть какая-то проблема с разрешениями. Я создал этот каталог и поместил в него пустой файл с именем query_log.log. Я назначил владельца по имени и предоставил всем права на чтение, запись и выполнение в / var / log / named и дал всем права на чтение /var/log/named/query_log.log.

ls -l из / var / log / named

-rwxrwxrwx l с именем named 0 26 апр. 08:43 query_log.log

ls - of / var / log

// различные файлы и каталоги
drwxr-xr-x 2 по имени 4093 26 апреля 09:26 по имени


редактировать 2

чтобы запустить сервер связывания, я использую команду rconym start. Если я удаляю секцию ведения журнала, чтобы я мог начать работу с именами, запустил ps aux | grep named показывает, что /usr/sbin/named работает от имени пользователя.

Спасибо за вашу помощь до сих пор. Что я должен сделать, чтобы это работало?

1 ответ

Кто-нибудь знает, как получить журналы DNS Query, в ротации 3 файлов на сервере SLES 11 BIND работает? Не похоже, что это должно быть где-то рядом с этим много хлопот.

Это не должно быть хлопотом - синтаксис прост и хорошо реализован (его используют тысячи и тысячи администраторов серверов имен). Это теоретически возможно, но очень маловероятно, что вы обнаружили в нем новую ошибку. Давайте посмотрим на более вероятные причины.

Сначала вам не помешает проверить ваш синтаксис. Как объяснено в Справочном руководстве администратора BIND (также называемое "ARM", копия ARM, соответствующая вашей версии BIND, включена в ваш источник BIND или может быть найдена на веб-сайте ISC). 6.2.10, вы должны сначала определить канал, например:

channel example_query_channel { 
   file "bind_query.log" versions 3 size 20m; 
   print-time yes;
   print-category yes;
};

затем направьте интересующую вас категорию (например, "запросы") в этот канал:

category queries {
   example_query_channel; 
};

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

Если это не работает для вас, у вас есть проблема с разрешением файловой системы, а не проблема BIND; BIND каким-то образом блокируется от записи в файл, который вы указали в соответствующем каталоге. Возможно, вы отбрасываете привилегии для запуска от имени пользователя без полномочий root, и у этого пользователя нет разрешения -x для прохождения всех каталогов в пути от корневого каталога файловой системы до каталога, в который вы пишете, или, возможно, у вас его нет -w perms для записи файлов в этот каталог. Или, возможно, у вас есть другой уровень безопасности (вы упоминаете AppArmor), который еще больше усложняет ситуацию.

Другие вопросы по тегам