Как изменить файл Hosts в Linux и управлять им

LinuxМануалыТерминал

На вашем компьютере есть один файл, который служит небольшим шлюзом между вами и сетью. Этот файл называется hosts. Если вам нужно заблокировать веб-сайты или создать персональные веб-ярлыки в GNU/Linux, вы можете решить эти задачи, добавив или изменив несколько строк в файле hosts.

Что такое файл Hosts?


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

Если вы откроете файл hosts, вы быстро заметите, что в нем нет каталога всего Интернета. Вместо этого может быть только пара строк и все. Что происходит?

Оказывается, ваша система сначала проверит файл hosts, прежде чем искать сайт на DNS-серверах, определенных в настройках вашей сети (обычно это DNS-серверы вашего провайдера).

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

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

Это лишь основные примеры того, что можно сделать при помощи файла hosts. Сценарии других применений зависят лишь от ваших потребностей.

Расположение файла Hosts в GNU/Linux


В GNU/Linux вы можете найти файл hosts в /etc/hosts. Поскольку это простой текстовый файл, вы можете открыть файл hosts с помощью предпочитаемого вами текстового редактора.

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

sudo nano /etc/hosts

Чтобы использовать графический текстовый редактор, такой как gedit, вы можете попробовать gksu вместо этого:

gksu gedit /etc/hosts

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

Как добавить сайты в файл Hosts


В файле hosts каждая запись имеет свою собственную строку. Синтаксис прост. Введите IP-адрес, на который вы хотите перевести имя хоста, нажмите клавишу Tab на клавиатуре, а затем введите имя хоста.

Например, чтобы заблокировать Википедию, вы должны ввести (не забывая использовать клавишу Tab, а не пробел):

127.0.0.1 wikipedia.org

127.0.0.1 — это петлевой IP-адрес, который всегда будет указывать на вашу собственную систему. Поскольку Интернет не хранится на вашем компьютере, ваш браузер скажет, что сайт не может быть найден. Теперь он эффективно заблокирован.

Если вы чувствуете, что терминал запугивает вас, ознакомьтесь с приложением Linux Mint Domain Blocker (также известным как 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 обойдет блокировку, если вы просто введете wikipedia.com в адресную строку. Если вы введете http://wikipedia.com в адресную строку, он будет следовать за файлом hosts.
  2. Отключите «Использовать веб-службу для разрешения проблем, связанных с навигацией» в настройках Chrome (Настройки — Дополнительные — Конфиденциальность и безопасность), и тогда вам не придется вводить http:// в названии каждого сайта.
Использовать веб-службу для разрешения проблем, связанных с навигацией

Как вы измените файл Hosts?


Файл hosts предлагает простой способ блокировки доступа к определенным веб-сайтам на вашем компьютере. Поскольку многие версии GNU/Linux не поставляются с встроенным программным обеспечением для родительского контроля, эти знания могут пригодиться.

Источник: MakeUseOf