Система доменних імен (DNS) є невід’ємною частиною і, мабуть, однією з найголовніших, в інтернет-інфраструктурі. І хоча дана тема достатньо складна, ми спробуємо пояснити основні поняття та описати основні дії, з якими вебмайстри можуть стикатися регулярно. Нехай дана стаття стане для вас таким собі кишеньковим довідником, до якого буде зручно звертатися в повсякденних справах, пов’язаних з DNS:
DNS створено для вирішення наступної проблеми – комп’ютери працюють тільки з цифрами, а люди в більшості з символами (словами), тож необхідно було створити систему, яка б переводила символьні імена в цифрові і навпаки, своєрідний аналог телефонного довідника.
Усі пристрої, що підключені до мережі/інтернету, ідентифікуються за номером у вигляді IP (Internet Protocol, айпі) адреси, щось на зразок: 193.152.12.223
IP-адреси мають бути унікальними в рамках мережі, до якої підключено пристрій.
Якщо ми говоримо про сайти/доменні імена, то мережею для них є “увесь інтернет”. Запис в системі днс, який співставляє певну IP адресу певному ресурсу, називається resource record. Усі ці записи, що стосуються конкретного сайту/доменного імені, зберігаються в так званих файлах зон, що зберігаються на серверах DNS.
Тобто для роботи сайту на сервері DNS зберігається файл зони (файл з DNS-налаштуваннями цього домену/сайту), який складається з ресурсних записів (resource record)
Ресурсний запис – це один текстовий рядок, що визначає інформацію про певний ресурс, це основа ДНС-налаштувань та системи днс вцілому. Кожен такий записи складається з кількох частин, що відділені одна від одної пробілом або табуляцією:
name ttl class type data
Name: Визначає ім’я запису (ресурсу)
TTL: Визначає час життя. Тобто період часу, протягом якого вважається, що значення запису (Data) не змінюється, якщо TTL 3600 (секунд) , то сервіси будуть запитувати оновлену інформацію по значенню цього запису не частіше, ніж раз на годину.
Class: Визначає тип протоколу. В нашому випадку зазначимо, що в більшості це IN, тобто “internet protocol.”
Type: Визначає тип запису. Значенням є абревіатура назви типу, наприклад тип A (адреса) або MX (mail Exchange) та інші.
Data: Значення.
Записи DNS знаходяться у файлі зони. В DNS зазвичай зона відповідає за окреме доменне ім’я. В одному файлі розміщено інформацію про співвідношення між IP-адресами і символьними адресами (іменами ресурсів домену). Виглядає це приблизно так:
Це спеціалізований сервер, що обробляє запити про те, де знаходяться ресурси, описані в файлі зони, такі як ваш веб-сайт чи e-mail, тобто отримавши адресу (домен вашого сайту, напр.) – він віддає у відповідь IP . Налаштування DNS мають містити мінімум два записи про сервери імен, основний та вторинний (primary та secondary). Якщо перший сервер не відповідає на запит, його має обробити другий.
Є більше трьох десятків типів DNS записів, але тільки невеличка частина з них зазвичай зустрічається на практиці вебмайстрам. Серед них:
CNAME – канончіне ім’я. Запис CNAME зазвичай використовується, аби перенаправити користувача, який запитує певне ім’я на інше ім’я автоматично. Наприклад:
store.yourdomain.com 86400 IN CNAME yourstore.ebay.com
Даний запис вказує, що якщо зробити запит до store.yourdomain.com – вас перенаправить на yourstore.ebay.com.
Також з цього запису ви бачите, що цикл життя цього запису дорівнює 86400 секунд, клас запису IN , тип запису CNAME
Це найбільш важливий, мабуть, та найбільш популярний тип. Він вказує, на якому сервері розміщено той чи інший домен/піддомен.:
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 записи дозволяють додавати текст 🙂 у ваші DNS записи. Наприклад, для підтвердження власності на домен у Google Webmaster Tools , який пропонує підтвердити, що ви є власником, шляхом створення TXT запису із значенням, що Google генерує для вас в процесі верифікації
Приклад:
google-site-verification 86400 IN TXT rXOxyZounnZasA8Z7oaD3c14JdjS9aKSWvsR1EbUSIQ
MX вказує, де знаходяться сервери, що обслуговують вашу корпоративну пошту на домені (якщо вона у вас є). MX записи повинні вказувати на домен поштового сервісу, а не IP-адреси. Наприклад:
86400 IN MX 10 mail.domain.com
Число 10 вказує на пріоритет поштового сервера. Якщо в днс вказано кілька поштових серверів, вони пошту спочатку намагається обробити той, в кого найвищий пріоритет, якщо він недоступний – інший вступає в роботу. Чим менше число – тим більше пріоритет.
NS вказує, хто є вашим “нейм-сервером”, тобто хто обробляє днс-запити про ваш домен. Наприклад, якщо ви розміщуєте сайт на нашому віртуальному хостингу, то напевне ви налаштуєте ваш домен на наші нс-сервери
domain.com 86400 IN NS ns1.yourprovider.com
PTR (pointer record) , ще називають reverse DNS record, робить зворотню роботу – він вказує не який IP у домена, а який домен відповідає за IP.