Сетевые средства 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)