DNS - это Domain Name System.
Изначально, когда Интернет только появился, обращение к хостам производилась через IP адреса.
Уже в последствии появилась система DNS.
Как понятно из названия, DNS прежде всего используется для преобразования имени в IP адрес.
В настоящее время DNS получила своё дальнейшее развитие, и сейчас правильнее говорить, что
DNS используется для разрешения имён в ресурсы.
Например DNS позволяет разрешить имя mail.ru в адрес.
Но DNS также используется и для определения почтового сервера для пользователя user@mail.ru
Для работы с различными ресурсами используются DNS записи различных типов, например:
Система DNS имеет иерархическую структуру, при этом иерархия идёт справа на лево, например:
www.mail.ru.
. -> ru -> mail -> www
На схеме приведена иерархическая схема DNS.
Как видно структура древовидная, при этом каждый узел представляет собой имя или метку(Label), например:
. -> com -> cisco -> dev
При этом корневой узел - это "." (точка, метка нулевого уровня)
Полное имя хоста - это имя, содержащее также и все метки в иерархии, и называется:
FQDN, Fully Qualified Domain Name
В реальности в браузере вы вводим конечно без точки в конце, при этом браузер предполагает что эта точка "имелась в виду".
Точнее говоря, имя без точки - это относительное имя. И локальный DNS Resolver выполняет несколько функций, чтобы привести это имя к абсолютному имени.
В том числе, добавление точки в конце.
Настройку локального DNS Resolver можно посмотреть здесь:
файл /etc/resolve.conf
Как видно из настроек, мы можем ввести в браузере "http://www", резолвер автоматом добавит домен ciscomaster.ru, и по факту мы попадём на www.ciscomaster.ru
Мы можем добавить несколько поисковых доменов, и резолвер начнет их перебирать.
Терминология DNS:
domain: domain или домен - это имя ресурса интернет, простое для восприятия, и которое мы вводим в браузере, например mail.ru
zone: zone или зона - это обособленная ветвь пространства DNS имен которая располагается на своих авторитарных DNS серверах. В зону может входить любое количество доменов нижележащего уровня - до тех пор пока они все расположены на одних и тех же авторитарных серверах, зона у них одна и та же. Например, зона хостинга amazon.com может содержать записи с именем www.amazon.com и www.aws.amazon.com, но не может содержать запись с именем www.amazon.ca.
Domain Registrar: Каждой доменной зоной кто-то владеет. Домен второго уровня можно приобрести, для этого существуют организации, уполномоченные создавать (регистрировать) новые доменные имена и продлевать срок действия уже существующих доменных имен в домене Например nic, masterhost.
Узнать, кто является регистратором домена можно через сервис who is: https://www.nic.ru/whois/
Zone File: contains DNS records
Делегирование зоны - это то каким образом пространство имен в DNS делится на зоны. Делегирование происходит из родительской зоны, например ru. После приобретения домена второго уровня он будет зарегистрирован регистратором домена. Делегирование из родительской зоны происходит путем создания NS записей. В дочерней (делегированной) зоне создается полное описание зоны начиная с SOA записи. Например, когда регистрируется домен второго уровня через регистратора nic.ru, то там при регистрации просят указать имена и адреса минимум двух DNS серверов которые будут считаться авторитарными для данной ветви пространства DNS имен. Вот эти два сервера становятся NS записями в домене ru.
DNS Records: A, AAAA, NS, CNAME
Name Server: resolves DNS queries (Authoritative or Non-Authoritative). Сервер содержит Zone File
SLD (Second Level Domain): google.com, mail.ru
TLD (Top Level Domain): .com, .in, .us, .org, .gov,
Как уже говорилось, у DNS есть понятие зоны, которая "живет" на своих серверах DNS. Поэтому DNS является географически распределённой системой.
Есть сервера, ответственные за корневую зону, т.е. за "." Они содержат информацию, кто ответственен за зоны 1-го уровня.
Корневые сервера "вшиты" в DNS, их количество порядка десятка.
Посмотрим, кто является серверами имен для ".", т.е. Name Servers
Как видно, корневые сервера располагаются в специальной зоне root-servers.net.
Все эти сервера содержат копию зоны ".", но есть источник, главный сервер, содержащий Start Of Authority.
Посмотрим, кто является ответственным за зону "."
Есть сервера, ответственные за зоны 1-го уровня: ru, com, net и тд. Они содержат информацию, кто ответсвенен за зоны 2-го уровня.
Посмотрим список серверов, которые содержат зону ru. И SOA:
Наконец сервера 2 уровня, содержат зону для поддомена 2-го уровня(например mail.ru). Эти сервера уже хранят записи типа A, MX т.д.
Рассмотрим правую часть схемы
Здесь изображен клиент, на котором расположен его локальный DNS resolver.
Local Name Server - локальный офисный кеширующий сервер. Обычно это сервер AD.
Поскольку DNS распределённая система, при запросе клиентом имени ftp.dev.cisco.com, Local Name Server будет вынужден произвести несколько запросов, как показано на схеме.
Такое поведение сервера называется Iterative
Такие запросы от клиента называются рекурсивными, т.е. для ответа сервер может обращаться к другим DNS серверам.
Основными инструментами для работы с DNS являются dig и nslookup
Оба инструмента используются для получения информации из DNS (Domain Name System).
nslookup - Кроссплатформенный сервис. Используется для получения основных, фундаментальных данных по DNS, выполнение Basic Troubleshooting.
dig - более сложная и гибкая утилита, позволяющая проводить более сложные операции Troubleshooting.
dig - это Domain Internet Groper, дословно - Искатель Интернет-доменов
Запрос без параметров выдаст записи типа A:
dig mail.ru
Примеры запросов:
dig -t NS .
dig -t SOA .
dig -t NS ru.
dig -t SOA ru.
dig @8.8.4.4 -t NS mail.ru.
dig @8.8.4.4 -t SOA mail.ru.
Запрос записей типа MX:
dig -t MX mail.ru
nslookup - это Name Server Lookup, Просмотр серверов имён.
Запрос без параметров выдаст записи типа A:
Можно заметить, что и dig, и nslookup обращаются к серверу 8.8.8.8
Это сервер DNS настроенный для локального DNS Resolver данной системы.
Это можно проверить просмотрев файл /etc/resolve.conf
Система DNS позволяет производить обратные разрешения из IP адресов в DNS имена. Для этого в дереве имен есть специальный служебный домен под именем in-addr.arpa.
a.b.c.d.in-addr.arpa. где а,b,c,d это 0-255.
На эту часть DNS имен распространяются те же правила, что и на обычные имена, вот только владельцем какого-либо субдомена может стать лишь организация получившая контроль за соответствующим блоком IP адресов - например провайдер, когда покупает для своих нужд у RIPE диапазоны IP адресов. Например, если провайдер купил себе префикс с адресами 123.44.55.0/24 (256 адресов), то он может получить от RIPE (регионального регистратора) и реверс зону в которой начнет создавать PTR записи по просьбе клиентов или для своих нужд.
$TTL 300 55.44.123.in-addr.arpa. IN SOA ns.net.ru. admin.net.ru. ( 2009012500 ;serial 7200 ;refresh 900 ;retry 2592000 ;expire 3600 ;neg. ttl ) NS ns.net.ru. NS ns2.dnshosting.com. 1.55.44.123.in-addr.arpa. PTR hostname.net.ru. 2.55.44.123.in-addr.arpa. PTR imja.net.ru. 254.55.44.123.in-addr.arpa. PTR esheodnoija.net.ru.
Определить владельца IP и автономной системы можно через сервис who is, например для адреса 195.112.100.134:
https://www.nic.ru/whois/?searchWord=195.112.100.134
Посмотрим делегирование для зоны 100.112.195.in-addr.arpa
https://apps.db.ripe.net/db-web-ui/query?bflag=false&dflag=false&rflag=t...
Таким образом, зона 100.112.195.in-addr.arpa делегирована на сервера:
nserver: ns.maxnet.ru
nserver: ns2.maxnet.ru
nserver: ns3.maxnet.ru
Результаты исследования командой dig:
Источники:
https://www.lissyara.su/articles/freebsd/programms/dns/
https://www.youtube.com/watch?v=y8yXXPx1NHs
Добавить комментарий