Персональный кэширующий DNS сервер

Много, наверное, в интернете обзоров что такое кэширующий сетевой сервер доменных имён. Ну а я расскажу о том, для чего нужен персональный DNS сервер, даже если Вы не в локальной сети.

Начну издалека. Всем знакома команда ping. Ей мы можем определить насколько далеко находится сервер (а точнее – насколько быстро происходит отклик от сервера). Пропингую свой сайт.

Среднее время от того места, где я нахожусь до сервера с сайтом где-то 70 мс. Теперь, чтобы окончательно разжевать суть статьи – я пингую, как бы это странно не смотрелось, свой собственный десктоп.

Отлично. Разница видна. 68.953мс против 0.045. Это понятно. Теперь важно знать, что даже если Вы пользуетесь сервером имён провайдера, задержка резолва (особенно на каналах ADSL и древнее) может быть очень существенной. А ns берутся по тому же принципу, что и в случае с пингом: дальше сервер – медленнее ответ на запрос.

Уже понятно, что далее я буду рассказывать как минимально поднять локальный DNS на основе Bind (тем более он у нас по умолчанию уже стоит). Я отредактировал файл /etc/namedb/named.conf как показано ниже.

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

Ставим сервер в автозагрузку.

И запускаем его.

Что получается после таких операций?

Итак, я выполнил запрос к домену, и отклик был 62 миллисекунды. Но теперь есть одно но: этот адрес уже в кэше BIND-а. А это значит, что второй и последующие запросы будут отрабатывать локально, а значит во много раз быстрее.

Можно проверять. Правда быстрее?