Restart hosts in linux

Файл hosts в Linux

Система доменных имен DNS используется для определения, какой IP принадлежит к нужному домену в сети интернет. Когда какой-либо программе понадобится обратиться к сайту по его доменному имени, операционная система отправляет к DNS-серверу запрос, чтобы узнать, по какому IP ей дальше передавать пакеты. Но так происходит не всегда. Например, когда мы обращаемся к домену localhost, то всегда запрос отправляется нашему локальному компьютеру.

Всему причиной файл hosts. Если вы раньше пользовались Windows, то, наверное, уже слышали о таком файле. Там чаще всего он использовался для того, чтобы быстро заблокировать доступ к какому-либо ресурсу. Но применение его гораздо шире. В этой статье мы рассмотрим, как настроить файл hosts в Linux, а также какие возможности он нам предоставляет.

Разрешение доменных имён в Linux

Прежде чем мы перейдём к самому файлу hosts, нужно разобраться, как происходит поиск IP-адреса для доменного имени в Linux. Я говорил, что операционная система сразу же отправляет запрос DNS-серверу, но это не совсем так. Существует определённый порядок поиска, согласно которому он выполняется. Этот порядок установлен в конфигурационном файле /etc/nsswitch.conf

Здесь нас интересует строчка hosts. В ней в порядке очередности записаны службы, которые используются для поиска IP-адреса для доменного имени. Пункт files означает использование файла /etc/hosts, а dns — сервиса доменных имён интернета. Если files расположена перед hosts, это означает, что сначала система попытается найти домен в /etc/hosts, а уже потом по DNS. По умолчанию дело обстоит именно так.

Настройка файла hosts в Linux

Нужный нам файл находится в директории /etc/. Для его открытия можно использовать любой текстовый редактор как в командной строке, так и в графическом интерфейсе, только открывать его нужно с правами суперпользователя. Например, с помощью vim:

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

ip_адрес домен алиас

Обычно первая же строчка создаёт правило для перенаправления всех запросов к домену localhost на локальный IP-адрес — 127.0.0.1:

Также в этом файле по умолчанию размещаются перенаправления для имени вашего компьютера и для IPv6-адресов. Вы можете создать свои настройки для любого нужного домена. Для этого нужно добавить строчку в конец файла. Например, направим все запросы к домену losst.pro на ip 127.0.0.1:

Обратите внимание, что здесь указывается только домен, без протокола. Префикс http или https указывать не нужно, иначе ничего работать не будет. А вот для поддомена www нужно создавать отдельную запись или записывать его в виде алиаса. Например:

127.0.0.1 losst.pro www.losst.pro

Читайте также:  Python установка на linux debian

Теперь при запросе домена losst.pro будет открываться наш локальный IP. Чтобы вернуть доступ к оригинальному ресурсу, достаточно убрать добавленную строчку. Но вы можете использовать не только локальный адрес, но и любой другой. Это очень удобно, если вы только зарегистрировали домен и доменная зона ещё не успела обновиться, а вы уже хотите работать с новым сайтом. Просто добавьте данные в /etc/hosts и работайте как обычно.

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Как перезагрузить etc/hosts в Linux

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

Каждый раз, когда пользователи данной системы пытаются получить доступ к веб-сайту или домену, этот файл просматривается на предмет сопоставления доменных имен с IP-адресами, прежде чем использовать DNS (Domain Name System) для получения правильного IP-адреса. Если в файле etc/hosts есть запись для данного домена/веб-сайта, она имеет приоритет перед DNS.

linux
Как перезагрузить etc/hosts в Linux

Вот формат файла etc/hosts. Каждая строка в нем содержит следующие записи. IP-адрес, за которым следует имя домена и необязательный псевдоним домена.

IP-адрес Доменное имя Доменные псевдонимы

Если какая-либо запись начинается с #, она рассматривается как комментарий. Например, вы можете открыть этот файл в любом текстовом редакторе.

Добавьте в него следующие строки, просто в качестве примера.

127.0.0.1 www.example.com 127.0.0.1 www.example.ru #127.0.0.1 www.example.net

Сохраните и закройте файл.

В приведенном выше файле etc/hosts мы назначили IP-адреса для example.com, example.net и example.ru как localhost 127.0.0.1. Когда ваша система использует этот файл hosts, она будет перенаправлять всех посетителей с вашей системы на example.com и example.ru на localhost вместо их фактических IP-адресов, тем самым эффективно блокируя эти два сайта в вашей системе. Это будет применимо только для людей, просматривающих эти сайты с вашей системы. Но последняя строка, отображающая example.net на localhost, рассматривается как комментарий и не применяется.

В большинстве случаев изменения, внесенные в /etc/hosts, выполняются сразу после закрытия файла. Но вам придется перезапустить приложения, которые кэшируют информацию DNS. Тем не менее, если вы обнаружили, что вышеуказанные изменения не применяются, вы можете перезагрузить файл etc/hosts с помощью следующей команды.

sudo service network-manager restart

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

/bin/systemctl restart systemd-hostnamed

Если в вашей системе используется утилита dnsmasq, вам может потребоваться завершить ее работу для применения изменений.

Читайте также:  Edit text file linux terminal

Иногда для применения изменений может потребоваться перезапуск веб-браузера. Если вы обнаружили, что изменения все еще не применяются, можно просто перезагрузить сетевое подключение или компьютер.

Похожие записи:

Источник

How to reload /etc/hosts after editing in Linux?

A hosts file is responsible for mapping every website’s domain name with its IP address in every operating system. In simple words, it means that whenever we access any domain on our system, the operating system tries to search the hosts’ file for its corresponding IP address.

This article will look at how one can edit the hosts’ file and mitigate any issues associated with it.

Hosts File

As we mentioned earlier, the hosts’ file is responsible for providing the corresponding IP addresses for the domain names. A hosts file can be found in every operating system, and it has priority over Domain Name System (DNS). It means that whenever a domain is accessed, the hosts’ file is searched first for a corresponding IP address.

If the operating system fails to find any associated IP with the domain name in the hosts file, the system then queries the DNS to provide an associated IP. Essentially, the hosts’ file is a map that relates domain names with their respective IP addresses.

People edit their hosts’ files for many different reasons, some of which we will list here. One of the major advantages of editing the hosts’ file is to test a website without changing DNS settings. Editing the hosts’ file can prove to be convenient in a scenario where you want to migrate your website to a new server without changing the domain name first. Moreover, editing the hosts’ files can also be used to block websites on your system.

Hosts File in Linux

Like we said earlier, the hosts’ file is a simple text file containing IP addresses and domain names. The format of the contents of a host’s file is as follows.

IP address Domain Name Domain Aliases

It is worth mentioning that any lines that start with the # symbol are treated as comments in the hosts’ file, meaning that they will not be checked. Comments are created for the user’s own convenience and ignored by a compiler/interpreter. In most Linux systems, the hosts’ file is usually found to be located in /etc/hosts.

Editing the Hosts File in Linux

Now that we have covered some basic ground about what the hosts file is and why someone would want to edit it let us take a deep dive into learning how you can edit it for various purposes. Later, we will come back to reloading it and mitigating any possible problems associated with the process.

Open a new instance of the command terminal by accessing it through the applications menu or by pressing the keyboard shortcut Ctrl + Alt + T.

As we mentioned earlier, the hosts’ file is essentially a text file that contains IP addresses and domain names. So, how does one edit a text file? Through a text editor, of course. The next step is to open the hosts’ file in a text editor, and this can be achieved through the command given below.

Читайте также:  Распаковать tar bz2 linux

Or, if you like using vim, run the command below.

Since we are attempting to open and edit a system file, we are asked to enter our administrator password. This is done for safekeeping, and so once you have authorized root permissions, we can move on to the next step.

As for editing the hosts file is not the main objective of this tutorial; we will only be covering it briefly.

Let’s say, for starters, that you want to block YouTube on your Ubuntu system for whatever reason. This can be done by simply adding a small line of code at the end of the hosts’ file.

You can obviously replace YouTube with any other website of your choice.

So, with that being said, it is time for us to move on to reloading, etc/hosts/ after having edited the hosts’ file. We will now be looking at some commonly occurring issues regarding the subject and their solutions.

The changes that are made in the hosts’ file should take effect immediately. However, in case of any issues, you can follow the steps given below.

After editing the hosts’ file, you need to restart any apps that cache DNS information. As we said earlier, changes should be applied immediately; however, you can run the command below to sort out any cache issues if they don’t.

In the case that the systemd-hostname is not correct, you can restart the system-hostnamed service. You can restart the mentioned service by entering the following command in the command terminal.

Any other issues related to the hosts’ file should probably be mitigated by restarting your network connection or computer. However, if you edit your host’s file very frequently and cannot afford to restart it again and again – try the restart networking command we described earlier in this section.

The problem may as well be as simple as restarting your web browser. These applications do internal hostnames and DNS caching, so consider that rebooting them before continuing surfing the internet is a must.

Lastly, if your system uses dnsmasq, you can try the following command:

Conclusion

In this article, we went into great detail about editing the hosts’ file and reloading it after editing. Lastly, we saw many commands that are useful for eradicating any possible issues with the hosts’ file.

About the author

Zeeman Memon

Hi there! I’m a Software Engineer who loves to write about tech. You can reach out to me on LinkedIn.

Источник

Оцените статью
Adblock
detector