Вибираємо хостинг і домен

681
  • Навіщо потрібні DNS-сервера і що це таке?
  • Як це працює і причому тут файл Hosts?
  • Як ДНС допомагає браузеру орієнтуватися в мережі?
  • Яку роль відіграють NS-сервера хостингу?
  • Як поміняти DNS при перенесенні сайту на інший хостинг?
  • Здрастуйте, шановні читачі блогу . Про те, що таке інтернет і коли він з’явився, ми з вами вже говорили. Говорили і про те, що таке є сайти і що таке Веб. Однак, є ще і технічна сторона роботи інтернету, яка теж дуже важлива і по своєму цікава.

    Вибираємо хостинг і домен

    Так, ось DNS — це одна з основних речей, на яких побудована робота всього інтернету. Це абревіатура розшифровується як Domain Name System, що в перекладі означає доменна система імен.

    Цього питання (пристрою доменної системи імен) я вже торкався, коли розповідав про те, що таке домени різного рівня і доменні зони, але лише побіжно. Сьогодні я хочу поговорити про роль ДНС-серверів в роботі сайтів і інтернету в цілому.

    Навіщо потрібні DNS-сервера і що це таке?

    Коли інтернет тільки формувався, то було вирішено впровадити таку річ, як домени. Фактично, це ім’я для вузла мережі (комп’ютера, сервера або в більш загальному сенсі слова — хоста).

    Справа в тому, що на технологічному рівні всі пристрої в будь-якій мережі вже мають унікальні імена (ідентифікатори або IP), але вони мало підходять для використання їх людьми, бо представляють з себе набір цифр (читайте про те, що таке Айпі і MAC адреси).

    Система ж доменних імен оперує вже повноцінними іменами (букви латиниці, цифри, тире та нижнє підкреслення допускається при їх формуванні). Їх набагато легше запам’ятати, вони несуть смислове навантаження (доменне ім’я мого блогу про що-то вже говорить, а реальний його Айпі 109.120.169.66 малоінформативний) і ними простіше оперувати.

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

    Ось саме на цих ДНС-сервери (іноді їх ще називають NS від Name Server, т. е server імен) і тримається весь інтернет (як плоский світ на трьох китах, що стоять на черепасі). Сервер, якщо ви пам’ятаєте, це просто службовий комп’ютер не вимагає особистої участі людини у своїй роботі (налаштували його — він і працює в режимі 24 на 7). І таких DNS-серверів в мережі дуже багато.

    Як працює DNS і причому тут файл Hosts?

    На зорі інтернету ДНС взагалі не існувало. Але як же тоді працювала мережа? Як браузер розумів, що — це те ж саме, що IP адреса 109.120.169.66? За цю справу тоді (та й зараз теж) відповідав так званий файл Hosts, де були прописані всі хости тоді ще маленького інтернету.

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

    У файлі Hosts було прописано кілька тисяч рядків (по числу сайтів в інтернеті на той момент), в кожній з яких спочатку був прописав IP адреса, а потім через пробіл відповідний йому домен. Ось так виглядала б запис для мого блогу, якби він у мережі років так двадцять п’ять — тридцять тому:

    109.120.169.66

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

    Зараз файл Hosts став рудиментом (пережитком минулого) і там зазвичай є тільки один запис (127.0.0.1
    localhost) означає, що локальним хостом потрібно вважати даний комп’ютер.

    Правда іноді його використовують віруси та інші шкідливі програми, щоб замість одного сайту ви потрапляли на інший (про фішинг чули?) — адже для цього достатньо додати лише одну сходинку в файл Hosts (можете самі прописати в ньому, наприклад, «109.120.169.66 yandex.ru» і замість Яндекса браузер вам буде наполегливо відкривати мій блог). Ось саме тому його цілісність охороняють більшість антивірусів.

    Як ДНС-сервера допомагають браузеру орієнтуватися в мережі?

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

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

    Ще раз поясню ланцюжок «метань» браузера при введенні в нього Урл адреси сайту. Отже, спочатку він звертається до файлу Hosts, потім до найближчого ДНС-серваку. Він же у відповідь передає потрібну інформацію (про те, який саме IP-адреса відповідає даному домену) нашу браузеру або запитує її у вищестоящого NS-сервера, якщо такої інформації в себе він не знаходить.

    Как DNS обеспечивает работы интернетаВибираємо хостинг і домен

    І лише після цього браузер звертається до самого сайту по тільки що узнанному IP адресою. Довго, правда? Але що робити? Інакше ніяк.

    Правда браузер «хитрує» і зберігає всю отриману від ДНС серверів інформацію в свій кеш, щоб потім не втрачати час на ці запити з приводу IP адреси сайту. Природно, що кеш зберігається не вічно, але часто відвідувані користувачем сайти завдяки цьому в браузері будуть відкриватися швидше (кеш — це взагалі річ!).

    Яку роль відіграють NS-сервера хостингу в системі DNS?

    На наведеному вище малюнку показана сильно спрощена схема, за якою не дуже зрозуміла роль окремих рівнів ДНС-серверів. Трохи нижче наведена більш розгорнута схема (хоча і знову ж таки дуже спрощена).

    Как ДНС система определяет IP сайта по его доменному имениВибираємо хостинг і домен

    Якщо ви власник сайту, то знаєте, що при купівлі хостингу (або отримання його безкоштовно) вам видають адреси NS-серверів (зазвичай їх два), які потрібно буде прописати у вашого реєстратора доменних (як це зробити описано трохи нижче). Наприклад, мій хостер Инфобокс видав мені дві адреси (ns1.pa.infobox.ru і ns2.pa.infobox.ru).

    Питання, як ці адреси NS беруть участь у схемі визначення IP-адреси по імені домену. Власне, це показано на наведеному вище малюнку, але я все ж поясню:

  • Як я вже писав вище, ваш комп’ютер при введенні в адресному рядку Url типу «» в першу чергу пов’язується з DNS-серверами вашого інтернет-провайдера. Якщо в їх кеші є IP адреса відповідний даного домену, то він негайно буде виданий браузеру і все на цьому закінчиться. У сенсі, браузер використовуючи отриманий Айпі звернеться до мого блогу і відкриє запитувану вами сторінку.
  • Якщо у вашого інтернет-провайдера цієї інформації не знайдеться, то він звернеться до одного з кореневих ДНС-серваков (їх не так вже і багато, і інформація на них оновлюється не часто — від одного до кількох разів на добу).
  • Кореневі серваки не можуть дати вам відразу пару «домен — IP», але зате можуть сказати, де цю інформацію напевно можна знайти. Тобто вони видають інтернет-провайдера адреси тих ДНС-серверів, в яких прописана шукана інформація про цікавить домені. В нашому випадку це будуть якраз ті самі адреси NS хостера, де фізично в даний момент розташовані файли сайту (ns1.pa.infobox.ru і ns2.pa.infobox.ru у моєму випадку).
  • Отримавши цю інформацію ваш інтернет-провайдер звернеться по одному з отриманих NS-адрес і знайде там інформацію про те, який Айпі-адресу на даний момент відповідає домену «».
  • ДНС-сервер вашого інтернет-провайдера запам’ятає цю інформацію в свій кеш (щоб при наступних звернення не повторювати всю наведену вище ланцюжок запитів) і негайно передасть шуканий IP вашому браузеру.
  • І тільки після цього браузер зможе звернутися до віртуального серваку мого хостингу, де розташований блозі https://. В результаті на екрані вашого комп’ютера відкриється одна зі сторінок мого сайту.
  • Як поміняти DNS при перенесенні сайту на інший хостинг?

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

    Нова інформація (про зміну відповідності даного домену та фізичної IP адреси сайту) в першу чергу прописується на NS-сервери вашого нового хостингу. Ви ж йдете в панель реєстратора домену (де його купували) і міняєте там адреси NS-серверів старого хостингу, на ті, що отримали від нового хостера.

    Я користуюся послугами найстарішого реєстратора в рунеті і зміна NS-адрес у нього проходить так:

  • З выпадюащего списку з адресою вашої пошти в правому верхньому куті обираєте пункт «Особистий кабінет»
  • Перейдіть на вкладку «Мої домени»
  • У стовпці «DNS» навпроти потрібної домену клікаєте по рядку з поточними адресами НС-серверів
  • У спливаючому вікні перете адреси старих НС-серверів і замість них прописуєте нові (отримані від нового хостера)
  • Тиснете на кнопку «Додати»
  • Смена адресов NS в панели регистратора доменовВибираємо хостинг і домен

    Те ж саме можна зробити клацнувши по назві домену (в першому стовпці) і вибравши на сторінці «Керування доменом» пункт «DNS-сервери»:

    DNS-серверыВибираємо хостинг і домен

    На наступній вкладці потрібно буде лише замінити старі адреси на нові і натиснути на кнопку «Змінити».

    Как изменить адреса НС-серверов при смене хостингаВибираємо хостинг і домен

    У будь-якому разі зміни вступлять в силу відразу. Лише з плином часу (потихеньку — до двох діб) вся структура ДНС-серверів пропише ці зміни і користувачі зі всіх кінців світу будуть потрапляти на ваш сайт вже живе на новому хостингу.

    Зрозуміло, що на ці один-два дні (поки інформація про зміну IP адреси сайту розходиться по всій структурі доменної системи імен) на старому хостингу повинна знаходитися робоча копія сайту, щоб не було перебоїв у його роботі. До речі, не застосуєте ознайомитися з матеріалом про те, що таке віртуальні хостинг і виділений server, і що з них краще вибрати.

    Удачі вам! До зустрічей на сторінках блогу