假如一个域名,本地无法解析,转发到第一个dns服务器进行解析,如果第一个dns服务也没办法解析。那第一个dns服务器是怎样把包转发到第二个dns服务器的?是第一个dns服务器里已经配好了第二台dns服务器的ip地址吗?他们之间用什么方式进行通信?
当一个域名无法被本地DNS解析时,第一个DNS服务器会发送一个迭代查询请求(Iterative Query Request)到根DNS服务器进行解析。根DNS服务器会返回一个指向下一级DNS服务器的指针,第一个DNS服务器再根据这个指针向下一级DNS服务器发起询问。这样一直进行下去直到找到对应的IP地址或者查询失败。 第一个DNS服务器里面会有配置根DNS服务器的IP地址。在DNS服务器之间进行通信时使用的是UDP协议。
域名解析
根域名服务器知道所有顶级域名的域名服务器,对应于每个顶级域名,它都有两条资源记录:一条是NS资源记录,域名字段是该顶级域名,值字段是该顶级域名解析的域名服务器的域名;另一条是A资源记录,用来指明该域名服务器的域名对应的IP地址。综合使用这两条记录,就可以知道对该域下的某个域名解析,应该继续去哪个IP地址的域名服务器寻找。第二层的域名服务器类似地存放各个第三层域名服务器的指针。第三层的域名服务器会出现A、CNAME、MX等类型的资源记录。每个域名服务器都有根域名服务器的地址记录。
最后,一个需要域名解析的用户先将该解析请求发往本地的域名服务器。如果本地的域名服务器能够解析,则直接得到结果,否则本地的域名服务器将向根域名服务器发送请求。依据根域名服务器返回的指针再查询下一层的域名服务器,依此类推,最后得到所要解析域名的IP地址。(来自百度百科)
dns A 192.168.0.20
www CNAME westos.a.westos.com. ##规范域名
westos.a A 192.168.0.111 ##正向解析记录
westos.a A 192.168.0.112
westos.com. MX 1 192.168.0.20. ##邮件解析记录
systemctl restart named
dig www.westos.com #查询正向解析
dig -t mx westos.com #邮件解析记录查询
dns的正向解析
注释掉上个实验中 服务端 172.25.254.17
[root@localhost Desktop]# vim /etc/named.conf
20 forwarders {114.114.114.114;}; 注释
[root@localhost Desktop]# vim /etc/named.rfc1912.zones
[root@localhost Desktop]# cat /etc/named.rfc1912.zones
添加以下内容
zone "westos.com" IN { ##维护的域名
type master; ##当前服务器主dns
file "westos.com.zone"; ##域名A记录文件
allow-update { none; }; ##允许更新主机列表
};
[root@localhost Desktop]# cd /var/named
[root@localhost named]# cp named.localhost westos.com.zone -p ## 复制文件注意权限
[root@localhost named]# vim /var/named/westos.com.zone
[root@localhost Desktop]# cat /var/named/westos.com.zone ip对应域名A记录文件,
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. (
0 ; serial ##域名版本序列号
1D ; refresh ##刷新时间(辅助dns)
1H ; retry ##重试时间(辅助dns)
1W ; expire ##过期时间(辅助dns,查询失败,过期停止对辅助域名的应答)
3H ) ; minimum
NS dns.westos.com
dns A 172.25.254.17 ##正向解析记录
www A 172.25.254.111
bbs CNAME bss.a.westos.com.
bss.a A 172.25.254.111
bss.a A 172.25.254.222
westos.com. MX 1 127.0.0.1.
##############################(文件中不带点,自动补齐westos.com)
客户端检测
[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
me/westos/Pictures/Screenshot from 2020-08-07 15-03-39.png' '/home/westos/Pictures/Screenshot from 2020-08-07 15-03-39.png'
nameserver 172.25.254.17 #### 服务端主机 ip
[root@localhost ~]# dig www.westos.com ##### 查询正向解析
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> www.westos.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44868
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 5
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 4431c5666adcd969d5d4403c5f2d162875bb49355fae5d4c (good)
;; QUESTION SECTION:
;www.westos.com. IN A
;; ANSWER SECTION:
www.westos.com. 3600 IN A 103.224.182.230
;; AUTHORITY SECTION:
westos.com. 172799 IN NS 421.ns1.above.com.
westos.com. 172799 IN NS 421.ns2.above.com.
;; ADDITIONAL SECTION:
421.ns1.above.com. 172799 IN A 103.224.182.5
421.ns1.above.com. 172799 IN A 103.224.212.5
421.ns2.above.com. 172799 IN A 103.224.212.6
421.ns2.above.com. 172799 IN A 103.224.182.6
;; Query time: 1785 msec
;; SERVER: 172.25.254.17#53(172.25.254.17)
;; WHEN: Fri Aug 07 16:51:51 CST 2020
;; MSG SIZE rcvd: 201
邮件解析记录查询
[root@lzy Desktop]# dig -t mx westos.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> -t mx westos.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8760
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 412253f8a76ef16ed1a44b335f2f99bce1b1373d33ba5c7f (good)
;; QUESTION SECTION:
;westos.com. IN MX
;; ANSWER SECTION:
westos.com. 86400 IN MX 1 127.0.0.1.
;; AUTHORITY SECTION:
westos.com. 86400 IN NS dns.westos.com.
;; ADDITIONAL SECTION:
dns.westos.com. 86400 IN A 172.25.254.17
;; Query time: 15 msec
;; SERVER: 172.25.254.17#53(172.25.254.17)
;; WHEN: Sun Aug 09 02:37:47 EDT 2020
;; MSG SIZE rcvd: 126