Файл Hosts в Linux

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

Файл hosts - это простой текстовый файл, расположенный в папке etc в Linux и Mac OS (/etc/hosts). Windows также имеет файл hosts, в Windows вы можете найти его в папке Windows\System32\drivers\etc\

Вот как это выглядит:

Файл /etc/hosts в Linux

Из того, что мы упомянули, вы, возможно, ожидаете, что этот файл будет содержать очень длинный список IP-адресов и соответствующих им имен хостов; но это не так. Файл hosts содержит всего несколько строк;

  • Первая часть, по умолчанию, содержит имена хостов и IP-адреса вашего localhost и машины. Это та часть, которую вы обычно изменяете для внесения нужных изменений.
  • Вторая часть содержит информацию о хостах с поддержкой IPv6, и вы вряд ли будете редактировать эти строки.

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

Зачем редактировать файл /etc/hosts?

Редактируя файлы hosts, вы можете добиться следующих результатов:

  • Заблокировать веб-сайт
  • справиться с атакой или решить проблему розыгрыша
  • Создать псевдоним для адресов на вашем локальном сервере
  • переопределять адреса, которые предоставляет ваш DNS-сервер
  • контролировать доступ к сетевому трафику

Как редактировать файл /etc/hosts?

Редактировать текстовый файл hosts, расположенный по адресу /etc/hosts, можно только в качестве суперпользователя. Сначала вам придется открыть его в текстовых редакторах, таких как VI editor, Nano editor или gedit и т.д. в терминале Linux. Затем вы внесете необходимые изменения и сохраните файл, чтобы эти изменения вступили в силу.

В этой статье мы будем использовать редактор Nano для редактирования файла. Пожалуйста, введите следующую команду:

Или

Как уже упоминалось, мы будем редактировать первую часть файла hosts, где задаются IP-адреса и имена хостов. Ниже мы расскажем о двух способах использования файла hosts:

  • Заблокировать веб-сайт
  • Доступ к удаленному компьютеру через псевдоним

Блокирование веб-сайта

Вы можете заблокировать сайт, перенаправив его на IP вашего localhost или маршрут по умолчанию.

Например, если мы хотим заблокировать сайт google.com, мы можем добавить следующий текст в наш файл:

Теперь, когда мы откроем сайт google, наша система возьмет IP нашего localhost (127.0.0.1) из файла hosts и перенаправит нас на него вместо IP google с нашего DNS-сервера.

ИЛИ

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

Вот как будет выглядеть отредактированный файл. Пожалуйста, сохраните изменения, нажав ctrl+X.

Отредактированный файл hosts для блокировки доступа к домену

Теперь, когда вы попытаетесь открыть www.google.com из браузера, вы увидите сообщение об ошибке следующего вида:

Сайт успешно заблокирован на рабочем столе

Обратите внимание, что в файле hosts мы указали полный адрес www.google.com, а не только имя хоста google.com, поскольку современные браузеры иногда обходят блокировку, если мы указываем только последнее.

Существует также несколько предопределенных списков блокировок, которые вы можете использовать в своем файле hosts: https://github.com/StevenBlack/hosts.

Доступ к удаленному компьютеру через псевдоним

Предположим, у нас есть сервер, расположенный в локальной сети, к которому мы хотим получить доступ. Обычно нам приходится вводить IP-адрес сервера, чтобы получить к нему доступ, если он не определен в локальном DNS. Один из способов избежать ввода IP снова и снова - назначить псевдоним серверу в файле hosts следующим образом:

IP соответствует местоположению сервера, к которому мы хотим получить доступ, а myserver - это новый псевдоним, который мы хотим использовать.

Перенаправление домена на новый IP

Теперь, когда мы сохранили файл и набрали myserver в адресной строке, мы будем перенаправлены на наш удаленный сервер.

Мы узнали, что, внеся очень простые изменения в файл hosts, мы можем настраивать и, таким образом, перенаправлять сетевой трафик в соответствии с нашими потребностями. Мы также можем избавиться от сетевой атаки или розыгрыша, восстановив файл hosts по умолчанию.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий