Да и нет. Это две разные вещи, называемые именами хостов.
«Внутреннее» имя хоста - это строка, хранящаяся в ядре. Это тот, который возвращается hostname
командой (или gethostname()
вызовом), и он уникален в системе (*) .
В основном это используется, когда программа хочет вывести некоторый идентификатор для системы, на которой она работает. Например, \h
Bash PS1
расширяется до имени хоста. Точно так же файлы журнала в стиле syslog также включают имя хоста в записи журнала.
(* Хотя, как комментирует Стивен Китт, пространства имен могут использоваться для отображения разных имен хостов для процессов в одной и той же системе. Это в основном используется для контейнеров, которые пытаются действовать так, как будто они являются отдельными системами.)
Также есть DNS-имена , которые используются другими системами для поиска IP-адреса другой. Может быть несколько DNS-имен, указывающих на один и тот же IP-адрес, и один и тот же хост.
Внутреннее имя хоста и DNS-имена не обязательно должны совпадать. Предположим, у кого-то есть веб-сервер, который он решил вызвать orange
(*) , с IP-адресом 192.0.2.9
. Он может обслуживать два разных домена, и DNS будет настроен на наличие www.example.org
и www.example.com
оба указателя 192.0.2.9
, в то время как внутреннее имя хоста системы может быть orange.example.org
или просто orange
. В этом случае настройка DNS, как правило , также имеют обратный поиск на 192.0.2.9
точку назад к имени orange.example.org
, но нет ничего , что силы.
(* потому что им нравится называть свои серверы в честь фруктов. Кто-то может использовать webserver1
или тому подобное, но дело в том, что его не нужно называть в честь одного из реальных доменов.)
В дополнение к этому виртуальный хостинг требует, чтобы браузер сообщал веб-серверу имя сайта, к которому он пытался получить доступ. В противном случае сервер не знал бы, к какому виртуальному сайту клиент пытался добраться. HTTP имеет Host
заголовок для этого.
То, что запутывает различие между DNS-именем и внутренним именем хоста, - это протокол mDNS
(реализованный, например, демоном avahi ) и другие протоколы обнаружения. mDNS позволяет хостам запрашивать информацию об именах для всех других хостов в той же сети и делать их собственные имена хостов видимыми на других хостах без явной настройки их в DNS.