很多应用软件会涉及到fqdn
如salt获取到的fqnd和host可能会不一样,两者有何区别?
THE FQDN
You can’t change the FQDN (as returned by hostname --fqdn) or the DNS domain name (as returned by dnsdomainname) with this command. The FQDN of
the system is the name that the resolver(3) returns for the host name.
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.
Therefore it depends on the configuration (usually in /etc/host.conf) how you can change it. Usually (if the hosts file is parsed before DNS or
NIS) you can change it in /etc/hosts.
If a machine has multiple network interfaces/addresses or is used in a mobile environment, then it may either have multiple FQDNs/domain names or
none at all. Therefore avoid using hostname --fqdn, hostname --domain and dnsdomainname. hostname --ip-address is subject to the same limitations
so it should be avoided as well.
FQDN = 简短的名字 + 域
如: hostname返回的结果是 dev-qa001 域为test.com 则fqdn为 dev-qa001.test.com
返回hostname的命令
hostname
返回域的命令
dnsdomainname
返回fqdn的命令
hostname -f
hostname -f -v
可以查看解析的详细过程
如何设置fqdn
优先的方法,方法一 设置/etc/hosts
[root@CentOS-6-121 ~]# cat /etc/hosts | grep -i "Centos"
10.59.74.121 CentOS-6-121.test.com CentOS-6-121
第一列为IP 第二列为fqnd 第三列为主机名 (位置不能错误,否则结果不一致)
[root@CentOS-6-121 ~]# hostname CentOS-6-121 [root@CentOS-6-121 ~]# hostname -f CentOS-6-121.test.com [root@CentOS-6-121 ~]# dnsdomainname test.com
方法二:你配置了dns 通过dns查找
[root@CentOS-6-121 ~]# cat /etc/resolv.conf
search a.pa.com
但是你的dns一定要能解析你的fqdn,返回返回失效(你去除了hosts中的配置后)
[root@CentOS-6-121 ~]# hostname CentOS-6-121 [root@CentOS-6-121 ~]# dnsdomainname dnsdomainname: Unknown host [root@CentOS-6-121 ~]# hostname -f hostname: Unknown host [root@CentOS-6-121 ~]#
如果能解析,dnsdomainname 为你指定的search (可以指定多个,有一个成功能解析即可)
三: salt获取fqdn的时候 经验
通过minion端的salt-call -g 才是最准确的
通过master端 salt "dev-qa008" grains.item fqdn 获取到的可能不一致
本文出自 “崔德华运维打工从业路” 博客,请务必保留此出处http://cuidehua.blog.51cto.com/5449828/1788240
原文地址:http://cuidehua.blog.51cto.com/5449828/1788240