Фишки /etc/hosts
Хочу рассказать о несколько нестандартном способе с помощью которого можно открывать в браузере сайты, используя короткие имена. Например, вместо того чтобы набирать в браузере «yandex.ru» можно просто набрать одну букву «y». Поможет нам в этом файл /etc/hosts.
Файл /etc/hosts
В файле /etc/hosts задаются соответствия между IP адресом и именем хоста (hostname, домен), а также их псевдонимами (также называются, синонимами, алиасами). Когда вы обращаетесь к какому-нибудь адресу в сети, например, http://yandex.ru, то для доступа к сайту системе требуется вначале преобразовать адрес сайта в соответствующий ему IP адрес, для этого система запрашивает IP адрес у DNS сервера. Если в файле /etc/hosts прописано соответствие между yandex.ru и IP адресом, тогда система будет использовать именно этот IP адрес. А так как мы можем в файле /etc/hosts указать еще и псевдоним, по которому будет доступен конкретный IP адрес, то мы можем указать, например, для yandex.ru псевдоним «y». Соответственно, при запросе «y» в своем браузере, система прочитает IP адрес в файле /etc/hosts и откроет сайт yandex.ru. То есть /etc/hosts, это своего рода локальный DNS сервер.
Как узнать IP адрес сайта
Теперь нам нужно определить IP адреса сайтов, которые мы хотим добавить в /etc/hosts. Стоит отметить, что не все сайты имеют отдельный выделенный IP адрес и получить к ним доступ только по IP адресу нельзя. Но почти все крупные сайты и порталы имеют свой выделенный IP адрес. Простой способ узнать IP адрес сайта это использовать командну ping:
ping адрес-сайта.ru
ping yandex.ru
На экране отобразится процесс пинга (чтобы прервать нажмите Ctrl+C). Итак, мы получим вывод команды ping вида:
PING yandex.ru (87.250.250.11) 56(84) bytes of data. 64 bytes from yandex.ru (87.250.250.11): icmp_seq=1 ttl=57 time=3.57 ms ...
Здесь видно, что yandex.ru соответствует IP адресу 87.250.250.11. Аналогично, выполняем для других сайтов.
Редактирование файла /etc/hosts
Редактировать файл /etc/hosts нужно осторожно, чтобы ничего не испортить, так как это системный файл и важно не нарушать его синтаксис. Откройте файл для редактирования, для этого выполните в командной строке:
sudo gedit /etc/hosts
Содержимое файла выглядит примерно следующим образом:
127.0.0.1 localhost ::1 mycomp localhost6.localdomain6 localhost6 127.0.1.1 mycomp # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ...
Синтаксис у файла /etc/hosts очень простой:
IP-адрес имя-хоста [псевдонимы, ...]
Добавим в файл новые строки для разных сайтов:
74.125.232.19 google.ru g 94.100.191.203 mail.ru m 194.186.36.211 rbc.ru r 87.250.250.11 yandex.ru y
Сохраните и закройте файл. Мы прописали соответствия между IP адресами, именами сайтов и их псевдонимами. Теперь перейдите в браузер и в адресной строке введите просто «g», должен открыться сайт google.ru. Чтобы открыть mail.ru введите просто «m», для rbc.ru — просто «r», yandex.ru — «y».