Підручники

Що таке dns і для чого вони? всю інформацію, яку ви повинні знати

Зміст:

Anonim

Ви вже знаєте, що в Інтернеті можна знайти нескінченність сайтів з різною тематикою. Для доступу до них зазвичай записується адреса у відповідному полі браузера, наприклад, www.google.es або www.profesionalreview.com. Але чи маєте ви уявлення, як команда може шукати ці веб-сайти, незалежно від місця їх розміщення? Саме в цей момент в картину виходить робота серверів DNS (Система доменних імен). У цій статті ви дізнаєтеся, що таке DNS, як вони працюють та які інші пов'язані з цим поняття, наприклад, DNSSEC.

Зміст індексу

Початок Інтернету та його крах

На початку Інтернету, як це було призначено для невеликого використання, був файл hosts.txt, який містив усі IP-адреси та назви машин, які існують в Інтернеті. Цим файлом керував NIC (Мережевий інформаційний центр) і поширювався одним хостом - SRI-NIC.

Адміністратори Arpanet надсилали до NIC по електронній пошті всі зміни, які були внесені та час від часу SRI-NIC оновлювались, а також файл hosts.txt.

Зміни застосовувалися до нового hosts.txt один чи два рази на тиждень. З ростом Arpanet, однак, ця схема стала нездійсненною. Зі збільшенням кількості машин в Інтернеті збільшувався розмір файлу hosts.txt.

Крім того, трафік, генерований процесом оновлення, зріс у ще більших розмірах, коли кожен хост був включений, що означало не лише ще один рядок у файлі hosts.txt, але й інший хост, який оновлювався з SRI-NIC..

Зображення через commons.wikimedia.org

Використовуючи TCP / IP Arpanet, мережа зростала експоненціально, завдяки чому оновленням файлу майже неможливо керувати.

Адміністратори Arpanet спробували інші налаштування, щоб вирішити проблему у файлі hosts.txt. Метою було створення системи, яка б вирішувала проблеми на єдиній таблиці хостів. Нова система повинна дозволити місцевому адміністратору конвертувати наявні в усьому світі дані. Децентралізація адміністрації дозволить вирішити проблему з вузьким місцем, породжену одним хостом, і зменшить проблему трафіку.

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

Пол Мокапетріс з Інституту інформатики США, відповідальний за архітектуру системи. У 1984 році він випустив RFC 882 і 883, де описується "Система доменних імен" або DNS. За цими RFC (запит на коментар) супроводжувались RFC 1034 та 1035, які мають поточні специфікації DNS.

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

Зображення через commons.wikimedia.org

Всього існує 13 кореневих серверів, десять розташовані в США, два в Європі (Стокгольм та Амстердам) і один в Азії (Токіо). Коли одна виходить з ладу, іншим вдається безперебійно працювати мережі.

DNS працює з портами 53 (UDP і TCP) і 953 (TCP) для їх роботи і управління відповідно. Порт 53 UDP використовується для запитів сервер-клієнт, а порт 53 TCP зазвичай використовується для синхронізації даних між головним (первинним) і веденим (вторинним).

Порт 953 використовується для зовнішніх програм, які спілкуються з BIND. Наприклад, DHCP, який хоче додати ім'я хостів, які отримали IP в зоні DNS. Цілком логічно, що це слід робити, лише якщо між ними встановлено довірчі відносини, щоб запобігти перезапису даних DNS будь-яким програмним забезпеченням.

BIND був створений чотирма аспірантами, членами дослідницької групи з інформатики університету в Берклі. Розробник Пол Віксі (творець vixie-cron), працюючи в компанії DEC, вперше відповідав за BIND. В даний час BIND підтримується та підтримується Консорціумом Інтернет-систем (ISC).

BIND 9 був розроблений за допомогою комбінації комерційних та військових контрактів. Більшість функцій BIND 9 просували компанії постачальників Unix, які хотіли переконатися, що BIND залишатиметься конкурентоспроможною щодо пропозицій сервера Microsoft DNS.

Наприклад, розширення безпеки DNSSEC було профінансовано військовими США, які усвідомили важливість безпеки для сервера DNS.

Доменні імена

Кожен веб-сайт або Інтернет-сервіс потребує IP-адреси (або IPv4, або IPv6). За допомогою цього ресурсу можна знайти сервер або набір серверів, які розміщують веб-сайт, і, таким чином, отримати доступ до його сторінок. На момент написання цієї статті IP-адреса Google Spain - 172.217.16.227.

Уявіть, що вам потрібно пам’ятати IP-адреси всіх веб-сайтів, які ви відвідуєте щодня, таких як Facebook, Twitter, електронна пошта, портали новин тощо. Це було б майже неможливо і дуже непрактично, чи не так?

C: \ Users \ Migue> ping www.google.es Pinging www.google.es з 32 байтами даних: Відповідь від 172.217.16.227: байт = 32 час = 39ms TTL = 57 Відповідь від 172.217.16.227: bytes = 32 час = 30 мс TTL = 57 відповідь від 172.217.16.227: байт = 32 час = 31 мс TTL = 57 відповідь від 172.217.16.227: байт = 32 час = 30 мс TTL = 57 статистика пінг за 172.217.16.227: пакети: відправлено = 4, отримано = 4, втрачено = 0 (0% втрачено), Орієнтовний час у зворотному напрямку в мілісекундах: Мінімум = 30 мс, Максимум = 39 мс, Середній = 32 мс C: \ Користувачі \ Міг>

В основному, тому ми використовуємо доменні імена для доступу до веб-сайтів в Інтернеті. З цим користувачеві не потрібно знати, наприклад, IP-адресу Professional Review, щоб отримати доступ до нього, просто знати їх доменне ім’я, і все.

Це дуже практична схема, оскільки запам'ятовувати імена зрештою набагато простіше, ніж запам'ятовувати числові послідовності. Крім того, навіть якщо ви точно не пам'ятаєте ім'я, ви можете ввести його в пошуковій системі, і це допоможе вам знайти його.

Справа в тому, що, незважаючи на використання доменів, сайти все ще потребують IP-адреси, оскільки імена створені врешті-решт для полегшення людського розуміння, а не для комп'ютерів. І DNS залежить від прив'язки домену до IP-адрес.

DNS (система доменних імен)

Послуги DNS в Інтернеті (система імен доменних імен) - у двох словах, великі бази даних, розкидані на серверах, розташованих у різних куточках світу. Коли ви пишете адресу у своєму браузері, наприклад www.profesionalreview.com, ваш комп’ютер запитує DNS-сервери вашого Інтернет-провайдера (або інших осіб, які ви вказали) знайти IP-адресу, пов’язану з цим доменом. У випадку, якщо ці сервери не мають цієї інформації, вони спілкуватимуться з іншими, хто її може мати.

Факт, що домени є ієрархічно організованими, допомагає в цій роботі. Спочатку у нас є кореневий сервер, який можна розуміти як основну службу DNS і представлений крапкою в кінці адреси, як показано в наступному прикладі:

www.profesionalreview.com

Зверніть увагу, що якщо ви введете адресу точно так, як було зазначено вище, з періодом в кінці в браузері, програма зазвичай знайде веб-сайт. Однак не варто включати цю точку, оскільки задіяні сервери вже знають про її існування.

Ієрархія дотримується доменів, про які ми багато знаємо, таких як.com,.net,.org,.info,.edu,.es,.me та кілька інших. Ці розширення називаються "gTLD" (загальні домени вищого рівня), щось на зразок загальних доменів верхнього рівня.

Існують також країни, орієнтовані на закінчення, так звані "ccTLD" (доменний код верхнього рівня коду країни), щось на зразок коду країни для доменів вищого рівня. Наприклад:.es для Іспанії,.ar для Аргентини,.fr для Франції тощо.

Потім з’являються імена, які компанії та фізичні особи можуть зареєструвати в цих доменах, наприклад, слово Profesional Review на profesionalreview.com або Google на сайті google.es.

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

Щоб краще зрозуміти це, погляньте на цей приклад: припустимо, ви хочете відвідати веб-сайт www.profesionalreview.com. Для цього служба DNS вашого постачальника намагатиметься виявити, чи знаєте ви, як знайти зазначений веб-сайт. Якщо ні, то спочатку запитається кореневий сервер. Це, в свою чергу, вкаже на DNS-сервер припинення.com, який продовжить процес до тих пір, поки не дістанеться до сервера, який відповідає на домен profesionalreview.com, який нарешті повідомить про асоційований IP, тобто на якому сервері знаходиться розглянутий сайт.

DNS-сервери, що представляють певні домени, називаються "авторитетними". Зі свого боку служби, відповідальні за отримання запитів DNS від клієнтських машин та намагання отримати відповіді із зовнішніми серверами, називаються "рекурсивними".

Доменами gTLD і ccTLD керують різні об'єкти, які також відповідають за DNS-сервери.

DNS-кеш

Припустимо, ви відвідали веб-сторінку, яку неможливо було знайти через службу DNS вашого постачальника, щоб вона мала звернутися до інших серверів DNS (через вищезазначену ієрархічну схему пошуку).

Щоб запобігти повторному проведенню цього розслідування, коли інший користувач Інтернет-провайдера намагається зайти на той самий сайт, служба DNS може деякий час зберігати інформацію першого запиту. Таким чином, в іншому подібному запиті сервер вже буде знати, що таке IP, пов’язаний із відповідним веб-сайтом. Ця процедура відома як кеш DNS.

У принципі кешування DNS зберігало лише позитивні дані запитів, тобто коли було знайдено сайт. Однак служби DNS також почали зберігати негативні результати з неіснуючих або не локалізованих сайтів, наприклад, коли вони вводять неправильну адресу, наприклад.

Інформація про кеш зберігається протягом визначеного періоду часу за допомогою параметра, відомого як TTL (Time to Live). Це використовується для запобігання застарілості записаної інформації. Період часу TTL змінюється залежно від параметрів, визначених для сервера.

Завдяки цьому робота DNS-сервісів кореневого та наступних серверів зводиться до мінімуму.

Захист DNS за допомогою DNSSEC

На даний момент ви вже знаєте, що сервери DNS відіграють величезну роль в Інтернеті. Проблема полягає в тому, що DNS також може бути «жертвою» шкідливих дій.

Уявімо, наприклад, що людина з великою кількістю знань склала схему для захоплення запитів на вирішення імен клієнта від конкретного постачальника. Коли це вдасться, ви можете спробувати направити на підроблену адресу замість безпечного веб-сайту, який користувач хоче відвідати. Якщо користувач не усвідомлює, що він переходить на помилкову веб-сторінку, він може надати конфіденційну інформацію, наприклад номер кредитної картки.

Щоб уникнути подібних проблем, було створено DNSSEC (розширення безпеки DNS), яке складається з специфікації, яка додає функції безпеки до DNS.

Зображення з Вікісховища

DNSSEC принципово розглядає аспекти справжності та цілісності процедур, що стосуються DNS. Але, всупереч тому, що деякі люди спочатку думають, він не може забезпечити захист від вторгнень або DoS-атак, наприклад, хоча це може допомогти певним чином.

В основному DNSSEC використовує схему, що включає відкриті та приватні ключі. З цим ви можете бути впевнені, що правильні сервери відповідають на запити DNS. Впровадження DNSSEC повинно здійснюватися суб'єктами, відповідальними за управління доменами, саме тому цей ресурс не використовується повною мірою.

Безкоштовні послуги DNS: OpenDNS та Google Public DNS

Коли ви наймаєте послугу доступу до Інтернету, за замовчуванням переходите до використання DNS-серверів компанії. Проблема полягає в тому, що багато разів ці сервери можуть не працювати взагалі добре: з'єднання встановлено, але браузер не може знайти жодну сторінку або доступ до веб-сайтів може бути повільним, оскільки служби DNS повільно реагують.

Одне з таких проблем - прийняття альтернативних та спеціалізованих служб DNS, які оптимізовані для забезпечення найкращої якості та менш сприйнятливі до помилок. Найбільш відомими є OpenDNS та Google Public DNS. Обидві послуги безкоштовні і майже завжди працюють дуже задовільно.

OpenDNS

Використовувати OpenDNS дуже просто: вам просто потрібно використовувати обидва IP-адреси сервісу. Вони:

  • Первинна: ​​208.67.222.222 Вторинна: ​​208.67.220.220

Вторинна послуга - це копія первинної; якщо з будь-якої причини це неможливо отримати, друга є негайною альтернативою.

Ці адреси можна налаштувати на власному обладнанні або на мережевому обладнанні, наприклад, маршрутизаторах Wi-Fi. Наприклад, якщо ви використовуєте Windows 10, ви можете зробити такі налаштування:

  • Натисніть Win + X і виберіть "Мережеві з'єднання".

Тепер потрібно клацнути правою кнопкою миші на піктограмі, що представляє з'єднання, та вибрати властивості. Потім на вкладці "Мережеві функції" виберіть параметр Інтернет-протокол версії 4 (TCP / IPv4) та натисніть "Властивості". Активуйте опцію "Використовувати наступні адреси сервера DNS". У полі "Бажаний сервер DNS" введіть основну адресу DNS. У поле трохи нижче введіть вторинну адресу.

Очевидно, що такий тип конфігурації можна виконати і на Mac OS X, Linux та інших операційних системах, просто дивіться інструкції, як це зробити в посібнику або у файлах довідки. Те саме стосується багатьох комп’ютерів у мережі.

Служба OpenDNS не потребує реєстрації, але це можливо зробити на веб-сайті служби, щоб користуватися іншими ресурсами, наприклад блокуванням домену та статистикою доступу, наприклад.

Google Public DNS

Google Public DNS - це ще одна послуга такого типу, яка виділяється. Незважаючи на те, що не пропонує стільки ресурсів, як OpenDNS, він сильно орієнтований на безпеку та продуктивність, крім того, звичайно, є частиною однієї з найбільших інтернет-компаній світу. Їх адреси мають велику перевагу: їх можна запам'ятати легше. Погляньте на:

  • Первинна: ​​8.8.8.8 Вторинна: ​​8.8.4.4

Google Public DNS також має адреси IPv6:

  • Первинна: ​​2001: 4860: 4860:: 8888 Вторинна: ​​2001: 4860: 4860:: 8844

Заключні думки про DNS

Використання DNS не обмежується лише Інтернетом, оскільки, наприклад, цей ресурс може використовуватися в локальних мережах або екстранетах. Він може бути реалізований практично на будь-якій операційній системі, наприклад, Unix та Windows, які є найпопулярнішими платформами. Найвідомішим інструментом DNS є BIND, яким керує консорціум Internet Systems.

РЕКОМЕНДУЄМО ВАС безкоштовні та загальнодоступні сервери DNS 2018

Кожен системний адміністратор (SysAdmin) повинен мати справу з DNS, оскільки якщо вони правильно налаштовані, вони є базою мережі, де виконуються служби. Розуміння того, як працює DNS та як ми можемо покращити важливо, щоб сервіс працював правильно та надійно.

Підручники

Вибір редактора

Back to top button