Смотреть dns записи
Содержание:
- Что такое PTR-запись
- Динамическое обновление DNS
- Типы записей DNS-сервера
- Протокол DNS
- Зачем в интернете нужны DNS-серверы
- Бесплатные DNS-хостинги
- Как работает DNS
- Принципы работы кэширования
- Основные характеристики DNS
- Бесплатный DNS хостинг от компании Selectel
- Какие параметры хранятся в SOA-записи
- Способы проверки DNS-записей домена
- Команда dig
- Практическая реализация
- Что представляет собой DNS?
- Создание DNS-записи Wildcard
- Что такое DNS
- CDN-прокси
- Сценарии поиска IP-адресов
Что такое PTR-запись
Если в двух словах, то PTR-запись (или, как ее иногда называют, Pointer) — противоположность A-записи для DNS. Но давайте обо всем по порядку.
DNS (Domain Name System) — это система связи между доменными именами и IP-адресами, к которым они принадлежат. То есть это понятные названия для существующих в сети сайтов. Чтобы пользователям не приходилось запоминать IP-адреса, как номера телефонов, были придуманы простые названия в духе apple.com или timeweb.ru.
A-запись показывает взаимосвязь между адресом и названием. Указывает на то, какой IP скрывается за доменным именем. PTR-запись нужна для обратного. Она показывает доменное имя для указанного адреса.
Как выглядит Pointer?
PTR-запись имеет следующий формат:
Тип записи |
IP-адрес |
Доменное имя |
PTR |
Адрес сервера (виден в панели управления хостинга) |
Доменное имя хостинга |
При этом сам Pointer записывается в виде перевернутого IP-адреса с добавлением домена верхнего уровня in-addr.arpa. Этот домен используется для сетевой инфраструктуры и является первым доменом в интернете.
Название arpa идет от ARPANET. Это предок нынешнего интернета.
Так выглядит PTR-запись при попытке запустить утилиты для поиска DNS.
Тип записи |
IP-адрес |
Доменное имя |
TTL |
А |
iad30s24-in-f141ee100.net |
172.217.164.142 |
24 часа |
Тип записи |
Доменное имя |
IP-адрес |
TTL |
PTR |
172.217.164.142 |
iad30s24-in-f141ee100.net |
24 часа |
Динамическое обновление DNS
Динамическое обновление DNS – дополнительная возможность, которая позволяет компьютерам проводить регистрацию и регулярно обновлять данные при помощи сервера, постоянно поддерживая их актуальность. Это отличный способ избежать администрирования вручную, что особо актуально для клиентов, которые часто меняют расположение или много путешествуют.
Службы DNS поддерживают динамические обновления отдельно для каждой доменной зоны, сервер которой настроен определенным образом. Достаточно выполнить отладку для TCP/IP, чтобы служба по умолчанию обновляла записи ресурсов.
Динамические обновления службы DNS могут отправляться в разных случаях:
- Добавить, удалить или сменить dns домена IP-адреса любого сетевого подключения.
- При помощи запуска специальной команды вручную.
- При включении компьютера.
- При изменении или обновление условий аренды IP-адреса.
- При изменении роли сервера домена.
Любое из перечисленных событий может запускать динамическое обновление. Такая возможность позволяет обеспечить своевременную синхронизацию, сопоставляя адрес и имя компьютера. Возможность актуальна для всех зарегистрированных подключений, включая те, которые не настроены на использование DHCP.
Типы записей DNS-сервера
Одному домену могут подходить несколько сетевых адресов, например, интернет-сайт и почтовый сервер. Более того, каждое доменное имя содержит один или несколько поддоменов.
Все соответствия домена и его IP-адресов хранятся в файле на DNS-сервере, содержимое которого называется DNS-зона. Чтобы внести информацию в систему DNS, необходимо прописать ресурсные записи.
Различают несколько ключевых типов ресурсных записей, информация о которых хранится на DNS-сервере:
- А — адрес веб-ресурса, который соответствует введенному имени домена.
- MX — адрес почтового сервера.
- CNAME — указание привязки аналога к собственному доменному имени. Чаще всего используется для прикрепления поддомена. Например, можно привязать веб-адрес www.site.ru к фактическому сайту для домена site.ru.
- NS — адрес DNS-сервера, отвечающего за содержание прочих ресурсных записей.
- TXT — любая текстовая информация о домене.
- SPF — данные с указанием списка серверов, которым позволено отправлять письма от имени указанного домена.
- SOA — исходная запись зоны, в которой указаны сведения о сервере, содержащем образцовую информацию о доменном имени.
Протокол DNS
Протокол DNS использует модель клиент-сервер, причем в качестве клиента может выступать, как клиент DNS, так и сервер DNS, которые работают в рекурсивном режиме. В этом случае сервер DNS пересылают запросы другим серверам DNS и выступает в качестве клиента. Взаимодействие ведется в режиме запрос-ответ, соединение не устанавливается, используется протокол UDP, номер порта 53.
Формат пакета DNS
Пакет DNS состоит из двух частей заголовок и данные. Заголовок свою очередь состоит из шести полей.
- Первое поле это идентификатор запроса, любое целое число должно быть одинаково в запросе и ответе.
- Поле флаги мы его рассмотрим подробнее.
- И четыре поля, которые указывают сколько у нас данных в пакете. Количество DNS запросов, количество DNS ответов, количество ответов об авторитетных серверах и количество дополнительных ответов.
- В поле данных у нас содержится информация о запросах DNS, где мы указываем доменное имя компьютера для которого хотим узнать ip-адрес.
- Ответов DNS в которых содержится ip-адрес необходимого нам компьютера.
- Поле авторитетные серверы используется ветеративном режиме работы, здесь указываются ip-адреса серверов, которые отвечают за интересующую нас DNS зону.
- И в поле дополнительной информации указываются некоторые дополнительные записи, которые могут быть нам полезны.
В одном и том же DNS пакете может быть несколько запросов DNS и несколько ответов, в том числе несколько ответов на один запрос, если одному доменному имени соответствует несколько ip-адресов.
Флаги
Поле флаги состоит из нескольких полей:
- Поле QR — тип операции запрос (0) или ответ (1).
- Поле OPCODE (4 бита) — тип запроса, но на практике используются только 0-стандартный запрос.
- Флаг AA указывает, является полученный ответ авторитетным (1) или нет (0).
- Флаг TC говорит о том был пакет обрезан (1) или не был (0).
- Флаг RD указывается только в запросах, если этот флаг установлен, клиент просит сервер работать в рекурсивном режиме.
- Флаг RA используется только в ответах, с помощью этого флага сервер сообщает, что он может работать в рекурсивном режиме.
- Флаг Z зарезервирован для будущего использования.
- RCODE (4 бита) последние четыре бита это статус выполнение операции, статус 0 говорит о том что операция прошла успешно, любые другие коды говорят о том что произошла какая-то ошибка.
Формат запроса DNS
Формат DNS запроса очень простой, содержит имя, тип и класс записи.
Например, имя www.yandex.ru, тип записи 1, (запись типа A) отображение доменного имени в ip- адрес. В системе DNS также используются другие типы записей. Класс записи 1 (IN, Интернет) код единица, других классов записей в системе DNS сейчас не используется.
Формат ответа DNS
Формат DNS ответа более сложный, первые три поля точно такие же имя, тип записи и класс записи. Затем указывается время жизни, это время на которые запись может сохранить в кэше DNS resolver, затем указывается длина данных и собственно данные ответа.
Пример, ответа DNS имя www.yandex.ru, запись типа A, класс записи интернет, время жизни 90 секунд, однако администратор DNS resolver может принудительно установить другое время жизни. Длина данных измеряется в байтах, 4 байта и ip-адрес сервера www.yandex.ru.
Зачем в интернете нужны DNS-серверы
На заре существования всемирной сети подключенных компьютеров было немного, а пользователями были опытные специалисты.
Каждую точку подключения (клиентский компьютер) идентифицировали в сети при помощи IP-адреса. Что расшифровывается как Internet Protocol Address – адрес интернет-протокола.
IP-адрес выглядит примерно, как номер сотового телефона:
- 59.109.189
- 59.110.48
- 59.109.207
Со временем количество пользователей интернета значительно увеличилось и тогда, для облегчения задачи серфинга в сети, было предложено ассоциировать цифровые IP-адреса сайтов с вербальными (словесными) доменными именами.
Чтобы обеспечивать назначение каждому цифровому IP-адресу веб-сайта удобного для восприятия имени была создана глобальная система доменных имен.
По-английски Domain Name System или сокращенно DNS.
Система доменных имен представляет собой распределенную инфраструктуру из большого числа серверов, расположенных по всей планете. Эта серверная структура DNS выстроена по принципу иерархического подчинения.
- Сервера доменных имен верхнего уровня – COM, RU и так далее.
- Сервера со списками доменных имен второго уровня – google.com.
- Сервера доменов третьего уровня – api.google.com.
Самую верхнюю позицию в иерархии занимают корневые DNS-сервера, на которых хранятся списки серверов доменных имен верхнего уровня. Корневых ДНС-серверов во всем мире чуть более 10 штук.
Говоря простыми словами, система доменных имен функционирует, как глобальный адресный стол для всемирной сети.
В локальных отделениях DNS хранятся ассоциированные с доменными именами IP адреса сайтов, относящиеся к данному региону. Если на местном сервере DNS оказывается невозможно найти адрес сайта по запрашиваемому доменному имени, запрос делегируется к следующему уровню системы.
И вот таким образом поиск IP-адреса по заданному браузером доменному имени происходит до тех пор, пока нужный сайт не будет обнаружен на одном из ответственных за его хранение серверов DNS.
Пример работы, как браузер находит сайт
Чтобы понять, как все это работает, давайте рассмотрим на конкретном примере поиска какого-либо сайта.
Такой достаточно сложный алгоритм поиска IP адреса сайта по доменному имени получается потому, что сегодня интернет-ресурсов во всемирной сети уже более миллиарда.
Hosts-файл
Чуть выше было упомянуто, что записи об адресах сайтов могут находиться в операционной системе компьютера. Действительно, среди системных файлов имеется документ по имени Hosts.
Это обычный текстовый файл, но не имеющий расширения txt. Дело в том, что Hosts-файлы могут присутствовать на компьютерах и других операционных систем, а не только Windows.
На альтернативных OS расширения файлов могут не совпадать, поэтому договорились использовать текстовый документ Hosts вообще без указания типа файла.
Hosts-файл содержит список сопоставления доменных имен известных пользователю интернет-ресурсов и их IP-адресов.
127.0.0.1 localhost
Сначала прописывается IP-адрес, а затем название интернет-ресурса.
Считается, что Hosts-файл является архаизмом. Этот файл использовался в прежние времена, когда компьютеры имели малую мощность и использовалась любая возможность ускорить процессы.
Указанная выше запись из Hosts-файла означает, что по такому IP адресу находится сам пользовательский компьютер. В большинстве случаев на современных персональных компьютерах эта запись является единственной.
Иногда продвинутые пользователи, для того, чтобы заблокировать посещение какого-либо сайта, добавляют в Hosts-файл запись, в которой сопоставляют доменное имя нежелательного ресурса с IP-адресом компьютера.
В случае запроса браузера по данному доменному имени происходит обращение к локальной системе и перейти на сайт оказывается невозможно.
Например, пользователь не хочет, чтобы его дети посещали какие-либо сайты. Тогда можно отредактировать Hosts-файл и указать в качестве IP-адреса нежелательного сайта локальный хост.
Hosts-файл иногда используется хакерами для того чтобы перенаправить пользователя на фишинговые страницы. Если пользователь посетит зараженный сайт и загрузит оттуда вирус, то этот вирус может произвести изменения в записях Hosts-файла.
Например, доменному имени надежного онлайн-банка будет ассоциирован IP-адрес мошеннического ресурса. Набрав в браузере адрес банка, пользователь попадет на сайт мошенников и потеряет свои деньги.
Сегодня Host-файл потерял свою значимость и может вообще не содержать никаких записей. Это никак не отразится на функциональности компьютера и возможностях работы в интернете.
Бесплатные DNS-хостинги
В интернете можно найти множество ресурсов, предлагающих бесплатные DNS-сервера.
Бесплатный DNS-хостинг — хорошее решение, если вы не имеете возможности администрировать DNS-сервер самостоятельно. Но будьте внимательны: часто в условиях бесплатных сервисов прописывается отказ от ответственности. Могут присутствовать ограничения по количеству доменов, по количеству запросов в месяц. Может быть запрещено размещение коммерческих проектов. Хорошо изучите условия выбранного сервиса.
Плюсы:
- Бесплатно
- Возможность найти сервис, который подходит по условиям и возможностям
Минусы:
- Не отвечают за работоспособность
- API отсутствует или неудобен в использовании
- Ограничения выделяемых ресурсов
Как работает DNS
Доменное имя содержит, как минимум, две части (обычно называются метками), разделённые точкой. Самая правая метка является доменом верхнего уровня (например, для адреса ru.wikipedia.org домен верхнего уровня — org). Каждая следующая метка справа налево является поддоменом (например, wikipedia.org — поддомен домена org, а ru.wikipedia.org — домена wikipedia.org). Теоретически такое деление может достигать глубины 127 уровней, а каждая метка может содержать до 63 символов, пока общая длина вместе с точками не достигнет 254 символов. Но на практике регистраторы доменных имён используют более строгие ограничения.
Система DNS содержит иерархию серверов DNS. Каждый домен или поддомен поддерживается как минимум одним авторизированным сервером DNS, на котором расположена информация о домене. Иерархия серверов DNS совпадает с иерархией доменов.
Рассмотрим на примере работу всей системы.
Предположим, мы набрали в браузере адрес ru.wikipedia.org. Браузер знает только IP-адрес сервера DNS, обычно это один из серверов интернет-провайдера. Он спрашивает у сервера DNS: «какой IP-адрес у ru.wikipedia.org?». Сервер DNS обращается к корневому серверу — например, 198.41.0.4. Этот сервер сообщает — «У меня нет информации о данном адресе, но я знаю, что 204.74.112.1 поддерживает доменную зону org.» Браузер направляет свой запрос к 204.74.112.1, но тот отвечает «У меня нет информации о данном сервере, но я знаю, что 207.142.131.234 поддерживает доменную зону wikipedia.org.» Наконец, браузер отправляет свой запрос к третьему DNS-серверу (который является авторизированным сервером для домена wikipedia.org), и получает ответ — IP-адрес. Этот процесс называется рекурсивным поиском.
Имя хоста и IP-адрес не тождественны — хост с одним IP может иметь множество имён, что позволяет поддерживать на одном компьютере множество веб-сайтов (это называется виртуальный хостинг). Обратное тоже справедливо — одному имени может быть сопоставлено множество хостов: это позволяет создавать балансировку нагрузки.
Запрос на определение имени обычно не идёт дальше кэша DNS, который помнит (ограниченное время) ответы на запросы, проходившие через него ранее. Организации или провайдеры могут по своему усмотрению организовывать кэш DNS. Обычно вместе с ответом приходит информация о том, сколько времени следует хранить эту запись в кэше.
Для повышения устойчивости системы используется множество серверов, содержащих идентичную информацию. Существует 13 корневых серверов, расположенных по всему миру и привязанных к своему региону, их адреса никогда не меняются, а информация о них есть в любой операционной системе.
Протокол DNS использует для работы TCP- или UDP-порт 53 для ответов на запросы. Традиционно запросы и ответы отправляются в виде одной UDP датаграммы. TCP используется в случае, если ответ больше 512 байт, или в случае AXFR-запроса.
Принципы работы кэширования
По мере того, как DNS контроллер домена обрабатывает запросы пользователей, информация в значительном объеме накапливается в пространстве имен. Для дальнейшего использования кэшируются все данные, чтобы ускорить обработку распространенных запросов в дальнейшем, снижая трафик в сети.
Кэшированные записи содержат сведения, удостоверяющие доменные имена. Когда другие клиенты со временем задают новые запросы, сервер может использовать предварительно сохраненные результаты, выдавая их в качестве ответа.
Использование дополнительных функциональных возможностей позволяет использовать DNS-сервер исключительно в роли базы кэширования. Такой не будет удостоверяющим для доменов, а его информация ограничивается кругом запросов. При использовании такого варианта следует учитывать, что при первом запуске информация не содержится. Она накапливается лишь с течением времени за счет обслуживания клиентов. Такая возможность особо полезна для глобальных сетей, позволяя снизить трафик по мере заполнения кэша, при этом не увеличивая нагрузку на всю сеть.
Основные характеристики DNS
Служба имен доменов DNS имеет ряд особых характеристик:
Иерархия.
Все узлы объединены в единое древо. Каждый узел контролирует нижестоящие.
Распределение администрирования.
Каждая часть иерархической структуре находится под контролем разных организаций или администраторов.
Распределение информации.
Любой узел хранит только данные, которые относятся к его зоне ответственности, включая адреса корневых.
Кэширование.
Узел может хранить данные из других зон для рационального распределения и снижения нагрузки на сеть.
Резервирование
Для обслуживания узлов обычно используется несколько, которые разделены физически и логически. Это гарантирует бесперебойность работы и сохранность данных.
Говоря о дополнительных возможностях серверов, это может быть дополнительная защита данных и операций, поддержка динамических обновлений и возможность обработки разных типов информации.
История проекта
Основное предназначение, которое выполняет служба имен доменов DNS – трансляция имен в IP-адреса и наоборот. Ранее, когда интернет только начинал массово распространяться в мире, такая задача решалась путем создания списка существующих компьютерных сетей. Этот список размножался на копии, которые должны были храниться на каждой отдельной машине. Конечно, вскоре такая система стала неудобной, а со временем и вовсе непригодной для эксплуатации, доставляя пользователям больше проблем, чем толка. Файлы становились слишком большие, требовали синхронизации и доставляли другие неудобства. Сейчас воплощение такой концепции можно встретить в виде файла HOSTS, куда можно сохранять данные регулярно используемых серверов.
Позднее сформировалась более удачная система, и DNS имя домена вошло в активную эксплуатацию. В качестве общего корня начала использоваться точка, ниже которого находятся домены первого уровня. К ним относятся интернациональные обозначения и домены государств. Под ними находятся имена вторых и третьих уровней, соответственно.
По мере развития систему появлялись все новые и новые требования к доменным именам. Все родительские должны иметь данные дочерних, чтобы своевременно и правильно обрабатывать запросы. Любой поиск должен начинаться с определенной точки. Если раньше основная часть трафика проходила в пределах локальной зоны, то сейчас масштаб только расширяется.
Система DNS полностью двусторонняя, ведь она не только отыскивает IP-адрес, но и выполняет обратную операцию, отыскивая имя домена. Многие современные серверы ограничивают доступ. Получив запрос на соединение, IP-адрес передается в виде обратного запроса. При правильной клиентской настройке DNS, пользователь сможет узнать dns клиентского хоста без ожидания, после чего владелец сети может принимать решение о допуске на сервер.
Бесплатный DNS хостинг от компании Selectel
Я подробно рассмотрел услуги компании Selectel в этой статье — https://moonback.ru/page/obzor-selectel-vpc. Напомню, что у компании Selectel обширная сеть дата-центров в России.
DNS-хостинг от Selectel — это размещение доменов на NS-серверах в Санкт-Петербурге, Москве, Екатеринбурге, Новосибирске, Киеве, Нью-Йорке, Пало-Альто, Лондоне, Амстердаме и Франкфурте.
Это совершенно бесплатно для размещение любого количества доменов на NS-серверах вне зависимости от использования других услуг.
DNS хостинг отказоустойчив, так как применяется технология Anycast, которая резервирует NS-узлы и каналы связи.
Панель управления с интуитивным, понятным, простым интерфейсом с возможностью редактировать всех основных типов DNS-записей.
Какие параметры хранятся в SOA-записи
Параметры, внесенные в нее, влияют только на работу DNS-серверов, сайты же обрабатываются без их учета. Поэтому многие владельцы веб-ресурсов не задумываются о наличии SOA и назначении этой записи.
Прочитать содержимое легко любым текстовым редактором вроде Блокнота или Notepad++. Подойдут и утилиты, встроенные в файловые менеджеры.
Основные типы информации в SOA:
- TTL – время в секундах, которое затрачивается на кэширование данных, передаваемых через DNS-серверы.
- MNAME – имена удаленных компьютеров, где будет храниться остальная информация о доменах.
- RNAME (Hostname) – контактный электронный адрес лица, ответственного за конкретную SOA-запись.
- Serial Number – серийный номер базы данных зоны, меняющийся при обновлении данных (это указывает вторичным серверам на то, что пора обновить конфигурацию).
- Refresh – время в секундах, отпускаемое на запрос данных у первичного DNS-сервера, чтобы определить, требуется ли обновлять информацию (не менялся ли серийный номер).
- Retry – время ожидания в секундах, через которое сервер будет принимать повторный запрос при неудачной попытке считывания информации.
- Expire – период в секундах, в течение которого используются ранее полученные данные от первичного DNS-сервера. По истечении срока они теряют актуальность.
- Minimum TTL – период хранения данных зоны в кэше.
Перечисленных параметров достаточно, чтобы обеспечить бесперебойную связь DNS-серверов между собой. Остальная информация хранится в других типах записей: NS, A, AAAA, MX, SRV, TXT, SPF, DKIM, CNAME. Подобная классификация упрощает считывание и понимание данных, а также снижает риски сбоев из-за ошибок доступа внешних приложений.
Способы проверки DNS-записей домена
А зачем проверять DNS-записи? Ошибки, допущенные в ресурсных записях, приводят к нарушению работоспособности сайта. Даже после внесения всех правок полноценный доступ к сайту появится не сразу, так как изменения, внесенные в ресурсные записи, вступают в силу в течение 72 часов.
Есть множество способов, позволяющих проверить DNS-записи. Можно воспользоваться как специальными командами в системе, так и онлайн-сервисами.
Встроенные в систему службы
nslookup. Действует на ОС Windows и Linux. С помощью этой утилиты можно точно узнать информацию об IP-адресе, а еще о настройке всех ресурсных записей. Утилита запускается через «Командную строку» в Windows и «Терминал» в Linux. Вводить команду нужно одинаково в обоих случаях и примерно вот так:
nslookup -type=тип_записи site.com
host. Эта утилита используется в ОС Linux. Она есть в стандартном пакете командной строки «Терминал». С ее помощью можно проверить все виды запросов к DNS-серверу. Вводится команда вот таким образом:
host site.com
Можно перед доменным именем добавить опцию -t и указать тип записи для получения более подробного поиска. Выглядеть это будет примерно вот так:
host -t A site.com host -t MX site.com
Проверка DNS-записей с помощью сторонних сервисов
Еще можно воспользоваться бесплатными онлайн-сервисами для проверки DNS записей.
2whois.ru – известный сайт, с помощью которого можно узнать DNS-записи самого разного типа. Просто нужно указать домен в соответствующей строке и начать проверку.
dns.nettools.ru – очень удобный сервис, в котором можно получить информацию не только о ресурсных записях, но и возможности выполнения рекурсивных запросов, а также проверки сервера на возможность выгрузки данных.
functions-online.com – здесь тоже очень удобно проверять настройки DNS-записей самых различных типов. Сервис дает полную информацию, а еще предоставляет PHP документацию на разных языках.
mail-tester.com – сервис поможет определить, попадет ли письмо, отправленное с вашего сервера, в «Спам». Еще здесь можно определить ошибки в ссылках и проверить качество форматирования писем.
xseo.in/dns – на данном ресурсе есть раздел для проверки самых разных DNS записей.
digwebinterface.com – навороченный онлайн-сервис с очень простым исполнением. С первого взгляда может показаться сложным, но на самом деле справиться с ним может даже новичок.
Команда dig
Одна из основных команд Linux для работы с доменами — это dig (domain information groper). Утилита предоставляет возможность узнать о домене наиболее полную информацию, например, IP адрес, который привязан к данному доменному имени и еще ряд полезных для системного администратора параметров. Синтаксис команды dig следующий:
dig , где:
- @cервер — указывает IP-адрес сервера DNS, если не указать этот параметр, то обращение идет к серверу DNS «по умолчанию»;
- имя домена — указывает имя домена, о котором нужно получить информацию;
- тип записи — тип записи DNS (А, MX, TXT, NS и т.д.);
- флаги — с помощью флагов можно задать дополнительные опции утилиты dig.
Ниже укажем основные флаги утилиты dig:
- +all — используется для вывода на экран или сокрытия всех установленных «по умолчанию» флагов;
- +answer — необходима для отображения только ответа на запрос;
- +short — выводит информацию о домене в сокращенном формате;
- +identify — применяется совместно с флагом +short для отображения информации об IP-адресе сервера;
- +comments — служит для вывода информации без комментариев;
- +trace — используется для вывода списка DNS серверов, через которые идет запрос на получение данных о домене.
Дополнительно, могут быть использованы следующие опции для команды dig:
- -4 — разрешает к использованию только IPv4;
- -6 — разрешает к использованию только IPv6;
- -x — служит для получения имени домена по его IP-адресу;
- -f — предназначена, чтобы прочитать список доменов из файла;
- -t — служит для обозначения типа записи, которую надо вывести на экран;
- -p — показывает номер порта DNS сервера.
Мы показали только часто употребляемые флаги и опции команды dig, для получения полной информации по данному вопросу советуем воспользоваться командой:
man dig
Сейчас приведем практические примеры использования утилиты dig. Самый простой случай применения dig:
dig
Например, введем в терминале:
dig freehost.com.ua
Как понять результаты выполнения этой команды? Информация условно поделена на три секции:
- секция HEADER — показывает текущую версию утилиты dig, ID запроса и т. д.;
- секция QUESTION SECTION — выводит на экран текущий запрос;
- секция ANSWER SECTION — отображает ответ на созданный запрос (в нашем запросе выводит IP домена).
Если вы хотите получить только основные данные по домену, то стоит задать сокращенный запрос следующей командой:
dig freehost.com.ua +short
При использовании флага +noall будет отключен вывод на экран информации всех трех секций:
dig freehost.com.ua +noall
Если вы хотите увидеть информацию только из секции ANSWER SECTION, то выполните следующую команду:
dig freehost.com.ua +noall +answer
При необходимости получить такого рода информацию по нескольким доменам сразу, советуем создать специальный файл sites.txt в редакторе nano и занести туда доменные имена нужных сайтов, например:
nano sites.txt google.com yandex.ru freehost.com.ua
Далее следует выполнить команду в терминале:
dig -f sites.txt +noall +answer
Теперь попробуем получить определенные типы записей DNS (A, MX, NS, TXT и т.д.), для этого выполняем команду dig, применяя следующие флаги, например, для типа записи «почтовый сервер»:
dig freehost.com.ua MX
Или же, если мы хотим получить ответ только для третьей секции утилиты dig:
dig freehost.com.ua MX +noall +answer dig freehost.com.ua NS +noall +answer dig freehost.com.ua A +noall +answer dig freehost.com.ua TXT +noall +answer dig google.com ANY +noall +answer
Сейчас попробуем указать конкретный сервер в синтаксисе команды dig (без указания сервера, утилита использует информацию из файла /etc/resolv.conf). Приведем пример с публичным сервером google.com:
dig @8.8.8.8 google.com +noall +answer
Для решения обратной задачи — получения имени домена по IP-адресу, выполним команду dig с опцией -x:
dig -x 178.20.156.90 dig -x 178.20.156.90 +short
Попытаемся узнать, через какие DNS сервера идет запрос для получения информации о домене (команда трассировки в Linux):
dig +trace freehost.com.ua
Для вывода текущей версии утилиты dig воспользуемся опцией -v:
dig -v
Для проверки синхронизации зоны со всеми NS введем команду:
dig freehost.com.ua +nssearch
Практическая реализация
DNS серверы домена представляют собой физические серверы, где хранятся все сведения. Ежедневно аппаратное обеспечение обрабатывает миллиарды запросов каждый раз, когда пользователь вводит в браузер адрес. Оборудование может находиться в любой точке мира. Это не влияет на скорость получения запроса, после которого сервер определяет IP-адрес и в течение считанных секунд направляет пользователя на сайт.
Для удобства сервера классифицируют на:
- Рекурсивные;
- Нерекурсивные.
Основное отличие этих разновидностей заключается в том, что первые всегда возвращают ответ пользователю, самостоятельно отслеживая все отсылки. Вторые, в свою очередь направляют клиенту сами отсылки, которые придется опрашивать самостоятельно.
Нерекрусивные сервера чаще встречаются на вершине иерархии, ведь они получают такое количество запросов, что их кэширование становится практически невозможным, излишне ресурсозатратным и нецелесообразным. Рекурсивные сервера отлично подходят для локальных уровней, кэшируя промежуточные ответы для их более быстрого возвращения в дальнейшем.
Что представляет собой DNS?
Интернет — это сеть, которая объединяет между собой миллионы компьютеров. В сети находятся компьютеры, работающие круглосуточно и без остановок. Как правило, это серверы, которые используются для хранения сайтов и электронной почты. Каждый компьютер при подключении к сети интернет получает специальный идентификатор в числовом виде. Другими словами, ip-адрес. Конечно, к серверу можно обратиться и с помощью числового идентификатора, но вот практика показывает, что людям не будет удобно запоминать адреса в виде чисел. Поэтому разработчики ввели систему буквенных доменов.
Domain Name System, или DNS — это специальная система, которая обеспечивает соответствие доменов их числовым адресам. В интернете есть специальный класс серверов — ns-серверы, которые отвечают за хранение DNS. Там можно проверить домена DNS записи. Их поддерживают с двух сторон — со стороны интернет-провайдеров и хостеров, а также со стороны администраторов доменных зон. Данные сервера имеют свою иерархию.
Создание DNS-записи Wildcard
Wildcard — это специальная DNS-запись, которая отвечает за субдомены *.site.ru. Указывать такую запись нужно для CMS, используемая для управления существующими субдоменами. Чтобы создать такую запись, нужно добавить запись типа А, а в качестве субдомена установить *. Для конфигурирования Apache нужно к специальном конфигурационном файле сделать следующие изменения:
<VirtualHost *:80> DocumentRoot "/home/site.ru" ServerName "site.ru" ServerAlias "www.site.ru" ErrorLog logs/site.ru-error.log CustomLog logs/site.ru-access.log common </VirtualHost>
Здесь нужно всего лишь добавить псевдоним *.site.ru.
Что такое DNS
DNS (Domain Name System) — это система доменных имён, с помощью которой каждому имени домена сопоставляется его реальный IP адрес. В основе самого понятия DNS лежит представление о структуре доменного имени и зонах. Чтобы понять, как работать с доменными именами в Linux, нам необходимо изучить основные команды для работы с DNS, их синтаксис и примеры применения на практике. В этой статье рассмотрим следующие команды: host, nslookup, dig, whois, ping. Все практические задачи по работе с доменными именами мы покажем на нашем VPS под управлением серверной ОС CentOS 7. Для работы нам потребуется установить пакет утилит: bind-utils, без которого в CentOS 7 не будут работать команды host, nslookup, dig.
yum install bind-utils
Также в синтаксисе некоторых команд мы будем использовать основные DNS записи для доменного имени (A, AAAA, MX, NS, SOA, TXT, CNAME, PTR), ниже расшифруем, что означает каждая из них.Зарегистрировать домен Вы можете здесь.
CDN-прокси
Особняком стоят CDN-прокси (Content Distribution Network), которые можно использовать и как DNS. CDN-прокси ускоряют работу сайта благодаря кэшированию данных на распределённой сети серверов. Сайт отдается клиенту с ближайшего к нему сервера. Также CDN может фильтровать вредоносные запросы (защищать сайт от DDoS).
CDN-сети имеют серьёзный недостаток: IP-адрес для доменов, размещённых в CDN, присваивается случайным образом. Т.е. попасть на сайт или сервер напрямую по IP-адресу будет невозможно.
Кроме этого, сайт может быть заблокирован на территории РФ. IP-адреса сайтов с запрещенным контентом попадают в черный список Роскомнадзора и блокируются провайдерами (и это не редкость для CDN-сетей). Если вашему домену случайным образом достанется один из таких адресов, то сайт окажется недоступным. По этой причине необходимо внимательно подходить к выбору CDN-провайдера и заранее узнавать об IP-адресах, находящихся в черных списках, и возможных проблемах с ними.
Не рекомендуем использовать CDN-прокси для сайтов, аудитория которых находится в России.
Плюсы:
- Повышение скорости отдачи контента
- Защита от вредоносных запросов
- Удобство работы
- Отказоустойчивость
Минусы:
- IP-адреса могут быть в черных списках Роскомнадзора
- Стоимость
Сценарии поиска IP-адресов
Чтобы посмотреть DNS записи домена используются три основных сценария определения IP-адреса:
- При необходимости установки соединения с другим компьютером в пределах одной сети, пользователь нуждается в поиске адреса удаленного компьютера, посылая соответствующий запрос локальному серверу. В локальной базе хранятся все имеющиеся доменные имена, которые переадресовываются обратно пользователю.
- При работе с другой зоной, запрос направляется своему локальному серверу. После того, как он находит расположение другой зоны, формируется альтернативный запрос корневому серверу, который, в свою очередь, находит соответствующую локальную базу, спускаясь по дереву DNS. Полученный в результате запрашиваемый IP-адрес возвращается пользователю, а вместе с ним передается и дополнительное значение, указывающее на срок хранения полученных данных в кэше. Это позволяет упростить и ускорить последующую обработку запросов.
- При необходимости создания повторного соединения с компьютером из другой зоны, локальный сперва проверяет, не сохранилось ли указанное имя в кэше и не истек ли срок действия. Если данные остались, они сразу отправляются в ответ пользователю. Такое соединение называется неавторизированным, ведь с момента последнего запроса IP-адрес компьютера оставался неизменным.
Каждый из этих случаев позволяет быстро и легко проверить DNS домена, ведь для поиска компьютера в интернете достаточно локального IP-адреса. Все дальнейшие работы выполняет соответствующий сервер, так что разобраться с задачей могут даже неопытные пользователи.