Linux: управление файлом hosts
Файл hosts - это текстовый файл на вашем компьютере, в котором содержится список доменных имен (хостов) с привязкой к IP-адресу сервера, на котором размещен ресурс. Одно из частых применений файла hosts - блокировка доступа к сайтам или создание персональных привязок (ярлыков) к сайтам. Эти задачи решаются путем добавления или правки нескольких строк в файле hosts.
Файл HOSTS на Linux
Файл HOSTS на операционных системах Linux, как и на других ОС, представляет собой простой текстовый файл, который можно открыть простым текстовым редактором, и содержит транслитерацию имен хостов (веб-адресов, URL) в IP-адреса. Например, когда вы вводите в адресную строку вашего браузера адрес какого-то сайта, например yandex.ru, то операционная система в первую очередь проверит ваш файл hosts на наличие в нем записи с указанием IP адреса сервера, на котором размещается искомый веб-сайт.
Если вы заглянете в ваш hosts-файл, то вы увидите там всего лишь пару строк, а не перечень всех сайтов во всемирной паутине.
Это говорит о том, что система перед тем как искать запрашиваемый сайт на DNS-серверах, к примеру вашего интернет-провайдера, а сперва ищет IP-адрес сайта в файле hosts.
Исходя из этого, данный файл можно использовать для добавления тех ресурсов в сети, которые не могут предоставить DNS сервера (например псевдоним местоположения в локальной сети, что возможно только при условии наличия настроенного DNS-сервера в сети) или переопределения IP-адресов, не предоставляемых DNS серверами.
К примеру, если вы обращаетесь к какому-то сайту site.ru, DNS сервера вернут IP адрес этого сайта, но если вы хотите заблокировать доступ к этому сайту на данном компьютере, то нужно в файл hosts добавить строчку, которая направит ваш компьютер на какой-нибудь IP-адрес, отличный от реального IP сайта site.ru.
Целей использования файла hosts в вашей системе довольно много в зависимости от ваших потребностей.
Местоположение файла HOSTS на Linux
На компьютерах с операционными системами Linux файл hosts расположен по адресу:
/etc/hosts
Поскольку это простой текстовый файл, то для его редактирования вы можете использовать любой текстовый редактор, установленный в системе.
Однако, т.к. hosts - системный файл, то вам нужны права администратора для сохранения изменений. Так, к примеру, чтобы изменить файл host в терминале Linux с помощью консольного редактора текста nano
, вам нужно ввести сначала команду sudo, чтобы получить права суперпользователя:
sudo nano /etc/hosts
или для редактора Vim
:
sudo vi /etc/hosts
Чтобы использовать использовать редактор с графическим интерфейсом, к примеру gedit
, используйте gksu:
gksu gedit /etc/hosts
Вместо указанных редакторов вы можете использовать в терминале Linux любой предпочитаемый редактор. После внесения сохраните изменения и выйдите из режима редактирования. К примеру для nano
нажмите Ctrl+X и затем y для подтверждения перезаписи файла.
Как добавить сайт в Hosts на Linux?
В файле hosts - каждая запись - это отдельная строка. Синтаксис здесь очень простой - введите IP-адрес, нажмите Tab на клавиатуре (допускается, но не желателен, пробел). Например, вы хотите заблокировать доступ к ВКонтакте:
127.0.0.1 vk.com
Здесь 127.0.0.1 - петлевой IP адрес, который всегда будет указывать на ваш компьютер. Если веб-ресурс не размещен на вашей машине, то ваш браузер ответит на запрос, что сайт не найден. Теперь данный сайт заблокирован на вашем компьютере.
Создаем ярлыки в файле Hosts
Допустим, у вас есть компьютер подключенный к локальной сети имеет ip-адрес 192.168.1.5, на котором есть простенький сайт с чем-то полезным для вас. Добавьте следующую запись в файл hosts:
192.168.1.5 homeserver
После сохранения изменений в вашем браузере в адресную строку введите http://homeserver и автоматически будете направлены на IP 192.168.1.5 и увидите содержимое вашего сайта.
Еще один вариант. У вас есть реальный веб-сайт site.ru, размещенный на каком-либо хостинге. Вы захотели перенести сайт к другому хостинг-провайдеру. Сервер нового хостера имеет другой IP адрес и вы не хотите ждать несколько часов до обновления DNS-серверов и привязки сайта к новому IP (например, 222.222.2.22), то вам нужно добавить в файл hosts запись
222.222.2.22 site.ru
Теперь в вашем браузере откроется сайт, перенесенный на новый сервер.
KR. Laboratories 26 Декабрь 2021 at 18:18 | #
Спасибо за полезную статью! Еще можно посоветовать воспользоваться популярной базой на gitHub - StevenBlack. В проекте уже готовые файлы hosts с собранными вирусными, шпионскими, вредоносными сайтами.
ответ