resolv.conf文件中有search項時,主機名解析規則順序:
DNS配置文件以下:centos
# vi /etc/resolv.conf # Generated by NetworkManager search openstack.local dev.com example.local nameserver 192.168.122.21
例1:查詢主機名,由於主機名後面沒有點,就認爲是主機名,因此先添加search裏的每一項依次組成FQDN(徹底合格域名)來查詢,徹底合格域名查詢未找到,就再認爲主機名是徹底合格域名來查詢。markdown
# host -a centos7-bind-1 Trying "centos7-bind-1.openstack.local" Trying "centos7-bind-1.dev.com" Trying "centos7-bind-1.example.local" Trying "centos7-bind-1" ;; connection timed out; no servers could be reached
例2:查詢主機名,由於主機名中有點(不是末尾有點),就認爲是徹底合格域名,先用它來查詢,查詢失敗就把它當成是主機名來進行,添加search裏的每一項組成FQDN(徹底合格域名)來查詢。dom
# host -a centos7-bind-1.com Trying "centos7-bind-1.com" Received 109 bytes from 192.168.122.21#53 in 177 ms Trying "centos7-bind-1.com.openstack.local" Trying "centos7-bind-1.com.dev.com" Trying "centos7-bind-1.com.example.local" Host centos7-bind-1.com not found: 3(NXDOMAIN) Received 125 bytes from 192.168.122.21#53 in 55 ms
例3:查詢主機名,由於主機名中末尾有點,則認爲是徹底合格域名,只用它來查詢(不會再添加search裏的每一項)。查詢次數會與search裏項域名個數有關。工具
# host -a centos7-bind-1. Trying "centos7-bind-1" ;; connection timed out; trying next origin Trying "centos7-bind-1" ;; connection timed out; trying next origin Trying "centos7-bind-1" ;; connection timed out; trying next origin Trying "centos7-bind-1" ;; connection timed out; no servers could be reached
DNS查詢工具:host命令介紹
用法:host [-a] FQDN [server]
host -l domain [server]
-a參數:顯示查詢的全部詳細信息。
-l參數:若是後面的domain容許allow-transfer時,則列出該domain所管理的全部主機數據。
server參數:這個參數無關緊要,當想要利用非 /etc/resolv.conf 內的DNS主機,來查詢主機名與 IP 的對應時,就能夠利用這個參數了。post
host命令使用例(列出該domain所管理的全部主機數據):ui
# host -l example.local 192.168.122.84 Using domain server: Name: 192.168.122.84 Address: 192.168.122.84#53 Aliases: example.local name server ns.example.local. dns.example.local has address 192.168.123.10 ns.example.local has address 192.168.122.84 ns.example.local has IPv6 address ::1 sss.example.local has address 192.168.123.9 www.example.local has address 192.168.123.8