Файл hosts отвечает за сопоставление доменного имени каждого веб-сайта с его IP-адресом в каждой операционной системе. Проще говоря, это означает, что всякий раз, когда мы обращаемся к любому домену в нашей системе, операционная система пытается найти в файле хостов соответствующий IP-адрес.
В этой статье будет рассмотрено, как можно отредактировать файл hosts и устранить любые проблемы, связанные с ним.
Как мы упоминали ранее, файл hosts отвечает за предоставление соответствующих IP-адресов для доменных имен. Файл hosts можно найти в любой операционной системе, и он имеет приоритет над системой доменных имен (DNS). Это означает, что всякий раз, когда осуществляется доступ к домену, сначала выполняется поиск соответствующего IP-адреса в файле hosts.
Если операционная система не может найти какой-либо связанный IP-адрес с доменным именем в файле hosts, система затем запрашивает DNS, чтобы предоставить связанный IP. По сути, файл hosts — это карта, которая связывает доменные имена с соответствующими IP-адресами.
Люди редактируют файлы своих хостов по разным причинам, некоторые из которых мы перечислим здесь. Одним из основных преимуществ редактирования файла hosts является тестирование веб-сайта без изменения настроек DNS. Редактирование файла hosts может оказаться удобным в сценарии, когда вы хотите перенести свой веб-сайт на новый сервер без предварительного изменения доменного имени. Более того, редактирование файлов хостов также может использоваться для блокировки веб-сайтов в вашей системе.
Как мы уже говорили ранее, файл hosts — это простой текстовый файл, содержащий IP-адреса и доменные имена. Формат содержимого файла хоста следующий.
IP address Domain Name Domain Aliases
Стоит отметить, что любые строки, начинающиеся с символа #, обрабатываются как комментарии в файле hosts, что означает, что они не будут проверяться. Комментарии создаются для удобства пользователя и игнорируются компилятором/интерпретатором. В большинстве систем Linux файл hosts обычно находится в /etc/hosts.
Теперь, когда мы рассмотрели некоторые основные сведения о том, что такое файл hosts и почему кто-то захочет его редактировать, позвольте нам глубоко погрузиться в изучение того, как вы можете редактировать его для различных целей. Позже мы вернемся к его перезагрузке и устранению любых возможных проблем, связанных с процессом.
Откройте новый экземпляр командного терминала, войдя в него через меню приложений или нажав сочетание клавиш Ctrl + Alt + T.
Как мы упоминали ранее, файл hosts — это, по сути, текстовый файл, содержащий IP-адреса и доменные имена. Итак, как редактировать текстовый файл? Конечно, через текстовый редактор. Следующим шагом является открытие файла hosts в текстовом редакторе, и это можно сделать с помощью команды, приведенной ниже.
$ sudo nano /etc/hosts
Или, если вам нравится использовать vim, выполните команду ниже.
$ vim /etc/hosts
Поскольку мы пытаемся открыть и отредактировать системный файл, нам предлагается ввести пароль администратора. Это сделано для сохранности, поэтому, как только вы авторизуете права root, мы можем перейти к следующему шагу.
Что касается редактирования файла hosts не является основной целью этой статьи; мы рассмотрим это только вкратце.
Предположим для начала, что вы хотите заблокировать YouTube в своей системе Ubuntu по какой-либо причине. Это можно сделать, просто добавив небольшую строку кода в конец файла hosts.
127.0.0.1 www.youtube.com
Очевидно, вы можете заменить YouTube любым другим веб-сайтом по вашему выбору.
Итак, с учетом сказанного, нам пора перейти к перезагрузке etc/hosts/ после редактирования файла hosts. Теперь мы рассмотрим некоторые часто возникающие проблемы, связанные с этим предметом, и способы их решения.
Изменения, внесенные в файл hosts, должны немедленно вступить в силу. Однако в случае возникновения каких-либо проблем вы можете выполнить действия, указанные ниже.
После редактирования файла hosts вам необходимо перезапустить все приложения, которые кэшируют информацию DNS. Как мы уже говорили ранее, изменения следует применять немедленно; однако вы можете запустить приведенную ниже команду, чтобы решить любые проблемы с кешем, если они этого не делают.
$ sudo service network-manager restart
В случае, если имя-хоста-systemd неверно, вы можете перезапустить службу с именем-хостом-системой. Вы можете перезапустить упомянутую службу, введя следующую команду в командном терминале.
$ /bin/systemctl restart systemd-hostnamed
Любые другие проблемы, связанные с файлом hosts, вероятно, следует устранить, перезапустив сетевое соединение или компьютер. Однако, если вы очень часто редактируете файл хоста и не можете позволить себе перезапускать его снова и снова, попробуйте команду перезапуска сети, которую мы описали ранее в этом разделе.
Проблема может быть столь же простой, как перезапуск вашего веб-браузера. Эти приложения выполняют внутренние имена хостов и кэшируют DNS, поэтому имейте в виду, что их перезагрузка перед продолжением работы в Интернете является обязательной.
Наконец, если ваша система использует dnsmasq, вы можете попробовать следующую команду:
$ pkill -HUP dnsmasq
В этой статье мы подробно рассмотрели редактирование файла hosts и его перезагрузку после редактирования. Наконец, мы увидели много команд, которые полезны для устранения любых возможных проблем с файлом hosts.