在没有域名的情况下,该名称是否被localhost
视为完全合格?还是localhost
始终被视为不合格?
$ hostname --fqdn
debian-q500
$ ping debian-q500
PING debian-q500 (127.0.1.1) 56(84) bytes of data.
64 bytes from debian-q500 (127.0.1.1): icmp_req=1 ttl=64 time=0.044 ms
64 bytes from debian-q500 (127.0.1.1): icmp_req=2 ttl=64 time=0.037 ms
...
$ ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.033 ms
64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.043 ms
...
我之所以问这个问题,是因为我正在看一个专门提到 FQDN 的标准文档。FQDN 与 RFC 中的 DNS 名称略有不同(我相信是 RFC 1035):
$ dnsdomainname
$
在 DNS 系统下,我相信它localhost
会被视为非 DNS 本地名称;但如果列为localhost.
(请注意尾随的点),它可能满足 FQDN 要求。
事实上,在名为的机器上添加尾随点时我得到了不同的结果debian-q500
:
$ ping debian-q500.
ping: unknown host debian-q500.
$ ping localhost.
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.029 ms
64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.035 ms
...
答案1
localhost
不完全合格;localhost.localdomain.
是。
FQDN 的主要关键字是终止句号。 hostname.example.com
不是完全合格的;hostname.example.com.
是。 常见惯例(如果不是官方标准)规定 FQDN 应该是host.domain.
而不是简单的host.
,但同样,重要的是.
末尾的 才是真正完全合格的。