PDNSD: Разворачиваем свой кеширующий DNS в CentOS

pdnsd - это caching DNS прокси-сервер, помимо кэширования DNS запросов (с возможностью задавать минимальный TTL), так же он умеет отсылать параллельные запросы к нескольким DNS серверам.

Даже при быстром интернете и низком отклике остается одно узкое место, DNS запросы. За счет использования кеширования на сервере возможно ускорить даже быстрый Интернет.

Расчет сокращения времени запросов за счет кеширования DNS

Ускорение единичных запросов за счет кеширования DNS составляет порядка 20-40мс.
К примеру запрос главной страницы example.com

Итого 70 элементов с 7 серверов. Общее время потери на DNS запросы 1400 МС, размер получаемых данных 3 КБайта.

При использование кеширования для данного адреса для 500 пользователей, экономия составляет:

  • Время 11,7 Минут
  • Трафик 1,5 Мб.

Это если каждый из них всего 1 раз зайдет в день на страницу, что не соответствует действительности, так как фактов захода гораздо больше.

Но даже при использования кеширования DNS серверу требуется время на запрос у вышестоящего DNS сервера, оптимизировать все DNS запросы позволяет PDNSD.

Установка pdnsd в CentOS

  1. Установить в системе дополнительные репозиторий cheese-release
  2. Уставить pdnsd
  3. Создаем файл конфигурации
    1. Можно создать пустой
    2. Скопировать базовый конфиг
  4. настраиваем сервер, пример файла конфигурации

    Стоит обратить внимание на следующие параметры
    Секция global
    server_ip — IP адрес сервера, если у нас сервер имеет внешний адрес к примеру 192.168.1.1, то необходимо указать его.
    par_queries — количество параллельных запросов к родительским DNS серверам, в данном случае 3, если не один не ответит, то сервер сделает запрос на следующий адрес. В ином случае возвращается результат с первого ответившего.
    Секция server
    ip — Список родительских DNS серверов, в данном случае указаны DNS Яндекса и Google, рекомендуется первыми указать DNS сервера провайдера.

  5. запустить службу pdnsd

В некоторых случаях необходимо оперативно обновить данные в кеше, очистить сразу весь кеш можно командой:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий