Как сконфигурировать логирования ответ от upstream серверов в dnsdist (что бы был ip)?
Ссылка скопирована
Сейчас ситуация такая:, Планирую на базе dnsdist поднять dns сервер который будет логировать ответы по нужным мне доменам.
Сейчас ситуация такая: сохранял список ip - domain если определённый domain. Ни как не получается(Сервер работает, логирование подключил, но в логах нет ip.
2025-09-11 09:40:34,819 {"dns_message": "CLIENT_RESPONSE", "socket_family": "IPv4", "socket protocol": "UDP", "from_address": "127.0.0.1", "to_address": "127.0.0.1", "query_time": "2025-09-11T09:40:34.355877+00:00", "response_time": "2025-09-11T09:40:34.360278+00:00", "latency": 0.004401, "query_type": "A", "query_name": "ya.ru.", "return_code": "NOERROR", "bytes": 82}
Прошу вашей помощи
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
VPN
Как правильно настроить vless для Android TV?
1 ответ
Pyrogram
Как правильно зарегистрировать юзер бота в Telegram?
1 ответ
печатные-платы
Как заставить запускаться программу M3.exe от компании Hanxing AOI в инспекционной машине на Windows 7 Pro?
1 ответ
Искусственный интеллект
Что делать, если OpenRouter ограничивает доступ к моделям?
1 ответ

В dnsdist можно логировать ответы от upstream-серверов, но нужно понимать, что базовый query logging чаще показывает запросы, а не всегда удобную картину «какой upstream ответил и каким IP». Для такой задачи обычно используют Lua hooks, dnstap, protobuf logging или внешнюю систему логирования, в зависимости от объема трафика.
Если нужно видеть, какой backend обработал запрос и какой ответ вернулся, начните с настройки carbon/webserver/console для статистики, а для подробных событий используйте Lua. Но будьте осторожны: полное логирование DNS-ответов на нагруженном резолвере быстро создаст большой объем логов и задержки.
Упрощенная логика через Lua может выглядеть так:
function logResponse(dq) local remote = dq.remoteaddr:toString() local qname = dq.qname:toString() local qtype = dq.qtype infolog('client=' .. remote .. ' qname=' .. qname .. ' qtype=' .. qtype) return DNSAction.None end
Дальше нужно привязать действие к подходящему hook/action, исходя из версии dnsdist. В разных версиях доступны разные функции для response rules и Lua actions, поэтому обязательно сверяйте синтаксис с установленной версией.
Если задача именно «получить IP из ответа», проверьте, что вы логируете секцию ответа, а не только запрос. Для больших нагрузок лучше отправлять события в syslog/Graylog/ClickHouse, а не писать в один локальный файл. И обязательно включайте sampling или фильтр по доменам/клиентам, иначе логирование само станет причиной проблем с DNS.