Linux server set the FQDN

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

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

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

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

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

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

192.168.1.1 www.test.com www

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

第二种, /etc/hostname + /etc/resolv.conf组合

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

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

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

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

以上就是Linux下设置FQDN的方法.

猜你喜欢

转载自fjjj8.iteye.com/blog/1866635