Как я прочитал на странице руководства, рекомендуется указывать имя хоста (без имени домена) /etc/hostname
. Например, хост вместо host.domainsub.domaintld.
Но, как я знаю, некоторые программы зависят от наличия FQDN
в /etc/hostname
.
Что нужно указать /etc/hostname
на машинах Debian / Ubuntu?
Если не FQDN, где вместо этого должно быть указано FQDN?
Я знаю, вопрос устарел, но не нашел четкого ответа. Некоторые люди говорят имя хоста, некоторые - FQDN. Спасибо.
Ответы:
В файле / etc / hostname вы используете только имя хоста. Полное доменное имя, которое вы можете установить в: / etc / hosts, может выглядеть так:
В соответствии с руководством файла hosts.
http://man7.org/linux/man-pages/man5/hosts.5.html
источник
Пересмотренный ответ:
Сам хост не обрабатывает фактическое полное доменное имя. Это обрабатывается DNS . Полное доменное имя (FQDN) обрабатывается DNS, переводя имена в IP-адреса. Используя
/etc/hosts
файл, вы по сути переопределяете DNS-сервер./etc/hosts
Сначала компьютер ищет файл, чтобы определить, определена ли запись для имени хоста по IP-адресу. Записи в/etc/hosts
выглядит следующим образом:Эти записи не являются специфичными для дистрибутива. Все ОС используют одинаковый формат для этих строк. Просто местоположение
hosts
файла меняется. Linux, как правило, находится в/etc/
папке, а в Windows - вC:\Windows\System32\drivers\etc\
папке.Разбивая эту цепочку, вы можете видеть, что я назначаю оба
terrance-ubuntu.local
, а именно мое полное доменное имя, для переопределения DNS, чтобы приложения знали, что не покинуть мой компьютер, иterrance-ubuntu
, что является именем хоста, снова, чтобы приложения знали, чтобы не покидать мой компьютер или 127.0.0.1 ( localhost ). Назначение моего имени хоста моей системы127.0.1.1
не влияет на остальные компьютеры, которые находят мой хост в сети. Если DNS работает правильно, они увидят мое имя хоста как10.0.0.100
. Причиной использования127.0.1.1
является то, что мои приложения находят мою систему быстрее, поскольку она будет знать, что моей системы нет в другом месте моей сети. Мое фактическое имя хоста с тем,.local
что мое полное доменное имя,.local
на самом деле мой домен, который я настраиваю через маршрутизатор, который также является другим DNS-сервером в моей сети.Теперь предположим, что службы DNS в локальной сети не присваивают IP-адресам имена хостов или FQDN, но все же вы знаете, каков IP-адрес хоста в локальной сети. Затем вы должны назначить этот хост в своем
/etc/hosts
файле, чтобы вам не приходилось вводить IP-адрес хоста каждый раз, когда вы хотите получить к нему доступ. Хост может быть сервером инструментов, принтером или какой-либо другой системой, подключенной к сети. Добавьте запись, как обычно, в/etc/hosts
файл.Я собираюсь использовать мой сетевой принтер, например. Он имеет статический IP-адрес 10.0.0.253. Я не знаю, как это называется. Для этого я хочу назвать это
hp_printer
. Я буду пинговать IP и имя хоста для него, а затем добавить в/etc/hosts
.Теперь я также могу получить доступ к веб-странице для моей настройки принтера по названию, которое я дал ему, а не по IP-адресу, который может быть легче запомнить:
Ваш файл /etc/resolv.conf также используется DNS для поиска имен хостов. Это файл конфигурации для распознавателя. Он предоставляет поисковый домен, чтобы вам не приходилось указывать свое полное доменное имя все время, когда вы ищете хост. Он также предоставляет IP-адрес для DNS или сервера имен вашей локальной сети.
search
Линия ниже показывает название ,local
которое мое доменное имя.Надеюсь, это поможет лучше понять, как работают DNS и FQDN.
источник
В справочной странице
hostname(1)
обсуждается это (абзац, выделенный жирным шрифтом, выделен мной):И если вы зададите полное доменное имя в качестве имени хоста во время установки, оно записывает только первый компонент
/etc/hostname
и сохраняет полное доменное имя/etc/hosts
.Итак, в этом случае просто позвольте установщику сделать то, что он делает.
источник