Хочу рассказать о несколько нестандартном способе с помощью которого можно открывать в браузере сайты, используя короткие имена. Например, вместо того чтобы набирать в браузере «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».
Комментарии
14:35
Во-первых, сейчас dns это прослойка между вашим желанием открыть сайт и серверами которые этот сайт могут вам показать. Делая так как здесь описано, вы, фактически, убираете возможность владельцам сайта безболезненно переехать на другой сервер. Точнее возможность то остаётся, но когда они переедут — у вас сайт перестанет открываться. Сюда же, можно написать, что часто сайт больших компаний имеет несколько ip (например, для google.ru это 74.125.87.99 и 74.125.87.104), что тоже не учтено у вас. Чтобы получить ip, можно использовать команду nslookup имя-хоста.
Во-вторых, практически у всех провайдеров есть локальный кеширующий dns-сервер — прописываете его в качестве основного и получаете практически те же несколько десятков мс, что вы выиграли используя hosts. Если же такого удобства нет — можно попробовать поискать быстрого dns-провайдера. Например, dns-сервера от Google: 8.8.8.8 и 8.8.4.4. К ним, запрос ip для google.ru у меня занял целых 4ms.
В-третьих, имхо, в виду двух предыдущих пунктов, лучше уж использовать шорткаты, speeddial’ы и пр. чем вот такой способ.
15:50
18:11
18:15
21:44
в общем согласен с предыдущим комментом: "Имхо, костыль жуткий, а совет вредный."
...в принципе, способ для ознакомления, в духе - "а можно сделать и вот так"
лично я не рискнул бы писать статью на эту тему )
но раз уж написали, то спасибо за труды, уверен что есть люди кому это очень надо
удачи
10:52
Да, перечисленные недостатки имеют место быть. Но у каждой идеи есть свои достоинства и недостатки.
"убираете возможность владельцам сайта безболезненно переехать" - ничего подобного. Если они переедут - кто мешает набрать сайт полностью, или снова поменять hosts и прописать новый IP? Не думаю, что много сайтов меняют IP каждый день. Записал новый - и опять пользуйся.
У сайта нескоько IP? А мне, как пользователю, какое дело до них? Я хочу быстро открыть сайт. На каком он там IP откроется - дело десятое. Если всё время будет открываться только один IP из десяти, имеющихся у сайта - это меня совершенно не расстроит, если при этом сайт будет нормально работать.
DNS-серверы, ускорение поиска адреса - это всё не особо актуально, если провайдер нормальный. Для меня разница между 4 ms и 20 ms не имеет абсолютно никакого значения. Описываемый способ хорош, по моему мнению, вовсе не тем, что быстро определяется IP, а тем, что вместо двадцати символов можно набрать один. Вот тут получается реальное ускорение.
Закладки, speeddial и т.п. - это, конечно, лучше. К тому же, в отличие от hosts, их можно синхронизировать между компами. Однако у них свои недостатки.
Допустим, я хочу сделать так, чтобы сайт... хм.. допустим, журнала "Весёлые картинки", быстро открывался у меня в браузере. Но при этом не светился в закладках, истории и в SpeedDial, чтобы кто-то другой, работающий за этим же компом и временами с под той же учётной записью, не видел этого сайта. Здесь описанный способ вне конкуренции, поскольку в hosts кто-то другой вряд ли полезет :)
02:12
16:08
16:33
14:19
23:45
19:53
17:00
Спасибо, помогло
09:41
10:33