Следует ли использовать FQDN в имени / etc / hostname вместо имени хоста?

В дополнение к тому, что гостевые дополнения на самом деле установлены на гостевой машине, вы также должны проверить параметр «Автообновление гостевого дисплея» в меню «Вид» в Virtuablbox (на главной машине).

1
задан 21 December 2016 в 21:11

2 ответа

Пересмотренный ответ:

Сам хост не обрабатывает фактическое полное доменное имя. Это обрабатывается DNS. Полное доменное имя (полное доменное имя) обрабатывается DNS-переводом имен в IP-адреса. Используя файл /etc/hosts, вы по существу переопределяете DNS-сервер. Сначала компьютер смотрит в файл /etc/hosts, чтобы узнать, определена ли запись для имени узла по IP-адресу. Записи в /etc/hosts выглядят следующим образом:

127.0.0.1 localhost
127.0.1.1 terrance-ubuntu.local terrance-ubuntu

Исправленный ответ: Все операционные системы используют тот же формат для этих строк. Изменяется местоположение файла hosts. Linux, обычно он находится в папке /etc/, где в Windows он обычно находится в папке C:\Windows\System32\drivers\etc\.

Нарушая эту строку, вы можете видеть, что я назначаю как terrance-ubuntu.local, так и [ который является моим FQDN, чтобы переопределить DNS, чтобы приложения знали, что не покидают мой компьютер, и terrance-ubuntu, который является именем хоста, снова, чтобы приложения не покидали мой компьютер или 127.0.0.1 ( DNS [!d3 ]). Присвоение имени моего компьютера моей системе 127.0.1.1 не влияет на остальные компьютеры, нахо- дящие мой хост в сети. Если DNS работает правильно, они будут видеть мое имя хоста как 10.0.0.100. Причина использования 127.0.1.1 заключается в том, что мои приложения быстрее находят мою систему, так как она будет знать, что моя система не находится где-то в моей сети. Мое фактическое имя хоста с [F15], являющимся моим FQDN, .local на самом деле является моим Доменом, который я настраиваю через мой маршрутизатор, который также является другим DNS-сервером в моей сети.

Теперь предположим, что DNS службы в локальной сети не назначают имена хостов или FQDN для IP-адресов, но все же вы знаете, что такое IP-адрес хоста в локальной сети. Затем вы назначили этот хост в вашем файле /etc/hosts, чтобы вам не нужно вводить IP-адрес хоста каждый раз, когда вы хотите получить к нему доступ. Хост может быть сервером инструментов, принтером или другой сетевой системой. Добавьте запись, как обычно, в файл /etc/hosts.

Например, я использую свой сетевой принтер. Он имеет статический IP 10.0.0.253. Однако я не знаю его имени. Для этого я хочу называть его hp_printer. Я буду пинговать IP-адрес и имя хоста для него, а затем добавить к /etc/hosts.

terrance@terrance-ubuntu:~$ ping -c 2 10.0.0.253
PING 10.0.0.253 (10.0.0.253) 56(84) bytes of data.
64 bytes from 10.0.0.253: icmp_seq=1 ttl=255 time=0.326 ms
64 bytes from 10.0.0.253: icmp_seq=2 ttl=255 time=0.334 ms

terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
ping: unknown host hp_printer

terrance@terrance-ubuntu:~$ sudo vi /etc/hosts
10.0.0.253 hp_printer.local hp_printer

terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
PING hp_printer.local (10.0.0.253) 56(84) bytes of data.
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=1 ttl=255 time=0.334 ms
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=2 ttl=255 time=0.303 ms

Теперь я также могу получить доступ к веб-странице для настройки моего принтера по имени, которое я дал ему вместо IP-адреса адрес, который может быть легче запомнить:

Ваш файл также используется DNS для поиска имен хостов. Это файл конфигурации для распознавателя. Он предоставляет домен поиска, так что вам не нужно указывать полное FQDN все время, когда вы ищете хост. Он также предоставляет IP-адрес для DNS или сервера имен вашей локальной сети. В строке search показано имя local, которое является моим доменным именем.

terrance@terrance-ubuntu:~$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.0.0.1
search local

Надеюсь, это поможет лучше понять, как работают DNS и FQDN. [ ! d17]

6
ответ дан 23 May 2018 в 03:08
  • 1
    почему вы привязываете FQDN в / etc / hosts до 127.0.1.1? – Bulat M. 23 December 2016 в 17:42
  • 2
    @BulatM. См. Мой пересмотренный ответ. – Terrance 23 December 2016 в 19:08
  • 3
    не могли бы вы объяснить разницу между поисковыми и доменными ключевыми словами в /etc/resolv.conf? Я читаю man-страницу resolv.conf, все еще не очень ясную. – Bulat M. 24 December 2016 в 19:59
  • 4
    И можно ли включить их обоих? Не могли бы вы представить полезный действительный случай в ответ? Благодарю. – Bulat M. 24 December 2016 в 20:00
  • 5
    @BulatM. Нажмите на ссылки в моем ответе, и они расскажут вам больше информации о вещах. Как ru.wikipedia.org/wiki/Resolv.conf дает гораздо больше информации. Я здесь, чтобы помочь, а не учить вас. Мне не платят, так как все это добровольно, поэтому, пожалуйста, изучите свое собственное. – Terrance 24 December 2016 в 22:13

manpage of hostname(1) обсуждает это (выделение полужирным выделено мной):

THE FQDN The FQDN (Fully Qualified Domain Name) of the system is the name that the resolver(3) returns for the host name, such as, ursula.example.com. It is usually the hostname followed by the DNS domain name (the part after the first dot). You can check the FQDN using hostname --fqdn or the domain name using dnsdomainname. You cannot change the FQDN with hostname or dnsdomainname. The recommended method of setting the FQDN is to make the hostname be an alias for the fully qualified name using /etc/hosts, DNS, or NIS. For example, if the hostname was "ursula", one might have a line in /etc/hosts which reads 127.0.1.1 ursula.example.com ursula Technically: The FQDN is the name getaddrinfo(3) returns for the host name returned by gethostname(2). The DNS domain name is the part after the first dot. Therefore it depends on the configuration of the resolver (usually in /etc/host.conf) how you can change it. Usually the hosts file is parsed before DNS or NIS, so it is most common to change the FQDN in /etc/hosts.

И если вы укажете полное имя FQDN в качестве имени хоста во время установки, оно будет записывать только первый компонент на /etc/hostname и сохраняет полное доменное имя в /etc/hosts.

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

2
ответ дан 23 May 2018 в 03:08
  • 1
    Это (включение 127.0.1.1 ursula.example.com ursula в / etc / hosts) Debian \ Ubuntu конкретное или может быть одинаково хорошо применимо к любому другому региону? – Bulat M. 23 December 2016 в 17:43
  • 2
    Не знаю о других дистрибутивах. Однако вы можете сделать то же самое в Arch и Cent OS. Вопросы о других дистрибутивах следует задавать в Unix & Linux . – muru 23 December 2016 в 17:56

Другие вопросы по тегам:

Похожие вопросы: