Настройте базовый DNS-сервер рекурсивного кэширования и настройте зоны для домена
Представьте себе, что было бы, если бы нам пришлось запоминать IP-адреса всех веб-сайтов, которыми мы пользуемся ежедневно. Даже если бы у нас была потрясающая память, процесс перехода на веб-сайт был бы смехотворно медленным и отнимал бы много времени.
А что, если нам нужно посетить несколько веб-сайтов или использовать несколько приложений, находящихся на одном компьютере или виртуальном хосте? Это была бы одна из худших головных болей, о которых я только могу подумать, не говоря уже о возможности того, что IP-адрес, связанный с веб-сайтом или приложением, может быть изменен без предварительного уведомления.
Одной только мысли об этом будет достаточно, чтобы через какое-то время отказаться от использования Интернета или внутренних сетей.
Именно таким был бы мир без Системы доменных имен (также известной как DNS). К счастью, этот сервис решает все упомянутые выше проблемы, даже если связь между IP-адресом и именем изменится.
По этой причине в этой статье мы узнаем, как настроить и использовать простой DNS-сервер — службу, которая позволит преобразовывать доменные имена в IP-адреса и наоборот.
Представляем разрешение DNS-имен
Для небольших сетей, которые не подвержены частым изменениям, файл /etc/hosts может использоваться как элементарный метод преобразования имени домена в IP-адрес.
Благодаря очень простому синтаксису этот файл позволяет нам связать имя (и/или псевдоним) с IP-адресом следующим образом:
[IP address] [name] [alias(es)]
Например,
192.168.0.1 gateway gateway.mydomain.com
192.168.0.2 web web.mydomain.com
Таким образом, вы можете связаться с веб-машиной либо по ее имени, псевдониму web.mydomain.com, либо по IP-адресу.
Для более крупных сетей или сетей, в которых часто происходят изменения, использование файла /etc/hosts для преобразования доменных имен в IP-адреса не будет приемлемым решением. Вот тут-то и возникает потребность в специализированном сервисе.
Под капотом DNS сервер запрашивает большую базу данных в форме дерева, которое начинается в корневой зоне (“. ”)
.
Следующее изображение поможет нам проиллюстрировать:
На изображении выше корневая зона (.)
содержит домены com, edu и net. Каждый из этих доменов управляется (или может управляться) разными организациями, чтобы избежать зависимости от большого центрального домена. Это позволяет правильно распределять запросы иерархически.
Посмотрим, что происходит под капотом:
1. Когда клиент отправляет запрос на DNS-сервер для web1.sales.me.com, сервер отправляет запрос верхнему (корневому) DNS-серверу, который направляет запрос на сервер имен в зоне .com
.
Это, в свою очередь, отправляет запрос на сервер имен следующего уровня (в зоне me.com
), а затем на sales.me.com
. Этот процесс повторяется столько раз, сколько необходимо, пока не будет FQDN (Полное доменное имя, web1.sales.me.com в этом примере). возвращается сервером имен зоны, к которой он принадлежит.
2. В этом примере сервер имен в sales.me.com.
отвечает на адрес web1.sales.me.com
и возвращает желаемую связь доменного имени с IP-адресом, а также другую информацию (если это настроено).
Вся эта информация отправляется на исходный DNS-сервер, который затем передает ее обратно клиенту, который ее запросил. Чтобы избежать повторения одних и тех же шагов для будущих идентичных запросов, результаты запроса сохраняются на DNS-сервере.
По этим причинам такая установка широко известна как рекурсивный кэширующий DNS-сервер.