псевдоним поддельного имени хоста через /etc/hosts

Вопрос или проблема

В файле /etc/hosts я добавил следующую строку:

github.com git.hub

В браузере Chrome, когда я ввожу адрес git.hub, он не перенаправляет на github.com, а вместо этого выполняет поиск.

В терминале Linux (например, bash), когда я ввожу команду ping git.hub, выводится git.hub: Имя или служба не известны.

В моем файле /etc/nsswitch.conf конфигурация hosts выглядит так:

hosts:          files mdns4_minimal [NOTFOUND=return] dns myhostname

Я полагаю, это означает, что сначала проверяется /etc/hosts, а затем DNS.

Так почему git.hub не может стать псевдонимом для github.com после моей конфигурации?

И есть ли способ это осуществить, не изменяя записи DNS?

Файл /etc/hosts не связывает имя хоста с другим именем хоста таким образом, как вы пытаетесь это сделать. Он связывает имя хоста с IP-адресом, и точка. IP-адрес указывается в первом (левом) поле строки. Имя хоста находится во втором поле строки.

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

Это может дать вам короткий список имен, которые все достигают одной и той же цели, но целью является IP-адрес. Если сайт, который вы хотите достичь, такой же, как Github, его IP-адрес будет изменяться время от времени. Когда он изменяется, все имена в строке не будут работать.

Ранее я использовал такое привязывание в своем файле /etc/hosts, но это стало слишком разрушительным, потому что сайты в Интернете слишком часто меняли свои IP-адреса.

Ответ или решение

Ваша ситуация связана с неправильным использованием файла /etc/hosts. Давайте разберём детали и предложим решение вашей задачи.

Описание проблемы

Вы добавили следующую строку в файл /etc/hosts:

github.com git.hub

Это не сработает так, как вы ожидаете, поскольку файл /etc/hosts фактически связывает IP-адреса с доменными именами, а не одно доменное имя с другим. Формат, который вы используете, является некорректным. В данном случае строка должна выглядеть примерно так:

<IP-адрес> git.hub github.com

Решение

Чтобы сделать git.hub псевдонимом для github.com, вам нужно определить IP-адрес GitHub в файле /etc/hosts. Однако учтите, что IP-адреса крупных сервисов, таких как GitHub, могут изменяться. Вы можете использовать команду ping для получения текущего IP-адреса:

ping github.com

Допустим, вы получили IP-адрес, например 140.82.112.3. Теперь вы можете обновить файл /etc/hosts, добавив следующую строку:

140.82.112.3 git.hub github.com

После этого, если вы введёте git.hub в браузере или выполните команду ping git.hub, она должна распознаваться и перенаправляться на GitHub.

Важно

Имейте в виду, что этот способ может привести к проблемам, если IP-адрес GitHub изменится. Поэтому рекомендуется использовать этот подход только для локальных тестов или когда у вас есть контроль над IP-адресом хостинга. В противном случае лучше всего полагаться на DNS.

Заключение

Если вы хотите, чтобы ваши сетевые запросы через git.hub направлялись на GitHub, добавьте строку с IP-адресом и альтернативными именами в файл /etc/hosts. Однако учитывайте потенциальные проблемы с изменением IP-адресов и пользуйтесь данным подходом с осторожностью.

Оцените материал
Добавить комментарий

Капча загружается...