Сетевые средства Debian/DNS
DNS представляет собой распределенную базу данных, ставящую в соответствие доменным именам четверки (время жизни, класс, тип, значение), причем значение может, в свою очередь, обладать собственной внутренней структурой.
Цель этого раздела — познакомить с основными приемами диагностики и обслуживания зон ответственности (или доменов) DNS, а также дать представление о способах представления различной информации в системе DNS.
Пример зоны
[править]В следующих разделах, мы рассмотрим пример данных, связанных — или которые могли бы быть связанными — с зоной example.org через систему DNS.
Мы будем использовать формат, подобный используемому BIND, NSD, или программой dig(1):
example.org. 86400 IN NS ns1.example.org.
Где:
example.org.— доменное имя (ключ DNS-записи);- 86400 — время жизни в секундах (в данном случае — 1 сутки);
IN— класс («Internet»);NS— тип записи («сервер имен зоны»);ns1.example.org.— значение (доменное имя сервера имен.)
Описание зоны
[править]Основные типы записей, описывающих зону в целом:
SOA— начало зоны ответственности (англ. start of [a zone of] authority);NS— имя сервера имен (англ. name server);DNSKEY— открытый ключ зоны;DS— отпечаток ключа зоны (англ. delegation signer.)
При этом:
- запись типа
SOAиспользуется в зоне однократно; - записи
NS,DNSKEYмогут повторяться (с различными значениями), а также, в общем случае, подлежат дублированию в родительской зоне (что также известно как клей; англ. glue или glue records); - каждой из записей
DNSKEYдочерней зоны может соответствовать в родительской зоне как идентичная записьDNSKEY, так и содержащая лишь слепок ключа записьDS.
Отметим, что в случаях отсутствия поддержки DNSSEC инфраструктурой родительской зоны, соответствующие записи DLV (аналогичные DS) могут быть размещены и в зоне dlv.isc.org.
Наконец, рассмотрим использование вышеперечисленных записей на примере домена example.org, для чего воспользуемся программой dig. Для начала, однако, выясним, какие сервера имен обслуживают эту зону:
$ dig +short example.org. ns
b.iana-servers.net.
a.iana-servers.net.
$
Выполним теперь запрос к одному из них:
$ dig +tcp +norecurse +nocmd +nocomments +noquestion +nostats \
@a.iana-servers.net. \
example.org soa \
example.org dnskey
example.org. 3600 IN SOA sns.dns.icann.org. noc.dns.icann.org. (
2013073147 7200 3600 1209600 3600 )
example.org. 172800 IN NS a.iana-servers.net.
example.org. 172800 IN NS b.iana-servers.net.
example.org. 3600 IN DNSKEY 257 3 8 AwEAAawt7HplI5M8GGA...
example.org. 3600 IN DNSKEY 257 3 8 AwEAAeikvxboZpn9VCx...
example.org. 3600 IN DNSKEY 256 3 8 AwEAAYqdHXTZN1Oj79j...
$
(Для удобства чтения, мы разбили представление записи SOA на две строки, а также привели открытые ключи — значения записей DNSKEY — лишь частично.)
Отметим, что хотя тип NS не упоминался в запросе явно, в разделе дополнительных (англ. additional) данных ответа для типа SOA он все же присутствует.
Описание узла
[править]Основные типы записей, описывающих узел сети Internet:
AAAA — IPv6-адрес узла;
A — IPv4-адрес узла.
Отметим, что эти записи непосредственно используются, по-видимому, большинством протоколов (включая HTTP, SSH, NNTP), а также при подключении к агентам начального приема почты (англ. Mail submission agent, MSA) при использовании протоколов SMTP. (В отличие от соединений между почтовыми транспортными агентами — MTA — для которых в первую очередь используются записи MX.)
Рассмотрим использование этих записей на примере HTTP-сервера http://example.org/:
$ dig +tcp +norecurse \
+nocmd +nocomments +noquestion +noauthority +nostats \
@a.iana-servers.net. \
example.org aaaa \
example.org a
example.org. 86400 IN AAAA 2606:2800:220:6d:26bf:1447:1097:aa7
example.org. 86400 IN A 93.184.216.119
$
Как видно, доступ к данному HTTP-серверу может осуществляться по одному из двух IP-адресов: 2606:2800:220:6d:26bf:1447:1097:aa7 или 93.184.216.119.
См. также
[править]- Manual pages — глава BIND 9 Administrator Reference Manual.
- dig(1)
- nsupdate(1)