- Файл hosts в Linux
- Что за файл и за что отвечает?
- Расположение hosts
- Как отредактировать hosts?
- Проблемы
- Графическая среда
- How to Edit Hosts File on Linux?
- Why Edit Hosts File?
- How to Edit Hosts File on Linux?
- Block a Website
- Name Service Switch
- Conclusion
- About the author
- Simran Kaur
- Как редактировать файл Hosts в Linux, Windows и Mac
- Как редактировать файл Hosts в Linux
- Шаг 1: Откройте окно терминала (командная строка)
- Шаг 2: Откройте файл Hosts
- Шаг 3: Изменить файл
- Шаг 4 (опциональный): Name Service
- Как отредактировать файл Hosts в Windows
- Шаг 1: Откройте Блокнот как Администратор
- Шаг 2: Откройте файл Windows Hosts
- Шаг 3: Отредактируйте файл
- Как редактировать файл Hosts на Mac
- Шаг 1: Откройте терминал Mac
- Шаг 2. Редактирование файла Hosts
Файл hosts в Linux
Объект hosts исполняет роль шлюза между рабочей станцией и сетевым устройством (или внешней сетью). С его помощью блокируются сайты, перенаправляются запросы и т.д. О том, как его настроить в ОС семейства Linux/Unix, расскажем в публикации.
Что за файл и за что отвечает?
Как уже говорилось выше – файл отвечает за доступ к внешним и внутренним сетевым ресурсам. Он представляет собой текстовый документ с расширением txt. Внутри содержатся две-три строки.
Обращаем внимание, что большая часть строк начинается со знака «хештег». Это означает, что данные предложения – информационные, но не более того.
Как же работает hosts? Принцип следующий:
- Пользователь открывает браузер и вводит адрес сайта (допустим, mail.ru).
- Операционная система сначала проверяет список адресов внутри hosts. Если там присутствует правило, как обрабатывать запросы на адрес mail.ru, то система следует ему.
- В противном случае обращение переходит к DNS-серверам.
Linux сначала обращается к файлу, который содержит порядок обработки таких запросов. Он расположен по пути:
Открываем его через редактор и смотрим.
sudo gedit /etc/nsswitch.conf
Строка hosts говорит о том, в какой порядке будет обработан запрос. По умолчанию идет обращение к локальному файлу, а потом к DNS-серверам.
Расположение hosts
В операционных системах семейства Windows объект находится по следующему пути:
В Linux-системах файл находится по другому «адресу»:
Открывается через любой тестовый редактор. Например, воспользуемся vi:
Важно! ОС семейства Linux по умолчанию требуют права суперпользователя при открытии или редактировании системных файлов.
Как отредактировать hosts?
После открытия файла вносим изменения так же, как и в обычном тестовом документе. Например, администратору требуется перенаправлять запросы с mail.ru на локальный компьютер. Открываем файл hosts через редактор gedit.
Добавляем следующую строку:
Закрываем документ с обязательным сохранением изменений. Теперь каждый раз, когда пользователь будет набирать в адресной строке mail.ru, операционная система направит его на адрес, прописанный в hosts.
В примере указан 127.0.0.1, локальный компьютер. Соответственно, в браузере будет отображаться сообщение о том, что страница недоступна.
Функциональные возможности файла значительно шире вышеописанного метода. К примеру, он может создавать ярлыки, перенаправлять на другие сайты, подменять страницы и т.д.
Проблемы
Несмотря на то, что работа с hosts кажется простой на первый взгляд, временами возникают некоторые проблемы. Расскажем о некоторых из них подробнее.
Для блокировки сайта необходимо указывать адрес как с http, так и без него. Это связано с тем, что некоторые браузеры игнорируют префикс. Другими словами, объект будет выглядеть так:Редактируем строкиПосле внесения изменений сохраняем файл, а потом закрываем его.
- Ручной ввод информации занимает длительное время. Если добавить нужно 2-3 строки, то открыть hosts и отредактировать его займет три-четыре минуты. А если требуется ввести гораздо больше строк?
В таких ситуациях рекомендуется использовать либо графические утилиты с автоматизацией, либо специализированные программные средства – межсетевые экраны, прокси-сервера и т.д.
Графическая среда
Для пользователей, которым сложно работать в терминале, но необходимо автоматизировать процесс, доступно специальное ПО.
Для инсталляции прописываем в терминале следующее:
sudo apt-get install mintnanny
ПО интегрировано в официальный репозиторий Linux Mint (в других системах ее нет).
После установки запускаем утилиту с правами администратора.
В открывшемся окне нажимаем кнопку «Добавить», а потом вводим доменное имя веб-ресурса, которое необходимо закрыть.
How to Edit Hosts File on Linux?
A Hosts file is supported in Linux, Windows, and Mac; they are plain-text files that work to map hostnames to various IP addresses. It is great to edit the Hosts file when you run the test on the specific network. You can also use the mapping of an IP address to skip the process in which the web browser uses the DNS (Domain Name Server) lookup for translating a domain name to a particular IP address.
When a user types a website’s domain name, the domain name needs to translate into a specific IP address. A Hosts file has a top priority over DNS since an operating system checks its Hosts file for a domain and in case there is no entry for that domain. It starts to query the configured DNS servers for resolving the particular domain name. It was the little information about the Hosts file, and we will consider every single aspect on how to edit Hosts files on Linux easily.
Why Edit Hosts File?
There are various reasons for editing hosts file in the Linux machine:
- You can easily block a website.
- You can handle an attack.
- You can create an alias for different locations on a local server.
- You can override addresses that a DNS server delivers.
- You can easily control access to network traffic.
How to Edit Hosts File on Linux?
Open the terminal from applications > utilities > terminal feature, or you can use CTRL, ALT, and T as shortcut keys.
After opening the terminal, open the Linux Hosts file in the system using the following command:
We have used Vim, but you can use different text editors like nano.
Once you execute the command, the system will prompt you to enter the password to open the Hosts file.
You can easily modify the Hosts file, so the file is formatted like the IP address is written first, and the server’s name is on second.
You can add entries at the end of the Hosts file as per your requirements. In case you want to ignore any line or specify the system to not read the line, then you can put the “#” sign at the starting of that particular line. Finally, you can save the file before and make sure you save it before exiting.
Block a Website
If you want to block a particular website from redirecting it to the localhost’s IP address, change the Hosts file’s domain name. For example, we want to block xxyyzz.com, then we can write:
In the above text, 134.1.0.1 is the IP of the localhost, but if you want to make changes in the default route, then you can write:
In the above text, 0.0.0.0 IP is a default route from this particular Hosts file.
At last, you can press CTRL and X keys simultaneously to save the file.
Name Service Switch
As mentioned, a Hosts file works to bypass a Domain Namer server lookup. Still, it has another file that has the information of the operating system about the order for finding the IP address translation.
The nsswitch.conf is a file completely configured for finding the DNS, then skips the Hosts file and goes in the DNS lookup. You can use the below command line for configuration checking easily:
xyz@xyz-virtualBox:~$ cat etc nsswttch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the ‘glibc-doc-reference’ and ‘info’ packages installed, try:
# ‘info libc «Name Service Switch»‘ for information about this file.
passwd: compat systemd
group: compat systemd
shadow: compat
gshadow: files
hosts: files mdns4_minimal [ NOTFOUND = return ] dns myhostname files
networks: db files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
xyz @ xyz-VirtualBox: ~$
There is an entry called “Hosts,” ensuring that the files should be listed in the right-hand column in the above results. In case it is not listed like this, then open your file editor using the below command:
This command will open the Vim text editor to make changes and set the files at the beginning for appropriate use.
Conclusion
The Hosts files are beneficial to perform multiple tasks for domain names and IP addresses. It was the complete information on the Hosts file and how you can easily edit the Hosts file on Linux. This procedure is tried and tested on multiple Linux machines, but you have to carefully follow every step.
About the author
Simran Kaur
Simran works as a technical writer. The graduate in MS Computer Science from the well known CS hub, aka Silicon Valley, is also an editor of the website. She enjoys writing about any tech topic, including programming, algorithms, cloud, data science, and AI. Travelling, sketching, and gardening are the hobbies that interest her.
Как редактировать файл Hosts в Linux, Windows и Mac
Файл hosts в Windows, Mac или Linux сопоставляет имена хостов с IP-адресами. Редактирование файла hosts может быть полезно, если вы запускаете тесты в своей сети. Сопоставляя IP-адрес с именем сервера (или именем домена), вы можете пропустить процесс, в котором веб-браузер использует поиск сервера доменных имен (DNS) для преобразования имени домена в IP-адрес.
Из этого руководства вы узнаете, как редактировать файл hosts в Linux, Windows или Mac.
Как редактировать файл Hosts в Linux
Шаг 1: Откройте окно терминала (командная строка)
В большинстве дистрибутивов Linux терминал можно найти по пути Приложения -> Утилиты -> Терминал, или можно щелкнуть правой кнопкой мыши на рабочем столе и выбрать «Open Terminal» (Открыть терминал).
Шаг 2: Откройте файл Hosts
Чтобы открыть файл hosts в Linux, введите команду:
Система должна запросить ваш пароль — введите его, и файл hosts должен открыться.
Шаг 3: Изменить файл
Файл hosts в Linux отформатирован таким образом, чтобы IP-адрес был первым, а имя сервера — вторым.
Добавьте любые записи, которые вы хотите в конец файла. Если вы допустили ошибку или хотите, чтобы ваша операционная система проигнорировала строку, добавьте знак # в начале этой строки.
Сохраните изменеия и выходите из редактора ( :wq в vim).
Шаг 4 (опциональный): Name Service
Файл hosts обходит стандартный поиск сервера доменных имен. В Linux есть еще один файл, который сообщает операционной системе, в каком порядке искать трансляции IP-адресов. Это файл nsswitch.conf . Если он настроен на просмотр DNS в первую очередь, он пропустит файл hosts и сразу перейдет к поиску DNS.
Чтобы проверить конфигурацию, введите в окне терминала:
Примерно на середине должна быть запись с надписью hosts. Убедитесь, что в правом столбце в первую очередь будет слово files . Если по какой-то причине DNS указан первым, откройте файл nsswitch.conf в текстовом редакторе:
Для параметра hosts: измените запись так, чтобы files находились в начале записи, а dns — в конце.
Как отредактировать файл Hosts в Windows
Шаг 1: Откройте Блокнот как Администратор
Для этой операции вам потребуются права администратора.
- Нажмите Пуск или кнопку Windows и введите Блокнот. Функция поиска найдет приложение «Блокнот».
- Щелкните правой кнопкой мыши на приложении «Блокнот» и выберите «Запуск от имени администратора».
- Должно появиться окно контроля учетных записей Windows с вопросом «Хотите ли вы, чтобы это приложение могло вносить изменения в ваше устройство?» Нажмите Да.
Шаг 2: Откройте файл Windows Hosts
- В блокноте нажмите Файл ->Открыть
- Перейдите к C:windowssystem32driversetc
- В правом нижнем углу, чуть выше кнопки Открыть, щелкните раскрывающееся меню, чтобы изменить тип файла на Все файлы.
- Выберите hosts и нажмите Открыть.
Шаг 3: Отредактируйте файл
Файл hosts дает вам краткое объяснение того, как написать новую строку. Вот краткая разбивка:
Первый набор из четырех цифр — это IP-адрес, который вы мапите. Это может быть внутренний IP-адрес сервера в сети или IP-адрес веб-сайта.
Вторая часть — это имя, которое вы хотите ввести в браузере для доступа к серверу по IP-адресу, который вы только что указали.
Когда вы закончите вносить изменения, сохраните файл (Файл -> Сохранить) и выйдите.
Вы можете указать Windows игнорировать любую строку, поставив знак # в начале этой строки.
Как редактировать файл Hosts на Mac
Шаг 1: Откройте терминал Mac
Откройте Finder и перейдите в Приложения -> Утилиты -> Терминал и введите следующее:
sudo nano /private/etc/hosts
Система должна попросить вас ввести пароль — это тот же пароль, который вы используете для входа в систему. Введите его и нажмите Enter.
Шаг 2. Редактирование файла Hosts
Тут IP-адрес идет первым, а имя сервера — вторым. Комментарии отмечены знаком # . Рассмотрим пример ниже:
Сначала введите IP-адрес, на который вы хотите сослаться, пробел, а затем имя сервера (или доменное имя), которое вы хотите связать с ним.
Сохраните изменения, нажав Command + O , затем выйдите, нажав Command + X.