Найти тему
Tehnichka.pro

Файл hosts в Linux

Оглавление

Объект hosts исполняет роль шлюза между рабочей станцией и сетевым устройством (или внешней сетью). С его помощью блокируются сайты, перенаправляются запросы и т.д. О том, как его настроить в ОС семейства Linux/Unix, расскажем в публикации.

Что за файл и за что отвечает?

Как уже говорилось выше – файл отвечает за доступ к внешним и внутренним сетевым ресурсам. Он представляет собой текстовый документ с расширением txt. Внутри содержатся две-три строки.

Текст внутри файла
Текст внутри файла

Обращаем внимание, что большая часть строк начинается со знака "хештег". Это означает, что данные предложения – информационные, но не более того.

Как же работает hosts? Принцип следующий:

  1. Пользователь открывает браузер и вводит адрес сайта (допустим, mail.ru).
  2. Операционная система сначала проверяет список адресов внутри hosts. Если там присутствует правило, как обрабатывать запросы на адрес mail.ru, то система следует ему.
  3. В противном случае обращение переходит к DNS-серверам.

Linux сначала обращается к файлу, который содержит порядок обработки таких запросов. Он расположен по пути:

/etc/nsswitch.conf

Содержимое файла конфигурации
Содержимое файла конфигурации

Открываем его через редактор и смотрим.

sudo gedit /etc/nsswitch.conf

Строка hosts говорит о том, в какой порядке будет обработан запрос. По умолчанию идет обращение к локальному файлу, а потом к DNS-серверам.

Расположение hosts

В операционных системах семейства Windows объект находится по следующему пути:

C:\Windows\System32\Drivers\etc

В Linux-системах файл находится по другому «адресу»:

/etc/hosts

Открывается через любой тестовый редактор. Например, воспользуемся vi:

sudo vi /etc/hosts

Важно! ОС семейства Linux по умолчанию требуют права суперпользователя при открытии или редактировании системных файлов.

Как отредактировать hosts?

После открытия файла вносим изменения так же, как и в обычном тестовом документе. Например, администратору требуется перенаправлять запросы с mail.ru на локальный компьютер. Открываем файл hosts через редактор gedit.

sudo gedit /etc/hosts

Добавляем следующую строку:

127.0.0.1 mail.ru

Редактируем hosts
Редактируем hosts
Важно! После ввода IP-адреса обязательно нажимаем клавишу Tab, а потом вводим адрес сайта.

Закрываем документ с обязательным сохранением изменений. Теперь каждый раз, когда пользователь будет набирать в адресной строке mail.ru, операционная система направит его на адрес, прописанный в hosts.

В примере указан 127.0.0.1, локальный компьютер. Соответственно, в браузере будет отображаться сообщение о том, что страница недоступна.

Функциональные возможности файла значительно шире вышеописанного метода. К примеру, он может создавать ярлыки, перенаправлять на другие сайты, подменять страницы и т.д.

Важно! Дополнительная информация по работе с файлом доступна по команде: man hosts.

Проблемы

Несмотря на то, что работа с hosts кажется простой на первый взгляд, временами возникают некоторые проблемы. Расскажем о некоторых из них подробнее.

Для блокировки сайта необходимо указывать адрес как с http, так и без него. Это связано с тем, что некоторые браузеры игнорируют префикс. Другими словами, объект будет выглядеть так:Редактируем строкиПосле внесения изменений сохраняем файл, а потом закрываем его.
Для блокировки сайта необходимо указывать адрес как с http, так и без него. Это связано с тем, что некоторые браузеры игнорируют префикс. Другими словами, объект будет выглядеть так:Редактируем строкиПосле внесения изменений сохраняем файл, а потом закрываем его.
  1. Ручной ввод информации занимает длительное время. Если добавить нужно 2-3 строки, то открыть hosts и отредактировать его займет три-четыре минуты. А если требуется ввести гораздо больше строк?

В таких ситуациях рекомендуется использовать либо графические утилиты с автоматизацией, либо специализированные программные средства – межсетевые экраны, прокси-сервера и т.д.

Графическая среда

Для пользователей, которым сложно работать в терминале, но необходимо автоматизировать процесс, доступно специальное ПО.

Важно! Программа является авторской разработкой под операционную систему Linux Mint.

Для инсталляции прописываем в терминале следующее:

sudo apt-get install mintnanny

ПО интегрировано в официальный репозиторий Linux Mint (в других системах ее нет).

После установки запускаем утилиту с правами администратора.

sudo mintnanny

В открывшемся окне нажимаем кнопку «Добавить», а потом вводим доменное имя веб-ресурса, которое необходимо закрыть.

Работа с mintnanny
Работа с mintnanny

Программа проста в управлении и обладает минимум функций.

Важно! Когда вводим адрес, указывать www необязательно, потому что продукт автоматически сделает запись.

Если необходимо удалить внесенную запись, то сначала выбираем адрес, а только потом активируем «Удалить».

Редактируем записи
Редактируем записи

Изменения сохраняются автоматически.

Mintnanny не является панацей, но работать через нее некоторым пользователям удобнее, чем через текстовые редакторы. Как уже говорилось выше, для получения более гибкой и надежной настройки рекомендуется использовать файрволы или другие программные средства.

Заключение

Статья рассказала о системном файле hosts, который отвечает за предоставление доменных имен в соответствии с запрошенным IP-адресом. Рассмотрены способы его редактирования и принцип взаимодействия с операционной системой Linux/Unix.

Автор материала: Илья Подгорнов

Подписывайтесь на наш канал и ставьте лайки! А еще можете посетить наш официальный сайт.