15%

Збережіть 15% на всі хостинг-послуги

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код:

Skills
Почати
25.10.2024
1 +1

Файл Hosts: що це таке, де його знайти та як редагувати на будь-якій ОС

Ваше локальне перевизначення DNS — без підключення до інтернету

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

Цей файл є одним із найпотужніших і недооцінених інструментів, доступних розробникам, системним адміністраторам і досвідченим користувачам. Він дозволяє вручну зіставляти доменні імена з IP-адресами — миттєво, локально, не торкаючись роутера чи DNS-провайдера. Незалежно від того, чи тестуєте ви новий сайт перед запуском, блокуєте рекламні сервери або усуваєте проблеми з поширенням DNS, файл hosts надає вам прямий низькорівневий контроль над тим, як ваша машина розпізнає доменні імена.

У цьому посібнику ви дізнаєтесь, що таке файл hosts, де його знайти у Windows, macOS і Linux, а також як безпечно та ефективно його редагувати.

Що таке файл hosts?

Файл hosts — це системний файл у форматі звичайного тексту, який зіставляє імена хостів (доменні імена) з IP-адресами. Він передує сучасній системі DNS і спочатку був єдиним механізмом розпізнавання імен у мережі ARPANET. Сьогодні він досі функціонує як локальний шар перевизначення DNS — ваша ОС перевіряє його першим, перш ніж надсилати будь-які зовнішні DNS-запити.

Як це працює

Коли ви переходите на сайт, ваша операційна система дотримується такого порядку розпізнавання:

  1. Перевірка локального файлу hosts на наявність відповідного запису
  2. Запит до локального кешу DNS
  3. Звернення до налаштованого DNS-резолвера (наприклад, DNS вашого провайдера або публічного резолвера, як-от 8.8.8.8)

Якщо файл hosts містить відповідний запис, пошук зупиняється там. Жодного зовнішнього DNS-запиту не надсилається. Це робить його надзвичайно швидким і корисним для локальних перевизначень.

Поширені випадки використання файлу hosts

Випадок використанняЯк це працює
Локальне тестування сайтуСпрямувати домен на 127.0.0.1 або IP проміжного сервера
Блокування небажаних сайтівПеренаправити рекламні або трекінгові домени на 0.0.0.0
Обхід затримок поширення DNSВручну встановити IP для нещодавно перенесеного домену
Маршрутизація середовища розробкиЗіставити власні локальні домени з контейнерами Docker або VM
Виправлення некоректних записів DNSПримусово встановити правильний IP при неправильно налаштованому DNS

> Порада для розробників: Якщо ви запускаєте локальне середовище розробки або тестуєте сайт на сервері VPS Хостинг до завершення поширення DNS, редагування файлу hosts — найшвидший спосіб переглянути живий сайт без зміни налаштувань DNS.

Де знаходиться файл hosts?

Розташування файлу hosts залежить від операційної системи. Ось короткий довідник:

Windows

C:WindowsSystem32driversetchosts

macOS

/etc/hosts

Linux (усі основні дистрибутиви)

/etc/hosts

У macOS і Linux /etc/hosts зазвичай є символічним посиланням або прямим файлом, яким керує система. У дистрибутивах Linux, що використовують systemd-resolved, файл все одно має пріоритет для локальних перевизначень.

Як редагувати файл hosts у Windows

Редагування файлу hosts у Windows вимагає прав адміністратора. Файл захищений системою, тому стандартні облікові записи користувачів не можуть його змінювати.

Крок 1: Відкрийте Блокнот від імені адміністратора

  1. Натисніть Windows Key + S і введіть Notepad у рядку пошуку
  2. Клацніть правою кнопкою миші на Блокнот у результатах
  3. Виберіть Запустити від імені адміністратора
  4. Натисніть Так, якщо з’явиться запит від контролю облікових записів (UAC)

Крок 2: Відкрийте файл hosts

  1. У Блокноті натисніть Файл → Відкрити
  2. Перейдіть до: C:WindowsSystem32driversetc
  3. У випадаючому списку типу файлу (поруч із полем імені файлу) змініть значення з Text Documents (*.txt) на Усі файли (*.*)
  4. Виберіть файл з іменем hosts і натисніть Відкрити

Крок 3: Додайте або змініть записи

Формат кожного запису простий:

[IP Address]    [Hostname]

Додайте свої записи в кінці файлу. Наприклад:

# Redirect example.com to local development server
127.0.0.1       example.com

# Point testsite.com to a staging VPS
192.168.1.100   testsite.com

# Block an ad network
0.0.0.0         ads.unwanteddomain.com

Рядки, що починаються з #, є коментарями і ігноруються системою.

Крок 4: Збережіть файл

Натисніть Файл → Зберегти. Якщо ви отримаєте помилку дозволів, переконайтеся, що відкрили Блокнот від імені адміністратора. Не зберігайте файл з розширенням .txt.

Крок 5: Очистіть кеш DNS

Після збереження очистіть кеш DNS, щоб зміни набули чинності негайно:

  1. Відкрийте Командний рядок від імені адміністратора
  2. Виконайте таку команду:
ipconfig /flushdns

Ви повинні побачити повідомлення: *«Successfully flushed the DNS Resolver Cache.»*

Як редагувати файл hosts у macOS

У macOS файл hosts редагується через Термінал за допомогою текстового редактора з привілеями sudo (суперкористувача).

Крок 1: Відкрийте Термінал

Натисніть Command + Space, щоб відкрити Spotlight Search, введіть Terminal і натисніть Enter.

Крок 2: Відкрийте файл hosts за допомогою nano

Виконайте таку команду:

sudo nano /etc/hosts

Введіть свій пароль адміністратора за запитом. Пароль не буде відображатися під час введення — це нормально.

Крок 3: Відредагуйте файл

Текстовий редактор nano відкриє файл hosts. Використовуйте клавіші зі стрілками для переходу в кінець файлу та додайте свої записи:

# Development environment
127.0.0.1       myproject.local

# Staging server
203.0.113.45    staging.example.com

# Block tracking domain
0.0.0.0         tracker.example.net

Крок 4: Збережіть і вийдіть

  • Натисніть Control + O, щоб записати (зберегти) файл
  • Натисніть Enter для підтвердження імені файлу
  • Натисніть Control + X, щоб вийти з nano

Крок 5: Очистіть кеш DNS у macOS

Виконайте відповідну команду для вашої версії macOS:

macOS Monterey, Ventura, Sonoma (та більшість сучасних версій):

sudo killall -HUP mDNSResponder

macOS Big Sur і раніші версії (альтернатива):

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Ваші зміни тепер будуть активні в усій системі.

Як редагувати файл hosts у Linux

Linux дотримується того самого загального процесу, що й macOS, оскільки обидві системи засновані на Unix. Вам знадобиться доступ root або sudo.

Крок 1: Відкрийте Термінал

Запустіть програму Термінал. У більшості графічних середовищ ви можете знайти її в меню програм або натиснути Ctrl + Alt + T.

Крок 2: Відкрийте файл hosts

sudo nano /etc/hosts

Введіть пароль root або sudo за запитом.

Крок 3: Додайте свої записи

Перейдіть у кінець файлу та додайте власні зіставлення:

# Local dev environment
127.0.0.1       devsite.local

# Internal server
10.0.0.5        internal.company.com

# Block unwanted domain
0.0.0.0         malicious-ads.example.com

Крок 4: Збережіть і вийдіть

  • Натисніть Control + O, потім Enter для збереження
  • Натисніть Control + X, щоб вийти з nano

Крок 5: Очистіть кеш DNS у Linux

Команда для очищення DNS залежить від дистрибутива та DNS-резолвера:

Ubuntu / Debian (з systemd-resolved):

sudo systemd-resolve --flush-caches

Або в новіших версіях:

sudo resolvectl flush-caches

CentOS / RHEL / Fedora:

sudo systemctl restart NetworkManager

Arch Linux:

sudo systemd-resolve --flush-caches

Якщо ви використовуєте власний демон кешування DNS, як-от nscd або dnsmasq, перезапустіть відповідну службу:

sudo systemctl restart nscd
# or
sudo systemctl restart dnsmasq

Розуміння структури файлу hosts за замовчуванням

Коли ви вперше відкриваєте файл hosts у будь-якій ОС, ви побачите деякі записи за замовчуванням. Ось як виглядає типовий файл hosts Linux/macOS «з коробки»:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

Пояснення ключових записів:

  • 127.0.0.1 localhost — Зіставляє адресу зворотного зв’язку з «localhost». Це необхідно для локальної мережі і ніколи не повинно бути видалено.
  • ::1 localhost — IPv6-еквівалент адреси зворотного зв’язку.
  • 255.255.255.255 broadcasthost — Використовується для мережевого широкомовлення (специфічно для macOS).

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

Найкращі практики редагування файлу hosts

1. Завжди спочатку створюйте резервну копію

Перед внесенням будь-яких змін зробіть резервну копію оригінального файлу:

Linux / macOS:

sudo cp /etc/hosts /etc/hosts.backup

Windows (Командний рядок від імені адміністратора):

copy C:WindowsSystem32driversetchosts C:WindowsSystem32driversetchosts.backup

Якщо щось зламається, ви зможете негайно відновити оригінал.

2. Використовуйте коментарі для документування змін

Завжди позначайте свої записи коментарями за допомогою #. Це особливо важливо в командних або серверних середовищах:

# Added 2024-01-15 — Staging environment for client project
192.168.1.50    staging.clientproject.com

# Temporary block — remove after campaign ends
0.0.0.0         ads.campaign-tracker.net

3. Використовуйте 0.0.0.0 замість 127.0.0.1 для блокування

При блокуванні доменів 0.0.0.0 зазвичай є кращим вибором, ніж 127.0.0.1, тому що:

  • Він не намагається встановити з’єднання з вашою локальною машиною
  • Він відмовляє швидше (без тайм-ауту з’єднання)
  • Він не заважає локальним веб-серверам, що працюють на порту 80/443

4. Не блокуйте критично важливі системні домени

Будьте обережні з блокуванням доменів, пов’язаних із:

  • Службами Windows Update або macOS Software Update
  • Серверами оновлень антивірусів
  • Службами хмарної синхронізації (Dropbox, OneDrive, iCloud)
  • Серверами перевірки ліцензій для програм, якими ви користуєтесь

5. Підтримуйте порядок у записах

Групуйте пов’язані записи разом і використовуйте заголовки коментарів для зручності:

# ==========================================
# LOCAL DEVELOPMENT ENVIRONMENTS
# ==========================================
127.0.0.1       myapp.local
127.0.0.1       api.myapp.local

# ==========================================
# BLOCKED DOMAINS
# ==========================================
0.0.0.0         ads.example.com
0.0.0.0         tracker.example.net

6. Пам’ятайте, що зміни файлу hosts є лише локальними

Файл hosts впливає лише на машину, на якій він знаходиться. Якщо ви керуєте кількома серверами або вам потрібні зміни DNS, що застосовуються до всієї інфраструктури, вам потрібно налаштувати DNS на рівні сервера або мережі. Для команд, що керують кількома середовищами, належно налаштований Виділений сервер з локальним DNS-резолвером (наприклад, BIND або Unbound) є більш масштабованим рішенням.

Розширені випадки використання

Тестування сайту до поширення DNS

Коли ви переносите сайт до нового хостинг-провайдера або нового VPS з cPanel, поширення DNS може тривати від кількох хвилин до 48 годин. Замість того щоб чекати, ви можете додати IP нового сервера до файлу hosts і негайно протестувати живий сайт так, як він виглядатиме на новому сервері:

# Testing migration to new VPS — remove after DNS propagates
203.0.113.10    yourdomain.com
203.0.113.10    www.yourdomain.com

Відкрийте браузер, перейдіть на yourdomain.com, і ви побачите сайт, розміщений на новому сервері — тоді як усі інші досі бачать старий.

Налаштування локальних доменів для розробки

Розробники часто надають перевагу реалістичним доменним іменам для локальних проєктів замість localhost:3000. Ви можете створити власні локальні домени:

127.0.0.1       myproject.dev
127.0.0.1       api.myproject.dev
127.0.0.1       admin.myproject.dev

Поєднайте це з локальним веб-сервером (Apache, Nginx або Caddy), налаштованим з віртуальними хостами, і ви отримаєте чисте, професійне локальне середовище розробки.

Блокування цілих рекламних мереж

Ви можете додати кілька записів для блокування відомих рекламних і трекінгових доменів:

0.0.0.0         doubleclick.net
0.0.0.0         googlesyndication.com
0.0.0.0         adservice.google.com

Для більш комплексного підходу такі проєкти, як StevenBlack’s hosts, надають регулярно оновлювані зведені файли hosts із десятками тисяч заблокованих доменів.

Усунення поширених проблем із файлом hosts

Зміни не набувають чинності

  • Чи очистили ви кеш DNS? Це найпоширеніша причина. Виконайте відповідну команду очищення для вашої ОС.
  • Чи правильно ви зберегли файл? У Windows переконайтеся, що не зберегли його випадково як hosts.txt.
  • Чи використовує ваш браузер власний кеш DNS? Chrome і Firefox підтримують власні кеші DNS. Спробуйте очистити їх або відкрийте приватне/анонімне вікно.
  • Чи використовуєте ви VPN? VPN-клієнти часто перевизначають локальні налаштування DNS, повністю обходячи файл hosts.

Помилки відмови в доступі

  • Windows: Переконайтеся, що Блокнот (або ваш редактор) запущено від імені адміністратора.
  • Linux/macOS: Переконайтеся, що використовуєте sudo перед командою.

Сайт досі розпізнається за старим IP

  • Перевірте правильність формату запису: IP_ADDRESS[TAB or SPACES]hostname — без http:// або кінцевих слешів.
  • Перевірте наявність друкарських помилок у доменному імені.
  • Переконайтеся, що у файлі вище немає конфліктуючих записів.

Випадково щось зламали

Відновіть резервну копію:

# Linux/macOS
sudo cp /etc/hosts.backup /etc/hosts

# Windows (as Administrator)
copy C:WindowsSystem32driversetchosts.backup C:WindowsSystem32driversetchosts

Файл hosts проти DNS: коли що використовувати

СценарійФайл hostsНалаштування DNS
Швидке локальне тестування на одній машині✅ Ідеально❌ Надмірно
Середовище розробки для всієї команди❌ Не масштабується✅ Використовуйте внутрішній DNS
Блокування сайтів на одному пристрої✅ Добре працює❌ Не потрібно
Управління виробничими доменами❌ Не підходить✅ Обов’язково
Тестування сайту перед запуском✅ Ідеально❌ Вплине на всіх користувачів
Багатосерверна інфраструктура❌ Занадто вручну✅ Необхідно

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

Так само, якщо ви запускаєте поштовий сервер і хочете забезпечити правильну доставку електронної пошти, редагування файлу hosts не є заміною правильно налаштованих MX-записів. Ознайомтеся з рішеннями для Поштового хостингу для надійної, правильно налаштованої поштової інфраструктури.

Короткий довідник: шпаргалка з файлу hosts

Розташування файлів

ОСШлях
WindowsC:WindowsSystem32driversetchosts
macOS/etc/hosts
Linux/etc/hosts

Відкрити для редагування

ОСКоманда / Метод
WindowsБлокнот → Запустити від імені адміністратора → Файл → Відкрити
macOSsudo nano /etc/hosts
Linuxsudo nano /etc/hosts

Очистити кеш DNS

ОСКоманда
Windowsipconfig /flushdns
macOSsudo killall -HUP mDNSResponder
Ubuntu/Debiansudo systemd-resolve --flush-caches
CentOS/RHELsudo systemctl restart NetworkManager

Формат запису

[IP Address]    [hostname]    [optional alias]

# Examples:
127.0.0.1       localhost
127.0.0.1       myapp.local
0.0.0.0         blocked-site.com
192.168.1.10    staging.example.com

Висновок: опануйте локальний DNS за допомогою файлу hosts

Файл hosts — це оманливо простий інструмент із напрочуд широкими можливостями. Всього кількома рядками звичайного тексту ви можете перенаправляти домени, блокувати небажаний вміст, тестувати нові конфігурації серверів і усувати проблеми DNS — не торкаючись роутера, DNS-провайдера або мережевої інфраструктури.

Ключові висновки:

  • Завжди робіть резервну копію файлу hosts перед редагуванням
  • Використовуйте коментарі для документування кожної зміни
  • Очищайте кеш DNS після кожного редагування, щоб зміни застосувалися негайно
  • Використовуйте 0.0.0.0 замість 127.0.0.1 при блокуванні доменів
  • Пам’ятайте, що це локально — зміни файлу hosts впливають лише на машину, на якій вони зроблені

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

Тепер відкрийте цей файл, внесіть зміни обережно, очистіть кеш і візьміть повний контроль над тим, як ваша машина бачить інтернет.

15%

Збережіть 15% на всі хостинг-послуги

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код:

Skills
Почати