2012年7月24日星期二

设置Linux主机的FQDN(Fully Qualified Domain Name)

FQDN是Fully Qualified Domain Name的缩写, 含义是完整的域名. 例如, 一台机器主机名(hostname)是www, 域后缀(domain)是example.com, 那么该主机的FQDN应该是 www.example.com.


FQDN最后是以”.”来结尾的, 但是大部分的应用和服务器都允许忽略最后这个点.


Linux允许用户通过hostname命令查看并设置主机名.
用户也可以通过hostname -f命令得到该主机的FQDN.
但是, 却没有直接设置FQDN的命令.

设置Linux的FQDN可以通过两种方法实现.


第一种, /etc/hostname + /etc/hosts文件组合


首先在/etc/hostname文件中设置主机名, 假设是


www


然后在/etc/hosts文件中增加一行主机记录, 第一个字段是该主机的IP地址, 第二个字段是你希望设置的FQDN, 最后是刚刚设置的主机名, 如下


A.B.C.D www.example.com www


设置好之后, 通过hostname -F /etc/hostname更新主机名. 这时, 通过hostname -f看到的FQDN就应该是: www.example.com


第二种, /etc/hostname + /etc/resolv.conf组合( 需先设置DNS服务器)


如果Linux不能在/etc/hosts文件中找到hostname对应的记录, 就会试图从resolv.conf文件中得到主机的域名后缀(domain name). 例如, 这样的/etc/resolv.conf文件


domain example.com
search example.com
nameserver W.X.Y.Z


根据配置文件中的domain后缀example.com, 加上主机名www, Linux会试图自动拼接成一个候选FQDN: www.example.com. 但这个候选FQDN还需要进一步验证.


Linux通过DNS服务器W.X.Y.Z解析候选FQDN, 如果解析失败, 生成FQDN过程就失败了. 如果解析成功, 则会返回www.example.com这个域名的正式名称. 也就是说, 如果在DNS服务器的记录中, www.example.com这个域名是指向server.example.com的CNAME记录的话, 而server.example.com才是A记录. 返回的FQDN就是server.example.com, 而不是www.example.com.

没有评论:

发表评论