Назад | Перейти на главную страницу

Привязать запрошенный IP-журнал DNS-сервера

У меня есть DNS-сервер, который работает на виртуальном Linux-сервере с несколькими IP-адресами. Bind предоставляет довольно подробные журналы отладки, однако одна часть информации, которая, похоже, не регистрируется, - это просил Айпи адрес.

Например, если бы я управлял DNS-серверами Google 8.8.8.8 и 8.8.4.4 в одном окне, я бы посмотрел, запрашивал ли пользователь запись DNS через 8.8.8.8 или 8.8.4.4.

В идеале я бы не хотел задействовать другие инструменты мониторинга сетевого трафика и придерживался исключительно BIND. Другой мой интерес - изменить ответ на основе запрошенного IP-адреса сервера, аналогично предложению view в bind, но если первое может быть достигнуто, это будет намного проще.

Спасибо!

Параметры ведения журнала в Bind 9 довольно обширны, вам нужно будет настроить такой канал:

channel resolving {
                file "data/named.resolve" versions 10 size 5m;
                severity info;
                print-time yes;
         };

Затем категория для принудительного ввода запросов в канал

 category queries {
                        resolving;
         };

Все это происходит внутри logging {}; раздел.

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

Я записываю в журнал такую ​​информацию:

15-Apr-2014 16:15:15.041 client 192.168.xxx.xxx#40978: view That-one : query: XXXXX IN A + (192.168.xxx.xx)

IP-адрес внутри () - это IP-адрес ответившего сервера BIND.