Журнал IP-адреса DNS-сервера
У меня есть DNS-сервер, который работает на виртуальной Linux-коробке с несколькими IP-адресами. Bind предоставляет несколько довольно подробных журналов отладки, однако одна часть информации, которая, по-видимому, не регистрируется, - это запрошенный IP-адрес.
Например, если бы я использовал DNS-серверы Google 8.8.8.8 и 8.8.4.4 в одном и том же окне, я хотел бы посмотреть, запросил ли пользователь запись DNS через 8.8.8.8 или 8.8.4.4.
В идеале я не хотел бы привлекать другие инструменты мониторинга сетевого трафика и придерживаться исключительно BIND. Другой мой интерес заключается в том, чтобы варьировать ответ в зависимости от запрашиваемого IP-адреса сервера, аналогично предложению view в bind, но если первое может быть достигнуто, кажется, что это будет намного проще.
Спасибо!
1 ответ
Параметры ведения журнала в 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, который ответил.