путаница с именем хоста localhost

у меня есть базовое понимание имени хоста и полного доменного имени. Теперь я смущен, я действительно должен указать имя для моего имени хоста? Так например:

Hostname: somename
Domain: mydomain.com
FQDN: somename.mydomain.com

Итак, я вижу, что имя это localhost. В чем разница и влияние этого? Так что мое полное доменное имя, если localhost - мое имя будет localhost.mydomain.com, да?

22
задан Baboon
15.11.2022 15:47 Количество просмотров материала 2952
Распечатать страницу

4 ответа

localhost-это "имя", которая указывает на IP-адрес 127.0.0.1, который должен существовать на любом компьютере, умение пользоваться интернет, и относится к самой машине. (Любой IP-адрес, начиная со 127.x.x.x относится к локальной машине).

localhost не то же самое, что localhost.mydomain.com.

в файле / etc / hostname отображается то, что ваш компьютер думает, что его имя. В Debian это, кажется, ссылка 127.0.1.1 на это имя в файл /etc/hosts на. [ Вы, вероятно, могли бы установить это в "действительный" IP-адрес, если у вас есть статически назначенный ]

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

2
отвечен davidgo 2022-11-16 23:35

"localhost" это "имя" для интерфейса обратной связи, который всегда имеет зарезервированный IP 127.0.0.1, и, как правило, имя устройства "lo"или " lo0"

хорошо, кажется, я понял. Но почему тогда hostname-f дает мне localhost?

Если вы не даете имя хоста, имя хоста по умолчанию localhost, так как безымянные системы не рассматриваются как"сеть/Интернет готов"

Если вы do дайте хост имя, имя должно разрешаться в IP-адрес хоста. в зависимости от того, какой вкус linux вы запускаете, есть файлы diff conf для установки этого. чтобы увидеть это в действии, с именованной машины (т. е. box хост, имя хоста которого не является "localhost"), запустите это:

ping localhost

пинг $имя

вы должны увидеть два разных IP-адреса, 127.0.0.1, и ip вашей машины... если не проверять файлы conf, сценарии интерфейса/сети hup или просто перезагрузитесь после внесения изменений

Так что мое полное доменное имя, если localhost мое имя хоста будет localhost.mydomain.com верно?

нет, localhost не используется для подключения за пределами машины, так что нет реального "fqdn" для localhost (хотя я видел устанавливает по умолчанию localhost.локального домена, но это не реально в интернете, поэтому не "полное" ИМО).

"localhost" или вот, это псевдо устройство, которое существует только и актуально на локальной машине. причиной его является обход стека локально.... например, код python, который подключается к базе данных, работающей на"localhost"

1
отвечен nandoP 2022-11-17 01:52

воздействие заключается в том, что вы либо ввести localhost в файл зоны DNS в качестве IP-адреса этой машины, или вы вводите его как 127.0.0.1. Какой бы вы ни выбрали, некоторые вещи не будут работать правильно.

Если вы введете его как 127.0.0.1 (это рекомендуется сделать), то вы не сможете достичь этого localhost-названная машина от любых других машин. Поэтому было бы целесообразно использовать другое название...

Если вы вводите его как IP-адрес этой машины, то вы будете иметь разногласия на других машинах между результатами разрешения имен, выполненного через файлы (/etc/hosts), и службой DNS, потому что каждая другая машина будет иметь localhost строка в файле / etc/hosts с адресом 127.0.0.1, и служба DNS будет содержать другой адрес.

0
отвечен Laszlo Valko 2022-11-17 04:09

localhost является замыканием на локальную машину. Вы не должны идти из вашего пути назвать его localhost как следует localhost из коробки. Вы устанавливаете Linux-или любую ОС - на любой машине и без вас ничего не делать, всегда будет localhost в конфигурации сети.

я имею в виду, Mac Mini я печатаю на теперь отвечает на localhost. Это означает, что это моя машина и моя локальная машина. Если бы Вы были на вашей локальной машине, localhost будет локальной машина.

hostname просто прозвище для вас машины, которая может или не может быть использована ссылка s для других услуг. Во многих случаях можно заменить hostname.localhostname быть ваше реальное имя) должен быть другой способ локальной сети петли для вашей машины. Это сочетание hostname и .local считается полным доменным именем (FQDN).

например, я много играю с конфигурациями Apache, и для меня есть выгода настройка отдельных конфигов для localhost или hostname.local если я использую NameVirtualHost в Apache.

теперь, если вы хотите расширить мимо вашего .local это попадает в сферу получения реального домена, подключенного к настройке внешнего мира. Это совсем другая дискуссия.

изменить: на основе ваших комментариев ниже, кажется, что машина в вопрос localhost в качестве хоста. Смысл можно технически достичь localhost.local которое нет 100% неправильное, но сильно сбивающий с толку. Чтобы изменить имя хоста на что-то новое, выполните следующие действия. Я предполагаю, что новый хост должен называться coolnewhost например ради:

это временно изменит ваше имя хоста на coolnewhost:

sudo hostname coolnewhost

чтобы изменить его навсегда, отредактируйте файл (мне нравится использовать nano но использовать то, что вам нравится):

sudo nano /etc/hostname

и затем измените имя файла, чтобы прочитать coolnewhost.

другой вариант-использовать sysctl изменить имя хоста в ядре.

sudo sysctl kernel.hostname= coolnewhost

и вы должны быть в относительно хорошей. Но я хотел бы также проверить ваш /etc/hosts файл, чтобы увидеть старого localhost настройки странным образом:

sudo nano /etc/hosts

там должна быть только одна строка, которая гласит:

127.0.0.1       localhost

если там есть что-то еще, что не соответствует этой строке, вам нужно отредактировать ее, прокомментировать или удалить.

0
отвечен JakeGould 2022-11-17 06:26

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

dns
localhost
networking
ubuntu-12.04
Вверх