Способи оплати Abuse

Файл hosts: навіщо потрібен, де розташований

31.08.2023, 22:05

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

Навіщо потрібен файл hosts

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

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

Де розташований?

Зазвичай він міститься в системній директорії, такій як /etc/hosts у найпоширеніших дистрибутивах Linux і macOS і C:WindowsSystem32driversetchosts у Windows.

Windows XP, 2003, Vista, 7, 8, 10 — c:windowssystem32driversetchosts

Linux, Ubuntu, Unix, BSD — /etc/hosts

macOS — /private/etc/hosts

Редагувати файл etc hosts потрібно від імені адміністратора, інакше ви не зможете зберегти внесені зміни.

Як внести зміни до файлу hosts

Для внесення змін до файлу hosts вам потрібні права адміністратора або суперкористувача. Нижче наведено інструкції щодо внесення змін до файлу hosts у різних операційних системах:

Windows:

  1. Відкрийте провідник і перейдіть за шляхом C:WindowsSystem32driversetc.
  2. Знайдіть файл з ім'ям "hosts" і відкрийте його за допомогою текстового редактора (наприклад, Notepad) з правами адміністратора.
  3. Внесіть необхідні зміни, додаючи рядки у форматі "IP-адреса доменне_ім'я", наприклад: "127.0.0.1 localhost"
  4. Збережіть внесені зміни та закрийте файл.

Linux і macOS:

  1. Відкрийте термінал.
  2. Виконайте команду sudo nano /etc/hosts, щоб відкрити файл hosts з правами суперкористувача і редактором nano (ви можете використовувати будь-який інший текстовий редактор).
  3. Внесіть потрібні зміни, додаючи рядки у форматі "IP-адреса доменне_ім'я", наприклад: "127.0.0.1 localhost"
  4. Натисніть Ctrl + X, потім Y, а потім Enter, щоб зберегти внесені зміни і закрити файл.

Після внесення змін до файлу hosts, деяким операційним системам може знадобитися перезавантаження або скидання кешу DNS для застосування цих змін.

Windows 7

Відкрийте провідник і перейдіть за таким шляхом:

C:WindowsSystem32driversetc

У цій папці знайдіть файл із назвою "hosts". Для відкриття файлу з правами адміністратора, клацніть правою кнопкою миші на ньому і виберіть "Відкрити за допомогою" > "Блокнот".

Внесіть потрібні зміни до файлу. Кожен запис має бути в окремому рядку і мати такий формат:>

IP-адреса доменне_ім'я

Наприклад:

127.0.0.1 localhost

Збережіть зміни, натиснувши на кнопку "Файл" у верхньому лівому кутку блокнота, вибравши "Зберегти".

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

Windows 8, 10

Відкрийте провідник і перейдіть за шляхом:

C:WindowsSystem32driversetc

У цій папці знайдіть файл із назвою "hosts". Клацніть правою кнопкою миші на ньому і виберіть "Відкрити за допомогою" > "Блокнот".

Якщо блокнот не вказано у списку, натисніть на кнопку "Більше додатків" і виберіть "Блокнот".

Якщо ви не можете зберегти зміни через обмеження доступу, скопіюйте файл "hosts" на робочий стіл. Відредагуйте його на робочому столі за допомогою блокнота.

Внесіть необхідні зміни до файлу. Кожен запис має знаходитися в окремому рядку і мати такий формат:
IP-адреса доменне_ім'я

Наприклад:
127.0.0.1 localhost

Збережіть зміни. Якщо ви редагували файл на робочому столі, перетягніть його назад у каталог C:WindowsSystem32driversetc і погодьтеся на заміну наявного файлу.

Linux, Unix

Для редагування файлу hosts в Linux або Unix можна використовувати будь-який текстовий редактор, такий як vi, nano або gedit.

Відкрийте термінал.

Введіть команду для відкриття файлу hosts з використанням потрібного вам текстового редактора. Наприклад:

Для vi: sudo vi /etc/hosts
Для nano: sudo nano /etc/hosts
Для gedit: sudo gedit /etc/hosts

Введіть пароль суперкористувача (root), щоб отримати доступ до редагування файлу.

Додайте або змініть записи у файлі hosts. Кожен запис має містити IP-адресу та відповідне їй доменне ім'я, розділені пропуском або табуляцією.

Наприклад:
127.0.0.1 localhost
192.168.0.1 example.com

Збережіть зміни і закрийте редактор. У разі vi вам знадобиться натиснути `Esc`, потім ввести `:wq` і натиснути Enter. У nano потрібно натиснути Ctrl + X, потім Y для збереження змін. Перевірте файл hosts, щоб побачити, що внесені вами зміни набули чинності. Ви можете використовувати команду cat /etc/hosts для перегляду вмісту файлу.

Для редагування файлу hosts потрібні права суперкористувача. Тому використання команди `sudo` перед відкриттям файлу допоможе отримати потрібні привілеї.

macOS

Відкрийте Finder і перейдіть у папку "Applications".

У папці "Applications" знайдіть і запустіть програму "Terminal".

У вікні терміналу введіть таку команду: sudo nano /etc/hosts

Введіть пароль вашого облікового запису macOS і натисніть клавішу "Enter".

У відкритому редакторі nano ви побачите вміст файлу hosts.

Додайте або змініть записи у файлі hosts. Кожен запис має містити IP-адресу і відповідне їй доменне ім'я, розділені пропуском або табуляцією.

Наприклад:
127.0.0.1 localhost
192.168.0.1 example.com

Натисніть клавішу "Ctrl + O", потім "Enter", щоб зберегти зміни.

Потім натисніть "Ctrl + X", щоб закрити редактор nano.

Для редагування файлу hosts будуть потрібні права суперкористувача. Тому використання команди sudo перед відкриттям файлу допоможе отримати потрібні привілеї.

Блокування доступу до сайту через файл hosts

Щоб заблокувати доступ до певного сайту через файл hosts, потрібно внести зміни до цього файлу, перенаправляючи запитувану веб-адресу на локальну IP-адресу або некоректну IP-адресу.

Ось як це можна зробити:

  1. Відкрийте термінал або командний рядок у вашій операційній системі.
  2. Введіть команду sudo nano /etc/hosts для відкриття файлу hosts з правами суперкористувача.
  3. Введіть пароль суперкористувача, якщо буде потрібно.
  4. Перегорніть файл до кінця або до потрібного місця.
  5. Додайте новий рядок у файл, починаючи з IP-адреси, за якою йде доменне ім'я, яке ви хочете заблокувати. Як IP-адресу можна використовувати 127.0.0.1 (локальну IP-адресу) або можна вказати некоректну IP-адресу. Наприклад: 127.0.0.1 example.com або 0.0.0.0.0 example.com
  6. Збережіть зміни і закрийте редактор (наприклад, у nano натисніть Ctrl + O, потім Enter, і Ctrl + X для збереження і виходу).
  7. Перезавантажте ваш браузер або очистіть його кеш для оновлення налаштувань за допомогою нового файлу hosts.

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

Оригінальний файл hosts і як його відновити

Оригінальний файл hosts в операційній системі Linux, Unix або macOS містить мінімальний набір записів, як правило, тільки для доступу до локальних ресурсів, без блокування доступу до будь-яких веб-сайтів.

Вміст оригінального файлу hosts для Windows:

# Copyright (c) 1993-2006 Microsoft Corp.

#

# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host
# localhost name resolution is handle within DNS itself.
#       127.0.0.1       localhost
#       ::1             localhost

Для Linux:

127.0.0.1       localhost

127.0.1.1      user

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Mac:

##

# 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

Зверніть увагу, що під час відновлення оригінального файлу hosts усі додані вами налаштування (зокрема й блокування доступу до сайтів) буде видалено.