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?

Linux управление файлом hosts

В файле 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

Теперь в вашем браузере откроется сайт, перенесенный на новый сервер.

Комментарии (1)

  • KR. Laboratories

    KR. Laboratories

    26 Декабрь 2021 at 18:18 | #

    Спасибо за полезную статью! Еще можно посоветовать воспользоваться популярной базой на gitHub - StevenBlack. В проекте уже готовые файлы hosts с собранными вирусными, шпионскими, вредоносными сайтами.

    ответ

Оставить комментарий

Вы комментируете как Гость.
Комментарии блога
  • Игорь
    12. Май, 2022
    Здравствуйте. Вы не подскажите, как сделать сбор всех комментариев в одном...
  • KR. Laboratories
    26. Декабрь, 2021
    Спасибо за полезную статью! Еще можно посоветовать воспользоваться...
  • irmaseo.ru
    09. Октябрь, 2020
    Очень полезная информация, спасибо
  • yan
    yan
    27. Июнь, 2020
    на manjaro может кому пригодится

    /home/yan/snap/opera/79/.config/opera/File System/
  • вася
    вася
    21. Июнь, 2020
    благодарочка
  • Владимир
    Владимир
    13. Апрель, 2020
    А как быть с андроидом? На планшете памяти хватило только на этот...
  • Владимир
    Владимир
    01. Апрель, 2020
    Вообще не помогло. Atheros как отваливался, так и отваливается. Каждый раз...
  • Дмитрий
    Дмитрий
    24. Февраль, 2020
    Спасибо. Думал не найду. 5 часов времени. Драйвера раза четыре переустанавливал. А все так просто было.
  • Алексей
    Алексей
    04. Сентябрь, 2019
    Лучше использовать универсальный способ создания карты сайта, на сайте частника Константина Гайдука есть инструкция.
  • dfgdrfg
    dfgdrfg
    05. Апрель, 2019
    ну и дерьмо эта мега, это словами не передать какой шлак
Подпишись и ты!
Яндекс Виджет
Последняя работа

Услуги
  • Создание сайтов
  • Доработка сайтов на Wordpress
  • Обслуживание сайтов
Контакты
  • Тверская область
  • г. Вышний Волочек
  • ул. 9-го Января, д.21, кв. 107
  • info@brain8torm.ru
  • brainstorm@programist.ru
  • +7 (915) 734-3849
  • +7 (904) 350-9777