Не так давно мы рассмотрели DNS в Linux. Кроме системы доменных имён для сопоставления имени и IP-адреса также может использоваться файл hosts. Думаю, что пользователям Windows он хорошо знаком. Имеется такой файл и в Linux.
Перед тем, как обратиться непосредственно к файлу hosts, скажем пару слов о процедуре поиска IP-адреса для доменного имени в Linux. Порядок очерёдности, в котором операционная система будет обращаться к различным ресурсам (hosts, DNS), определяется файлом /etc/nsswitch.conf. Давайте посмотрим, что в нём.
Нас интересует строка hosts. Именно в ней в порядке очерёдности прописаны ресурсы, к которым обращается операционная система для сопоставления IP-адреса и доменного имени. Если files написано перед dns, это значит, что система сперва обратится в файлу hosts.
Сам файл hosts располагается по соседству. Это /etc/hosts. Посмотрим и его содержимое:
Полагаю, вы уже догадались, как пользоваться файлом /etc/hosts. Синтаксис выглядит следующим образом:
[IP-адрес] [доменное_имя] [алиас]
Например, мы можем прописать сопоставление сайта одной известной социальной сети с адресом 127.0.0.1. Таким образом мы фактически заблокируем его на данном компьютере.
Если после этого запустить
ping vk.com
то можно увидеть, что пингуется адрес 127.0.0.1.
Протоколы HTTP и HTTPS в /etc/hosts указывать не нужно, а вот WWW, если вы его используете, указывайте в качестве алиаса (или добавляйте отдельную запись).
127.0.0.1 sitename.ru www.sitename.ru
Аналогичным образом в файле /etc/hosts можно работать и с IPv6.
Статьи по теме: