Система доменних імен (DNS) є невід’ємною частиною і, мабуть, однією з найголовніших, в інтернет-інфраструктурі. І хоча дана тема достатньо складна, ми спробуємо пояснити основні поняття та описати основні дії, з якими вебмайстри можуть стикатися регулярно. Нехай дана стаття стане для вас таким собі кишеньковим довідником, до якого буде зручно звертатися в повсякденних справах, пов’язаних з DNS:

Що таке DNS і для чого це?

DNS створено для вирішення наступної проблеми – комп’ютери працюють тільки з цифрами, а люди в більшості з символами (словами), тож необхідно було створити систему, яка б переводила символьні імена в цифрові і навпаки, своєрідний аналог телефонного довідника. 

Усі пристрої, що підключені до мережі/інтернету, ідентифікуються за номером у вигляді IP (Internet Protocol, айпі) адреси, щось на зразок: 193.152.12.223

IP-адреси мають бути унікальними в рамках мережі, до якої підключено пристрій.

Якщо ми говоримо про сайти/доменні імена, то мережею для них є “увесь інтернет”. Запис в системі днс, який співставляє певну IP адресу певному ресурсу, називається resource record. Усі ці записи, що стосуються конкретного сайту/доменного імені, зберігаються в так званих файлах зон, що зберігаються на серверах DNS.

Тобто для роботи сайту на сервері DNS зберігається файл зони (файл з DNS-налаштуваннями цього домену/сайту), який складається з ресурсних записів (resource record)

Трішки термінології DNS

Resource Record (RR)

Ресурсний запис – це один текстовий рядок, що визначає інформацію про певний ресурс, це основа ДНС-налаштувань та системи днс вцілому. Кожен такий записи складається з кількох частин, що відділені одна від одної пробілом або табуляцією:

name ttl class type data

Name: Визначає ім’я запису (ресурсу)

TTL: Визначає час життя. Тобто період часу, протягом якого вважається, що значення запису (Data) не змінюється, якщо TTL 3600 (секунд) , то сервіси будуть запитувати оновлену інформацію по значенню цього запису не частіше, ніж раз на годину.

Class: Визначає тип протоколу. В нашому випадку зазначимо, що в більшості це IN, тобто “internet protocol.”

Type: Визначає тип запису. Значенням є абревіатура назви типу, наприклад тип A (адреса) або MX (mail Exchange) та інші.

Data: Значення.

Файл зони

Записи DNS знаходяться у файлі зони. В DNS зазвичай зона відповідає за окреме доменне ім’я. В одному файлі розміщено інформацію про співвідношення між IP-адресами і символьними адресами (іменами ресурсів домену). Виглядає це приблизно так:

Сервер імен (Nameserver, DNS-сервер)

Це спеціалізований сервер, що обробляє запити про те, де знаходяться ресурси, описані в файлі зони, такі як ваш веб-сайт чи e-mail, тобто отримавши адресу (домен вашого сайту, напр.) – він віддає у відповідь IP . Налаштування DNS мають містити мінімум два записи про сервери імен, основний та вторинний (primary та secondary). Якщо перший сервер не відповідає на запит, його має обробити другий.

Найбільш популярні типи DNS записів

Є більше трьох десятків типів DNS записів, але тільки невеличка частина з них зазвичай зустрічається на практиці вебмайстрам. Серед них:

CNAME

CNAME – канончіне ім’я. Запис CNAME зазвичай використовується, аби перенаправити користувача, який запитує певне ім’я на інше ім’я автоматично. Наприклад:

store.yourdomain.com 86400 IN CNAME yourstore.ebay.com

Даний запис вказує, що якщо зробити запит до store.yourdomain.com – вас перенаправить на yourstore.ebay.com.

Також з цього запису ви бачите, що цикл життя цього запису дорівнює 86400 секунд, клас запису IN , тип запису CNAME

A

Це найбільш важливий, мабуть, та найбільш популярний тип. Він вказує, на якому сервері розміщено той чи інший домен/піддомен.:

domain.com. 86400 IN A 103.56.154.77

@ 86400 IN A 103.56.154.77

Ці два записи є однаковими, по суті. Вони вказують, що домен domain.com (@ в деяких системах використовується для заміни назви домену, чий файл зони ви редагуєте. При цьому @ може використовуватись тільки сама по собі, тобто не можна писати www.@ для визначення www.domain.com).

В першому записі ви бачите крапку наприкінці домену. Якщо крапку не ставити, то при запиті днс-інформації кожен такий запис без крапки буде розцінено як “піддомен”. Наприклад, запис www.domain.com виглядає так:

www 86400 IN A 103.56.154.77

тобто після www автоматично розуміється .domain.com, оскільки немає крапки

TXT record

TXT записи дозволяють додавати текст 🙂 у ваші DNS записи. Наприклад, для підтвердження власності на домен у Google Webmaster Tools , який пропонує підтвердити, що ви є власником, шляхом створення TXT запису із значенням, що Google генерує для вас в процесі верифікації

Приклад:

google-site-verification 86400 IN TXT rXOxyZounnZasA8Z7oaD3c14JdjS9aKSWvsR1EbUSIQ

MX

MX вказує, де знаходяться сервери, що обслуговують вашу корпоративну пошту на домені (якщо вона у вас є). MX записи повинні вказувати на домен поштового сервісу, а не IP-адреси. Наприклад:

86400 IN MX 10 mail.domain.com

Число 10 вказує на пріоритет поштового сервера. Якщо в днс вказано кілька поштових серверів, вони пошту спочатку намагається обробити той, в кого найвищий пріоритет, якщо він недоступний – інший вступає в роботу. Чим менше число – тим більше пріоритет.

NS

NS вказує, хто є вашим “нейм-сервером”, тобто хто обробляє днс-запити про ваш домен. Наприклад, якщо ви розміщуєте сайт на нашому віртуальному хостингу, то напевне ви налаштуєте ваш домен на наші нс-сервери

domain.com 86400 IN NS ns1.yourprovider.com

PTR

PTR (pointer record) , ще називають reverse DNS record, робить зворотню роботу – він вказує не який IP у домена, а який домен відповідає за IP.