Объект hosts исполняет роль шлюза между рабочей станцией и сетевым устройством (или внешней сетью). С его помощью блокируются сайты, перенаправляются запросы и т.д. О том, как его настроить в ОС семейства Linux/Unix, расскажем в публикации.
Что за файл и за что отвечает?
Как уже говорилось выше – файл отвечает за доступ к внешним и внутренним сетевым ресурсам. Он представляет собой текстовый документ с расширением txt. Внутри содержатся две-три строки.
Обращаем внимание, что большая часть строк начинается со знака "хештег". Это означает, что данные предложения – информационные, но не более того.
Как же работает hosts? Принцип следующий:
- Пользователь открывает браузер и вводит адрес сайта (допустим, mail.ru).
- Операционная система сначала проверяет список адресов внутри hosts. Если там присутствует правило, как обрабатывать запросы на адрес mail.ru, то система следует ему.
- В противном случае обращение переходит к 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
Важно! После ввода IP-адреса обязательно нажимаем клавишу Tab, а потом вводим адрес сайта.
Закрываем документ с обязательным сохранением изменений. Теперь каждый раз, когда пользователь будет набирать в адресной строке mail.ru, операционная система направит его на адрес, прописанный в hosts.
В примере указан 127.0.0.1, локальный компьютер. Соответственно, в браузере будет отображаться сообщение о том, что страница недоступна.
Функциональные возможности файла значительно шире вышеописанного метода. К примеру, он может создавать ярлыки, перенаправлять на другие сайты, подменять страницы и т.д.
Важно! Дополнительная информация по работе с файлом доступна по команде: man hosts.
Проблемы
Несмотря на то, что работа с hosts кажется простой на первый взгляд, временами возникают некоторые проблемы. Расскажем о некоторых из них подробнее.
- Ручной ввод информации занимает длительное время. Если добавить нужно 2-3 строки, то открыть hosts и отредактировать его займет три-четыре минуты. А если требуется ввести гораздо больше строк?
В таких ситуациях рекомендуется использовать либо графические утилиты с автоматизацией, либо специализированные программные средства – межсетевые экраны, прокси-сервера и т.д.
Графическая среда
Для пользователей, которым сложно работать в терминале, но необходимо автоматизировать процесс, доступно специальное ПО.
Важно! Программа является авторской разработкой под операционную систему Linux Mint.
Для инсталляции прописываем в терминале следующее:
sudo apt-get install mintnanny
ПО интегрировано в официальный репозиторий Linux Mint (в других системах ее нет).
После установки запускаем утилиту с правами администратора.
sudo mintnanny
В открывшемся окне нажимаем кнопку «Добавить», а потом вводим доменное имя веб-ресурса, которое необходимо закрыть.
Программа проста в управлении и обладает минимум функций.
Важно! Когда вводим адрес, указывать www необязательно, потому что продукт автоматически сделает запись.
Если необходимо удалить внесенную запись, то сначала выбираем адрес, а только потом активируем «Удалить».
Изменения сохраняются автоматически.
Mintnanny не является панацей, но работать через нее некоторым пользователям удобнее, чем через текстовые редакторы. Как уже говорилось выше, для получения более гибкой и надежной настройки рекомендуется использовать файрволы или другие программные средства.
Заключение
Статья рассказала о системном файле hosts, который отвечает за предоставление доменных имен в соответствии с запрошенным IP-адресом. Рассмотрены способы его редактирования и принцип взаимодействия с операционной системой Linux/Unix.
Автор материала: Илья Подгорнов
Подписывайтесь на наш канал и ставьте лайки! А еще можете посетить наш официальный сайт.