Як змінити файл Hosts в Linux і керувати ним

Як змінити файл Hosts в Linux і керувати ним

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

Що таке файл Linux Hosts?

Файл hosts - це простий текстовий файл, який всі операційні системи використовують для перекладу імен вузлів (також відомих як веб-адреси або URL-адреси) в IP-адреси. Коли ви введете ім'я вузла, таке як wikipedia.org, ваша система шукає файл вузлів, щоб отримати IP-адресу, необхідну для з'єднання з відповідним сервером.


Якщо ви відкриєте файл hosts, ви швидко помітите, що в ньому немає каталогу всього Інтернету. Замість цього може бути тільки пара рядків і все. Що дає?

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

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

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

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

Адреса файла вузла Linux

У Linux ви можете знайти файл hosts в/etc/hosts. Оскільки це простий текстовий файл, ви можете відкрити файл hosts за допомогою бажаного текстового редактора.


Однак оскільки файл hosts є системним файлом, вам знадобляться права адміністратора для збереження змін. Таким чином, щоб редагувати файл за допомогою текстового редактора на основі термінала Linux, такого як nano, вам потрібно спочатку набрати sudo щоб отримати доступ суперкористувача:

sudo nano /etc/hosts

Щоб використовувати графічний текстовий редактор, такий як gedit, замість цього ви можете спробувати gksu:

gksu gedit /etc/hosts

Ви повинні використовувати термінал, щоб ви могли запустити відповідну програму з правами адміністратора. Просто замініть nano або gedit вашим улюбленим термінальним або графічним текстовим редактором. У nano, як тільки ви закінчите редагування файла, натисніть Ctrl + X, а потім y, щоб підтвердити перезапис змін.

Як додати сайти до файла вузлів

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

Наприклад, щоб заблокувати Вікіпедію, ви повинні ввести (не забуваючи використовувати клавішу табуляції, а не пробіл):


127.0.0.1        wikipedia.org

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

Якщо ви відчуваєте, що термінал заляканий, перевірте додаток Blocker Domain Mint в Linux (також відомий як mintnanny). Він додасть записи до файла hosts, які вказують вказані вами імена вузлів на 127.0.0.1. Але щоб зробити щось ще, вам все одно доведеться вносити зміни в текстовому редакторі.

Завантажити: блокувальник домену (безкоштовно)

Створити ярлики у файлі Hosts

Якщо у вас є комп'ютер в домашній мережі (наприклад, з IP-адресою 192.168.1.10), на якому є простий веб-сайт, який робить щось корисне для вас, ви можете ввести в свій файл hosts наступне:


192.168.1.10        homeserver

Потім, якщо ви відкриєте браузер і просто http://homeserver, він автоматично переспрямує вас 192.168.1.10. І це набагато простіше, ніж вводити IP-адресу кожен раз.

Крім того, ви можете використовувати файл hosts для створення ярликів для певних сайтів в Інтернеті. Використовуйте команду, таку, як nslookup, щоб знайти IP-адресу веб-сайту, потім додайте її до файлу hosts разом з потрібним ярликом, як у прикладі вище. Але це працює тільки на сайтах з виділеними IP-адресами. Ймовірно, він не працюватиме з більшістю сайтів, які ви відвідуєте.

Потенційні проблеми з файлом Hosts

Отже, ми встановили, як вносити зміни до файлу хосту, але у вас можуть виникнути проблеми при використанні Google Chrome. Цей веб-переглядач має тенденцію ігнорувати файл hosts, якщо ви не виконаєте одну з двох можливих дій:

  1. Введіть http://на початку кожної адреси. Наприклад, якщо у вас заблокована Вікіпедія у файлі hosts, Chrome обійде блокування, якщо ви простоcom в адресний рядок. Якщо ви введете http://wikipedia.com в адресний рядок, вона буде слідувати за файлом hosts.
  2. Вимкніть «Використання веб-служби для усунення помилок навігації» в параметрах Chrome, і тоді вам не доведеться щоразу вводити http://на початку. Це одна з декількох порад щодо Google Chrome варто робити в будь-якому випадку.

Як ви зміните файл Hosts?

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


Image