В этой статье мы расскажем всё о файле hosts в Linux. Файл hosts предназначен для сопоставления доменного имени с его IP-адресом. В этом файле мы можем настроить, какие веб-сайты могут получать доступ к системе, как можно разрешать определённые имена хостов, какие веб-сайты мы хотим заблокировать и т. д. В следующих разделах мы расскажем о файле hosts, о том, как найти расположение файла hosts в Linux, как он используется и как его редактировать в любой операционной системе Linux.
Для редактирования файлов хоста требуются права суперпользователя на сервере или права пользователя с привилегиями sudo. Это важно, потому что в конце руководства мы объясним, как редактировать файлы хоста в Linux, на реальных примерах. Давайте начнём!
Файл hosts в Linux можно рассматривать как ручное переопределение DNS-запросов на сервере. Это текстовый файл, в котором имена хостов сопоставляются с общедоступными и частными IP-адресами. Файл хостов в Linux имеет решающее значение для операционной системы, поскольку ОС проверяет основное имя хоста перед взаимодействием с DNS-сервером. С точки зрения пользователя, при доступе к веб-сайту в браузере компьютер сначала проверяет файл хостов, чтобы найти правильный IP-адрес для разрешения запрошенного домена. Интернет-провайдер проверит DNS-сервер, чтобы убедиться, что IP-адрес не указан в файле хостов. Файл хостов важен, потому что операционная система или локальный компьютер всегда отдают предпочтение файлу хостов, а не DNS-серверу.
Изменение файла хоста позволяет протестировать веб-сайт без использования DNS-записи. С помощью этого механизма вы можете изменить настройки DNS для домена только на своём рабочем компьютере. Изменение локального файла хоста позволяет локальному компьютеру использовать IP-адреса, указанные в файле, вместо поиска DNS. Обычно это делается при переносе сервера. Например, перед изменением A-записи домена пользователям необходимо протестировать перенесённый веб-сайт на совместимость с новой ОС.
Ниже перечислены наиболее распространённые причины для редактирования файла hosts: тестирование приложений, переопределение DNS, блокировка сайтов, тестирование балансировщиков нагрузки, использование псевдонимов серверов и т. д. Файл hosts представляет собой обычный текст, который можно редактировать с помощью любого текстового редактора в зависимости от вашей операционной системы. В ОС Linux вы можете использовать nano, vim, vi, gedit и т. д. Это зависит от того, какой текстовый редактор больше подходит пользователю. В следующем абзаце показано, как просмотреть и отредактировать расположение файла hosts в ОС Linux.
Прежде чем просматривать или редактировать файл «hosts» в Linux, необходимо знать его расположение. Файл «hosts» в Linux находится по адресу /etc/hosts на любом сервере Linux. Чтобы просмотреть файл «hosts» в Linux, выполните следующую команду на сервере Linux:
cat /etc/hosts
Вы должны получить результат, подобный этому:
root@host:~# cat /etc/hosts 127.0.0.1 localhost 127.0.0.1 host.test.vps # Следующие строки желательны для хостов с поддержкой IPv6 ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Как видите, host.test.vps локально указывает на 127.0.0.1.
Прежде чем редактировать файл hosts в Linux, рекомендуется создать его резервную копию на случай, если что-то пойдёт не так. Для этого выполните следующую команду:
cp /etc/hosts /etc/hosts.backup
Теперь, когда у вас есть резервная копия файла hosts в Linux, вы можете открыть его и отредактировать в соответствии со своими потребностями. Чтобы изменить файл хоста, вы можете создать запись для домена, которая будет указывать на IP-адрес, который вы хотите использовать для сайта. Откройте файл /etc/hosts в вашем любимом редакторе и вставьте следующие строки кода:
192.168.10.15 example.com
Это означает, что при доступе к доменному имени example.com в вашем браузере оно будет преобразовано в IP-адрес 192.168.10.15
Сохраните файл и закройте его.
127.0.0.1 localhost 127.0.0.1 host.test.vps 192.168.10.15 example.com # 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
Конечно, вы измените IP-адрес и доменное имя, которые хотите использовать. Самое важное — следовать приведённому ниже синтаксису:
[IP-Address-Here] [Domain-Name-Here] [Alias-1-If-Needed] [Alias-1-If-Needed] ...
Затем вы можете добавить псевдонимы к доменному имени, если хотите их использовать.
Файлы /etc/hosts.allow и /etc/hosts.deny также являются файлами hosts, которые мы должны упомянуть и не игнорировать.
Файл /etc/hosts.allow явно определяет IP-адреса, домены и имена хостов, которым разрешён доступ. Файл hosts.allow сопоставляет службы с IP-адресами. Например, если вы хотите, чтобы IP-адрес 192.168.10.15 имел доступ к службе SSH, вам нужно открыть файл /etc/hosts.allow в вашем любимом редакторе и вставить следующую строку кода:
sshd: 192.168.10.15
Файл /etc/hosts.allow работает с файлом /etc/hosts.deny, разрешая или запрещая доступ к компьютеру. Если вы хотите ограничить доступ к IP-адресу 192.168.10.15, откройте файл /etc/hosts.deny и вставьте ту же строку кода:
sshd: 192.168.10.15
Строка кода одна и та же, но она зависит от того, в какой файл вы её вставите. Файлы хоста Linux — отличный способ контролировать, какие компьютеры могут получить доступ к вашему серверу.
Вот и всё. Вы успешно отредактировали файл хостов Linux на своём сервере. Вы узнали, как настроить, какие домены разрешать и какие IP-адреса могут получать доступ к вашему серверу, а какие нет.
PS. Если вам понравилась эта статья о том, как просматривать и редактировать расположение файла хоста в Linux, пожалуйста, поделитесь ею со своими друзьями или оставьте комментарий ниже.