Быстрое открытие сайтов. Использем файл etc hosts. Linux статьи

Быстрое открытие сайтов. Использем файл /etc/hosts

15

Хочу рассказать о несколько нестандартном способе с помощью которого можно открывать в браузере сайты, используя короткие имена. Например, вместо того чтобы набирать в браузере «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».

Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
15

Комментарии

Kaener
16.01.2011, 14:35
Постоянная ссылка на комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
Имхо, костыль жуткий, а совет вредный.
Во-первых, сейчас 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’ы и пр. чем вот такой способ.
yuriyАктивный
16.01.2011, 15:50
Постоянная ссылка на комментарийРодительский комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
Спасибо за дельные замечания!
deburgerАктивный
16.01.2011, 18:11
Постоянная ссылка на комментарийРодительский комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
ну со статьей ты конечно погнал )))
yuriyАктивный
16.01.2011, 18:15
Постоянная ссылка на комментарийРодительский комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
в смысле? ))
deburgerАктивный
16.01.2011, 21:44
Постоянная ссылка на комментарийРодительский комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
согласен, невнятно выразился...
в общем согласен с предыдущим комментом: "Имхо, костыль жуткий, а совет вредный."

...в принципе, способ для ознакомления, в духе - "а можно сделать и вот так"
лично я не рискнул бы писать статью на эту тему )

но раз уж написали, то спасибо за труды, уверен что есть люди кому это очень надо

удачи
CanSeeАктивный
06.12.2012, 10:52
Постоянная ссылка на комментарийРодительский комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
Не согласен. Совет вовсе не вредный :)
Да, перечисленные недостатки имеют место быть. Но у каждой идеи есть свои достоинства и недостатки.
"убираете возможность владельцам сайта безболезненно переехать" - ничего подобного. Если они переедут - кто мешает набрать сайт полностью, или снова поменять hosts и прописать новый IP? Не думаю, что много сайтов меняют IP каждый день. Записал новый - и опять пользуйся.
У сайта нескоько IP? А мне, как пользователю, какое дело до них? Я хочу быстро открыть сайт. На каком он там IP откроется - дело десятое. Если всё время будет открываться только один IP из десяти, имеющихся у сайта - это меня совершенно не расстроит, если при этом сайт будет нормально работать.
DNS-серверы, ускорение поиска адреса - это всё не особо актуально, если провайдер нормальный. Для меня разница между 4 ms и 20 ms не имеет абсолютно никакого значения. Описываемый способ хорош, по моему мнению, вовсе не тем, что быстро определяется IP, а тем, что вместо двадцати символов можно набрать один. Вот тут получается реальное ускорение.
Закладки, speeddial и т.п. - это, конечно, лучше. К тому же, в отличие от hosts, их можно синхронизировать между компами. Однако у них свои недостатки.
Допустим, я хочу сделать так, чтобы сайт... хм.. допустим, журнала "Весёлые картинки", быстро открывался у меня в браузере. Но при этом не светился в закладках, истории и в SpeedDial, чтобы кто-то другой, работающий за этим же компом и временами с под той же учётной записью, не видел этого сайта. Здесь описанный способ вне конкуренции, поскольку в hosts кто-то другой вряд ли полезет :)
Valent
10.03.2011, 02:12
Постоянная ссылка на комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
Господа! Рассмотрите все это с другой стороны, помимо предлагаемого ускорения или удобства, можно блокировать сайты рекламы и вирусни. Прописываешь 0.0.0.0 virus.info и т.п. и интернет легче (меньше грузится) и безопаснее (заранее известные сайты блокированы). И не все всё знают, повторение мать образования начинающих!
lastic
18.05.2011, 16:08
Постоянная ссылка на комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
Поучительная статья, мне понравилось.Спасибо за советы
kotok
30.06.2011, 16:33
Постоянная ссылка на комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
нормальная статья+хорошо добавил Valent
akuba
11.08.2011, 14:19
Постоянная ссылка на комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
если, например, хотим иметь локальный сайт и не регать домен вообще (например myhome.lan) то для удобства использования hosts самое то
dar
04.12.2012, 23:45
Постоянная ссылка на комментарийРодительский комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
Не хватает информации по настройке виртуальных хостов.
yuriyАктивный
05.12.2012, 19:53
Постоянная ссылка на комментарийРодительский комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
http://pingvinus.ru/note/apache-virtual-host
RL
23.05.2012, 17:00
Постоянная ссылка на комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
Важна не сама идея этой статьи, сколько приёмы и идеи её приминения:)
Спасибо, помогло
yuriyАктивный
25.05.2012, 09:41
Постоянная ссылка на комментарийРодительский комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
Спасибо!
CanSeeАктивный
06.12.2012, 10:33
Постоянная ссылка на комментарийРодительский комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
Присоединяюсь. Я тоже знал про hosts и для чего он нужен, однако такой интересный способ использования не пришёл мне в голову :) Отличная и очень оригинальная идея.

Написать комментарий

Ваше имя:
Текст комментария: