- Файл hosts: где находится и как его изменить
- Зачем нужен файл hosts
- Где находится файл hosts
- Как внести изменения в файл hosts
- Видеосправка. Как изменить файл hosts
- Блокировка доступа к сайту через файл 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
- How to Edit the Hosts File in Ubuntu Linux
- Adding Hosts to /etc/hosts
Файл hosts: где находится и как его изменить
Файл hosts — текстовый документ, который содержит в себе информацию о домене и IP-адресе, который ему соответствует. Файл hosts появился во времена зарождения Интернета (ARPANET) и служил неким маршрутизатором, пока на замену ему не пришла служба DNS. Но до сих пор он не утратил важности и по-прежнему используется как инструмент, который обладает приоритетом перед обращением к DNS-серверам.
Зачем нужен файл hosts
Предположим: вы зарегистрировали домен и привязали его к Hosting Linux. Но чтобы увидеть сайт, вам нужно дождаться делегирования домена на DNS-серверы. В файле hosts вы можете указать ваш домен и IP-адрес хостинга, а затем открыть браузер и зайти на ваш сайт, не дожидаясь делегирования домена. Также с его помощью вы можете заблокировать на локальном компьютере доступ к определённому сайту, указав соответствующую запись.
Где находится файл hosts
Путь к папке, где лежит файл hosts, зависит от операционной системы, которая установлена на вашем компьютере:
- Windows XP, 2003, Vista, 7, 8, 10 — c:\windows\system32\drivers\etc\hosts
- Linux, Ubuntu, Unix, BSD — /etc/hosts
- macOS — /private/etc/hosts
Редактировать файл etc hosts нужно от имени администратора, иначе вы не сможете сохранить внесённые изменения.
Как внести изменения в файл hosts
Ниже мы рассмотрим, как редактировать и как сохранить изменения в файле hosts. Важно открыть файл с правами администратора, иначе система не даст вам его сохранить. Выберите вашу операционную систему и следуйте инструкции или посмотрите видеоинструкцию:
Запустите Блокнот или любой другой редактор от имени администратора. Откройте Пуск, найдите нужный редактор, нажмите по нему правой кнопкой мыши и выберите Запуск от имени администратора: Как отредактировать файл hosts
В меню «Файл» нажмите Открыть и перейдите в каталог, в котором расположен файл hosts. Измените тип файла на «Все файлы»:
123.123.123.123 faq-reg.ru www.faq-reg.ru
- 123.123.123.123 — IP-адрес вашего сервера или хостинга,
- faq-reg.ru — имя вашего домена.
Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.
Чтобы изменить файл hosts в виндовс 10 (8), выполните следующие действия:
Запустите Блокнот или любой другой редактор от имени администратора. Для этого найдите его в Пуске, нажмите по нему правой кнопкой мыши и выберите Запуск от имени администратора:
В меню «Файл» нажмите Открыть и перейдите в каталог, где находится файл hosts. Измените тип файла на «Все файлы»:
123.123.123.123 faq-reg.ru www.faq-reg.ru
- 123.123.123.123 — IP-адрес вашего сервера или хостинга,
- faq-reg.ru — имя вашего домена.
Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.
В Linux файл hosts находится в папке etc. Чтобы отредактировать его:
123.123.123.123 faq-reg.ru www.faq-reg.ru
- 123.123.123.123 — IP-адрес вашего сервера или хостинга,
- faq-reg.ru — имя вашего домена.
Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.
Файл hosts в Ubuntu редактируется так же, как и во всех Unix-системах.
Файл hosts в Mac OS расположен в каталоге: /private/etc/hosts. Чтобы изменить его:
Нажмите Enter:
123.123.123.123 faq-reg.ru www.faq-reg.ru
- 123.123.123.123 — IP-адрес вашего сервера или хостинга,
- faq-reg.ru — имя вашего домена.
Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.
Видеосправка. Как изменить файл hosts
Блокировка доступа к сайту через файл hosts
Доступ к сайту также можно ограничить для локального компьютера. Для этого укажите адрес страницы (домен) в файле hosts. Заблокировать IP нежелательного сайта не требуется. Блокировка осуществляется по локальному хосту с фиксированным IP (127.0.0.1):
В указанной на скриншоте строке укажите IP-адрес 127.0.0.1 и через пробел адрес нежелательного сайта. Чтобы заблокировать несколько сайтов, повторите действие в следующей строке. В примере ниже в файле hosts отказано в доступе (заблокирован доступ) к сайтам «vk.com» и «youtube.com»:
Готово! Доступ к сайтам будет ограничен на определенном ПК.
Оригинальный файл hosts и как его восстановить
Скачать содержимое файла hosts можно на разных ресурсах. Но мы не рекомендуем делать это, так как файл может быть заражен.
Файл hosts по умолчанию есть в каждой операционной системе, но он может быть скрыт для просмотра. Следуя инструкциям выше, вы сможете его открыть и отредактировать. Если вы удалили его, то просто создайте текстовый файл без расширения в нужной папке.
По умолчанию файл hosts выглядит следующим образом:
# Copyright (c) 1993-2006 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handle within DNS itself. # 127.0.0.1 localhost # ::1 localhost
127.0.0.1 localhost 127.0.1.1 user # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
где user (во второй строке) — это имя вашего компьютера.
## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost
Удалите текущее содержимое из файла hosts, вставьте текст по умолчанию и сохраните изменения.
Теперь вы знаете, как должен выглядеть файл hosts и как с ним работать.
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.
How to Edit the Hosts File in Ubuntu Linux
The hosts file which is located at /etc/hosts is a very important network configuration file. The /etc/hosts file is a static DNS file with a list of computer names and their corresponding addresses.
Adding Hosts to /etc/hosts
To edit or add a new host to the hosts file, you need to open this file in a text editor. You can use any editor that you like, but if you are working on an Ubuntu server, you need to use a command line editor like vim, nano or emacs.
The format of the /etc/hosts file is very simple. Each DNS entry should contain at least two columns. The first column has the IP address of the computer, and the second column specifies the domain name/hostname.
192.168.1.10 server1.example.com
This tells the Ubuntu system that IP address of the server1.example.com is 192.168.1.10 (simple as that).
The domain name or the hostname can be provided as a short name (e.g. server1), or as a Fully qualified domain name (FQDN) like www.example.com.
192.168.1.10 server1 192.168.1.20 server2 192.168.1.30 www.example.com
If a computer has more than one name, you can specify more than one name on a single line as shown in the following screenshot.
In the example, the 192.168.1.10 host has both the short name (server1) and fully qualified domain name (server1.localdomain.local) included in the Ubuntu hosts file.
Ubuntu utilizes the /etc/hosts file, as well as DNS services to look up IP Addresses. When communicating with a remote computer by their name (instead of IP address), the Ubuntu domain name lookup service looks first in the /etc/hosts file before consulting DNS servers.
If an entry found in this file, the Ubuntu system will not communicate with a DNS server to resolve the IP address. Therefore, you can use the /etc/hosts file is to override an address that a DNS server is giving you.
However, this also means if the name record found in this file is incorrect, then the communication will fail. When you troubleshoot such problem make sure to check the /etc/hosts file to see if there are any DNS record for the given domain name.