在 Ubuntu 10.04 上,/etc/hostname 是否应包含服务器的 FQDN?

在 Ubuntu 10.04 上,/etc/hostname 是否应包含服务器的 FQDN?

在 Ubuntu 10.04 上,/etc/hostname 是否应包含服务器的完全限定域名?

答案1

不,只有主机名部分。根据 Ubuntu 的手册页/etc/hostname应该仅包含主机名的主机名部分,而不是 FQDN:

FQDN

您无法使用此命令更改 FQDN(由 hostname --fqdn 返回)或 DNS 域名(由 dnsdomainname 返回)。系统的 FQDN 是 resolver(3) 为主机名返回的名称。

技术上:FQDN 是 gethostbyname(2) 返回的主机名的名称。DNS 域名是第一个点后面的部分。

因此,如何更改它取决于配置(通常在 /etc/host.conf 中)。通常(如果在 DNS 或 NIS 之前解析 hosts 文件),您可以在 /etc/hosts 中更改它。

笔记

主机名在查找主机的 FQDN、别名和网络地址时尝试的地址系列由解析器的配置决定。例如,在 GNU Libc 系统上,可以使用 /etc/resolv.conf 中的 inet6 选项指示解析器首先尝试 IPv6 查找。

文件

/etc/hosts /etc/hostname 此文件应仅包含域名而不是完整的 FQDN。

答案2

Josh 指出了 Ubuntu 的建议,但我不确定这是否是一条硬性规定。

/etc/hostname用于设置系统的主机名,与hostname或打印的内容相同uname -n。该名称将在登录提示中使用,例如在虚拟控制台或 Gnome GDM 登录屏幕上。

hostname --fqdn正如手册页所述,在执行或 时它也用作 DNS 查询的输入dnsdomainname

Technically: The FQDN is the name gethostbyname(2) returns for the host name
returned by gethostname(2). The DNS domain name is the part after the first dot.

这意味着,如果它是裸词,解析器将附加searchdomain设置中列出的域/etc/resolv.conf以尝试查找 FQDN。如果 /etc/hostname 中有 FQDN,则意味着它不必尝试附加一个或多个域:名称是明确的。

所以我认为两种说法都是正确的。如果有人能证明其他说法,我会非常感兴趣。

答案3

libnss-我的主机名安装后,您可以写入 fqdn/etc/hostname并完成。否则,您还需要编辑/etc/hosts以匹配短名称并将其映射到完全限定名称(您也可以将其放在 dns 中,但这不是万无一失的)。使用非默认环回接口,如下所示:

127.0.0.2 hostname.fully.qualified hostname

相关内容