精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

抓包就明白CoreDNS域名解析

開(kāi)發(fā) 前端
DNS 其實(shí)就是一個(gè)分布式的樹(shù)狀命名系統(tǒng),它就像一個(gè)去中心化的分布式數(shù)據(jù)庫(kù),存儲(chǔ)著從域名到 IP 地址的映射。k8s中利用CoreDNS進(jìn)行域名解析。

[[407628]]

本文轉(zhuǎn)載自微信公眾號(hào)「運(yùn)維開(kāi)發(fā)故事」,作者allen_jol 。轉(zhuǎn)載本文請(qǐng)聯(lián)系運(yùn)維開(kāi)發(fā)故事公眾號(hào)。

DNS 其實(shí)就是一個(gè)分布式的樹(shù)狀命名系統(tǒng),它就像一個(gè)去中心化的分布式數(shù)據(jù)庫(kù),存儲(chǔ)著從域名到 IP 地址的映射。k8s中利用CoreDNS進(jìn)行域名解析。

在進(jìn)行CoreDNS抓包之前先來(lái)了解幾個(gè)概念

完全限定名稱

完全限定域名(FQDN)就是互聯(lián)網(wǎng)上計(jì)算機(jī)或者主機(jī)的完整域名。由主機(jī)名、域名、頂級(jí)域組成。FQDN= HostName + DomainName

如:域名 www.ayunw.cn ,實(shí)際上它應(yīng)該是 www.ayunw.cn. ,而通常最后的點(diǎn)可以不寫(xiě)。最后的點(diǎn)被稱為根域 www就是主機(jī)名,ayunw.cn就是域名,而.cn又被稱為頂級(jí)域(一級(jí)域名),ayunw被稱為二級(jí)域名,最后的點(diǎn)被稱為 根域。

如:www.allen.ayunw.cn. ,其中最后的點(diǎn)被稱為 根域(TLD),cn被稱為頂級(jí)域(一級(jí)域名),ayunw被稱為二級(jí)域名,allen被稱為三級(jí)域名,www被稱為主機(jī)名。

k8s中,非完全限定名稱比如:demo-hello.paas.svc.cluster.local

無(wú)類(lèi)域間路由(CIDR)

如:192.168.1.0/24。想要更好的對(duì)CIDR了解的可以自行谷歌查詢?cè)斍椋@里不展開(kāi)說(shuō)。

這里,我自己有一個(gè)域名叫 www.ayunw.cn ,然后這里我嘗試用一個(gè) paas 名稱空間下的一個(gè)pod對(duì) www.ayunw.cn 做 nslookup 域名解析。并且對(duì)某一個(gè)coredns的pod進(jìn)行抓包分析。

為了測(cè)試,我這里用一個(gè)已經(jīng)發(fā)布好測(cè)試的容器。進(jìn)入容器,查看 /etc/resolv.conf 文件內(nèi)容

  1. root@demo-hello-perf-dev-v0-5-0-f9f9cd5c9-r27cw:/# cat /etc/resolv.conf 
  2. nameserver 10.10.0.2 
  3. search paas.svc.cluster.local svc.cluster.local cluster.local 
  4. options ndots:5 

在該容器中安裝 nslookup 工具,然后對(duì) www.ayunw.cn 域名進(jìn)行解析

  1. [root@kube-master-srv1 ~]# kubectl get po -n paas 
  2. NAME                                                     READY   STATUS    RESTARTS   AGE 
  3. demo-hello-perf-dev-v0-5-0-f9f9cd5c9-r27cw               1/1     Running   0          11d 
  4.  
  5. [root@kube-master-srv1 ~]# kubectl exec -it demo-hello-perf-dev-v0-5-0-f9f9cd5c9-r27cw -n paas -- bash 
  6. root@demo-hello-perf-dev-v0-5-0-f9f9cd5c9-r27cw:/# cat /etc/issue 
  7. Debian GNU/Linux 10 \n \l 
  8. root@demo-hello-perf-dev-v0-5-0-f9f9cd5c9-r27cw:/# apt -y install dnsutils 

接著找到某一個(gè)coredns,然后去他所調(diào)度到的node節(jié)點(diǎn)通過(guò)nsenter進(jìn)入網(wǎng)絡(luò)名稱空間進(jìn)行抓包分析

  1. # 在k8s-master上查看coredns調(diào)度在哪個(gè)node 
  2. # 接著我就選擇了第一個(gè)coredns 
  3. [root@kube-master-srv1 ~]# kubectl get po -n kube-system -o wide | grep coredns 
  4. coredns-69d9b6c494-4nrxt                   1/1     Running   0          96d   10.20.246.18    node2.core      <none>           <none> 
  5. coredns-69d9b6c494-6vjw4                   1/1     Running   0          96d   10.20.240.239   node3.core      <none>           <none> 
  6. coredns-69d9b6c494-pw5gx                   1/1     Running   0          96d   10.20.240.232   node3.core      <none>           <none> 
  7.  
  8.  
  9. # 登錄到 node2.core 節(jié)點(diǎn),找到coredns的pid 
  10. # 進(jìn)入這個(gè)pid進(jìn)入coredns容器的網(wǎng)絡(luò)名稱空間進(jìn)行抓包過(guò)濾分析 
  11. [root@kube-node-srv2 ~]# docker ps -a | grep coredns 
  12. 4d38fd311a78        bfe3a36ebd25                                                                 "/coredns -conf /etc…"   3 months ago        Up 3 months       k8s_coredns_coredns-69d9b6c494-4nrxt_kube-system_803290a5-b4bd-4f2e-81b3-5ce82c9aa57c_0 
  13. 00722e50786b        registry.xx.xx/library/k8s.gcr.io/pause:3.2                     "/pause"                 3 months ago        Up 3 months       k8s_POD_coredns-69d9b6c494-4nrxt_kube-system_803290a5-b4bd-4f2e-81b3-5ce82c9aa57c_0 
  14. [root@kube-node-srv2 ~]# docker inspect -f {{.State.Pid}} 4d38fd311a78 
  15. 896949 
  16. [root@kube-node-srv2 ~]# nsenter -n -t 896949 
  17. [root@kube-node-srv2 ~]# ifconfig 
  18. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1380 
  19.         inet 10.20.246.18  netmask 255.255.255.255  broadcast 10.20.246.18 
  20.         ether 46:c1:e0:30:b4:9d  txqueuelen 0  (Ethernet) 
  21.         RX packets 1489941923  bytes 162419228606 (151.2 GiB) 
  22.         RX errors 0  dropped 0  overruns 0  frame 0 
  23.         TX packets 1488233127  bytes 297011464372 (276.6 GiB) 
  24.         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 
  25.  
  26. lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536 
  27.         inet 127.0.0.1  netmask 255.0.0.0 
  28.         loop  txqueuelen 1000  (Local Loopback) 
  29.         RX packets 83731165  bytes 6681735331 (6.2 GiB) 
  30.         RX errors 0  dropped 0  overruns 0  frame 0 
  31.         TX packets 83731165  bytes 6681735331 (6.2 GiB) 
  32.         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 

解析k8s集群的內(nèi)部域名

這里說(shuō)的集群內(nèi)部域名就是 service的名字。我這里用的是kubernetes這個(gè)service來(lái)測(cè)試 連續(xù)解析6次,為了方便查看,我每執(zhí)行一次解析,下面抓包的終端就敲一次回車(chē)。

  1. [root@kube-master-srv1 ~]# kubectl get svc kubernetes 
  2. NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE 
  3. kubernetes   ClusterIP   10.10.0.1    <none>        443/TCP   57d 
  4.  
  5. root@demo-hello-perf-dev-v0-5-0-f9f9cd5c9-r27cw:/# nslookup kubernetes.default 
  6. Server:  10.10.0.2 
  7. Address: 10.10.0.2#53 
  8.  
  9. Name: kubernetes.default.svc.cluster.local 
  10. Address: 10.10.0.1 

抓包分析

以下是抓取kubernetes這個(gè)域名的DNS包的結(jié)果

  1. [root@kube-node-srv2 ~]# tcpdump -i eth0 port 53 | grep "kubernetes" 
  2. tcpdump: verbose output suppressed, use -v or -vv for full protocol decode 
  3. listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 
  4. 16:44:42.712421 IP 10.20.105.252.60020 > qing-core-kube-node-srv2.domain: 7282+ A? kubernetes.default.svc.cluster.local. (54) 
  5.  
  6. 16:44:48.883881 IP 10.20.105.252.ndm-agent-port > qing-core-kube-node-srv2.domain: 25500+ AAAA? kubernetes.default.svc.cluster.local. (54) 
  7.  
  8. 16:50:15.361021 IP 10.20.105.252.57205 > qing-core-kube-node-srv2.domain: 24061+ A? kubernetes.default.paas.svc.cluster.local. (59) 
  9.  
  10. 16:50:22.186723 IP 10.20.105.252.60715 > qing-core-kube-node-srv2.domain: 55799+ AAAA? kubernetes.default.svc.cluster.local. (54) 
  11. 16:50:27.813477 IP qing-core-kube-node-srv2.domain > 10.20.176.128.8181: 21787*- 1/0/0 PTR kubernetes.default.svc.cluster.local. (112) 
  12.  
  13.  
  14. 16:46:04.429250 IP 10.20.105.252.33895 > qing-core-kube-node-srv2.domain: 37943+ A? kubernetes.default.svc.cluster.local.svc.cluster.local. (72) 
  15. 16:46:04.441717 IP 10.20.105.252.54502 > qing-core-kube-node-srv2.domain: 45454+ AAAA? kubernetes.default.svc.cluster.local. (54) 
  16.  
  17.  
  18. 16:46:10.771445 IP 10.20.105.252.54594 > qing-core-kube-node-srv2.domain: 16257+ A? kubernetes.default.svc.cluster.local.svc.cluster.local. (72) 
  19. 16:46:10.783322 IP 10.20.105.252.59768 > qing-core-kube-node-srv2.domain: 60408+ AAAA? kubernetes.default.svc.cluster.local. (54) 

通過(guò)以上抓包分析得出結(jié)論。當(dāng)解析kubernetes域名的時(shí)候,點(diǎn)的個(gè)數(shù)比ndots的值小,則按照search后面的本地域參數(shù)填補(bǔ)了域名后綴,當(dāng)按照順序 用 paas.svc.cluster.local 填補(bǔ)的時(shí)候解析到了A記錄。然后終止dns查詢將查詢到的A記錄返回。

通過(guò)host命令對(duì)名為kubernetes的service的集群內(nèi)部域名進(jìn)行解析

  1. root@demo-hello-pro-master-5474b97bdf-fvbm5:/# host -v kubernetes.default 
  2. Trying "kubernetes.default.paas.svc.cluster.local" 
  3. Trying "kubernetes.default.svc.cluster.local" 
  4. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18054 
  5. ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 
  6.  
  7. ;; QUESTION SECTION
  8. ;kubernetes.default.svc.cluster.localIN A 
  9.  
  10. ;; ANSWER SECTION
  11. kubernetes.default.svc.cluster.local. 5 IN A 10.10.0.1 
  12.  
  13. Received 106 bytes from 10.10.0.2#53 in 3 ms 
  14. Trying "kubernetes.default.svc.cluster.local" 
  15. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58952 
  16. ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 
  17.  
  18. ;; QUESTION SECTION
  19. ;kubernetes.default.svc.cluster.localIN AAAA 
  20.  
  21. ;; AUTHORITY SECTION
  22. cluster.local.  5 IN SOA ns.dns.cluster.local. hostmaster.cluster.local. 1622445553 7200 1800 86400 5 
  23.  
  24. Received 147 bytes from 10.10.0.2#53 in 2 ms 
  25. Trying "kubernetes.default.svc.cluster.local" 
  26. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37783 
  27. ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 
  28.  
  29. ;; QUESTION SECTION
  30. ;kubernetes.default.svc.cluster.localIN MX 
  31.  
  32. ;; AUTHORITY SECTION
  33. cluster.local.  5 IN SOA ns.dns.cluster.local. hostmaster.cluster.local. 1622445553 7200 1800 86400 5 
  34.  
  35. Received 147 bytes from 10.10.0.2#53 in 2 ms 

解析k8s集群外部域名

接下來(lái)針對(duì)我的 www.ayunw.cn 這個(gè)域名進(jìn)行多次解析。這里我為了測(cè)試,發(fā)起了6 次解析。我每執(zhí)行一次解析,下面抓包的終端就敲一次回車(chē)。解析的同時(shí)去coredns這個(gè)容器所在的節(jié)點(diǎn)進(jìn)行抓包分析。

  1. root@demo-hello-perf-dev-v0-5-0-f9f9cd5c9-r27cw:/# nslookup www.ayunw.cn 
  2. Server:  10.10.0.2 
  3. Address: 10.10.0.2#53 
  4.  
  5. Non-authoritative answer: 
  6. Name: www.ayunw.cn 
  7. Address: 134.175.123.64 

抓包分析

抓包開(kāi)始,由于我的集群有大量的服務(wù),每秒都有很多內(nèi)部服務(wù)dns解析請(qǐng)求。所以這里我過(guò)濾了關(guān)鍵字ayunw。上面的dns每執(zhí)行一次,我在這個(gè)抓包的窗口就敲一下回車(chē),這樣的話方便看清楚每一次的解析結(jié)果

以下是抓 www.ayunw.cn 的域名DNS包的結(jié)果:

  1. [root@kube-node-srv2 ~]# tcpdump -i eth0 port 53 | grep "ayunw" 
  2. tcpdump: verbose output suppressed, use -v or -vv for full protocol decode 
  3. listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 
  4. 14:38:07.350640 IP 10.20.105.252.47767 > qing-core-kube-node-srv2.domain: 13102+ A? www.ayunw.cn.cluster.local. (44) 
  5.  
  6. 14:38:19.098753 IP 10.20.105.252.47071 > qing-core-kube-node-srv2.domain: 15535+ A? www.ayunw.cn.paas.svc.cluster.local. (53) 
  7. 14:38:19.111441 IP 10.20.105.252.56968 > qing-core-kube-node-srv2.domain: 62838+ A? www.ayunw.cn. (30) 
  8. 14:38:19.111720 IP qing-core-kube-node-srv2.35187 > 172.16.0.11.domain: 62838+ A? www.ayunw.cn. (30) 
  9.  
  10. 14:38:31.200982 IP 10.20.105.252.50777 > qing-core-kube-node-srv2.domain: 10715+ A? www.ayunw.cn.svc.cluster.local. (48) 
  11. 14:38:31.214096 IP 10.20.105.252.51233 > qing-core-kube-node-srv2.domain: 37585+ AAAA? www.ayunw.cn. (30) 
  12. 14:38:31.214299 IP qing-core-kube-node-srv2.35187 > 172.16.0.11.domain: 37585+ AAAA? www.ayunw.cn. (30) 
  13. 14:39:04.691754 IP 10.20.105.252.34080 > qing-core-kube-node-srv2.domain: 34206+ A? www.ayunw.cn.paas.svc.cluster.local. (53) 
  14. 14:39:04.704758 IP 10.20.105.252.36478 > qing-core-kube-node-srv2.domain: 64751+ A? www.ayunw.cn. (30) 
  15. 14:39:04.705068 IP qing-core-kube-node-srv2.48926 > 172.16.0.11.domain: 64751+ A? www.ayunw.cn. (30) 
  16.  
  17. 14:39:13.925872 IP 10.20.105.252.59868 > qing-core-kube-node-srv2.domain: 45121+ A? www.ayunw.cn.paas.svc.cluster.local. (53) 
  18. 14:39:13.937328 IP 10.20.105.252.45290 > qing-core-kube-node-srv2.domain: 27511+ A? www.ayunw.cn. (30) 
  19. 14:39:13.937576 IP qing-core-kube-node-srv2.48926 > 172.16.0.11.domain: 27511+ A? www.ayunw.cn. (30) 
  20.  
  21. 14:39:24.838444 IP 10.20.105.252.37510 > qing-core-kube-node-srv2.domain: 45926+ A? www.ayunw.cn.cluster.local. (44) 
  22.  
  23. 14:45:13.438961 IP 10.20.105.252.55462 > qing-core-kube-node-srv2.domain: 60170+ A? www.ayunw.cn.paas.svc.cluster.local. (53) 
  24. 14:45:13.450865 IP 10.20.105.252.42674 > qing-core-kube-node-srv2.domain: 25680+ A? www.ayunw.cn. (30) 
  25. 14:45:13.451110 IP qing-core-kube-node-srv2.56396 > 172.16.0.11.domain: 25680+ A? www.ayunw.cn. (30) 
  26.  
  27. ^C35952 packets captured 
  28. 35956 packets received by filter 
  29. 0 packets dropped by kernel 

從上面抓包分析的結(jié)果來(lái)看, www.ayunw.cn 的這個(gè)域名只有兩個(gè)點(diǎn),比pod里面 /etc/resolv.conf 文件中的 ndots 配置的值小(ndots的值為5,域名的點(diǎn)為2)。則會(huì)按照search的參數(shù)填補(bǔ)域名后綴,并且是根據(jù)search后面的順序 paas.svc.cluster.local 、 svc.cluster.local 、 cluster.local 依次來(lái)填充的。因?yàn)楦鶕?jù)search后面的本地域匹配后都沒(méi)有域名解析的結(jié)果,因此他就直接解析了 www.ayunw.cn 這個(gè)域名查詢到了該域名的A記錄并且返回了結(jié)果。

通過(guò)host命令來(lái)進(jìn)行解析

  1. root@demo-hello-pro-master-5474b97bdf-fvbm5:/# host -v www.ayunw.cn 
  2. Trying "www.ayunw.cn.paas.svc.cluster.local" 
  3. Trying "www.ayunw.cn.svc.cluster.local" 
  4. Trying "www.ayunw.cn.cluster.local" 
  5. Trying "www.ayunw.cn" 
  6. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8135 
  7. ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 0 
  8.  
  9. ;; QUESTION SECTION
  10. ;www.ayunw.cn.   IN A 
  11.  
  12. ;; ANSWER SECTION
  13. www.ayunw.cn.  30 IN A 134.175.123.64 
  14.  
  15. ;; AUTHORITY SECTION
  16. .   30 IN NS l.root-servers.net. 
  17. .   30 IN NS e.root-servers.net. 
  18. .   30 IN NS h.root-servers.net. 
  19. .   30 IN NS k.root-servers.net. 
  20. .   30 IN NS d.root-servers.net. 
  21. .   30 IN NS b.root-servers.net. 
  22. .   30 IN NS g.root-servers.net. 
  23. .   30 IN NS j.root-servers.net. 
  24. .   30 IN NS m.root-servers.net. 
  25. .   30 IN NS i.root-servers.net. 
  26. .   30 IN NS f.root-servers.net. 
  27. .   30 IN NS c.root-servers.net. 
  28. .   30 IN NS a.root-servers.net. 
  29.  
  30. Received 461 bytes from 10.10.0.2#53 in 94 ms 
  31. Trying "www.ayunw.cn" 
  32. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11085 
  33. ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 
  34.  
  35. ;; QUESTION SECTION
  36. ;www.ayunw.cn.   IN AAAA 
  37.  
  38. ;; AUTHORITY SECTION
  39. ayunw.cn.  5 IN SOA dns17.hichina.com. hostmaster.hichina.com. 2019070911 3600 1200 86400 360 
  40.  
  41. Received 113 bytes from 10.10.0.2#53 in 99 ms 
  42. Trying "www.ayunw.cn" 
  43. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19432 
  44. ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 
  45.  
  46. ;; QUESTION SECTION
  47. ;www.ayunw.cn.   IN MX 
  48.  
  49. ;; AUTHORITY SECTION
  50. ayunw.cn.  5 IN SOA dns17.hichina.com. hostmaster.hichina.com. 2019070911 3600 1200 86400 360 
  51.  
  52. Received 113 bytes from 10.10.0.2#53 in 51 ms 

因?yàn)槲业膒od中存在三個(gè)本地域:paas.svc.cluster.local 、 svc.cluster.local 、 cluster.local ,通過(guò)host命令可以看到,Trying 一共嘗試了四次,一次根據(jù)我search后面的本地域進(jìn)行了解析搜索,結(jié)果沒(méi)有搜索到正確的解析,因此通過(guò)pod所在的宿主機(jī)本地的 /etc/resolv.conf 文件中進(jìn)行了解析。

本地宿主機(jī)的/etc/resolv.conf的解析如下: 我這里公司用了內(nèi)部bind服務(wù),做了內(nèi)部dns,然后上游指向了百度的dns。

  1. # cat /etc/resolv.conf 
  2. options rotate timeout:1 
  3. ; generated by /usr/sbin/dhclient-script 
  4. nameserver 172.16.0.11 
  5. nameserver 172.16.0.12 

解析 www.jd.com 域名

  1. root@demo-hello-perf-dev-v0-5-0-f9f9cd5c9-r27cw:/# nslookup www.jd.com 
  2. Server:  10.10.0.2 
  3. Address: 10.10.0.2#53 
  4.  
  5. Non-authoritative answer: 
  6. www.jd.com canonical name = www.jd.com.gslb.qianxun.com. 
  7. www.jd.com.gslb.qianxun.com canonical name = www.jdcdn.com. 
  8. www.jdcdn.com canonical name = img20.360buyimg.com.s.galileo.jcloud-cdn.com. 
  9. img20.360buyimg.com.s.galileo.jcloud-cdn.com canonical name = img2x-sched.jcloud-cdn.com. 
  10. Name: img2x-sched.jcloud-cdn.com 
  11. Address: 113.107.249.3 

以下是抓www.jd.com的域名DNS包的結(jié)果:

  1. [root@kube-node-srv2 ~]# tcpdump -i eth0 port 53 | grep "jd" 
  2. tcpdump: verbose output suppressed, use -v or -vv for full protocol decode 
  3. listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 
  4. 16:17:52.935226 IP 10.20.105.252.56775 > qing-core-kube-node-srv2.domain: 17278+ A? www.jd.com.paas.svc.cluster.local. (51) 
  5. 16:17:52.947890 IP 10.20.105.252.52012 > qing-core-kube-node-srv2.domain: 12806+ A? www.jd.com. (28) 
  6. 16:17:52.948150 IP qing-core-kube-node-srv2.54626 > 172.16.0.11.domain: 12806+ A? www.jd.com. (28) 
  7. 16:17:53.054427 IP 172.16.0.11.domain > qing-core-kube-node-srv2.54626: 12806 5/13/0 CNAME www.jd.com.gslb.qianxun.com., CNAME www.jdcdn.com., CNAME img20.360buyimg.com.s.galileo.jcloud-cdn.com., CNAME img2x-sched.jcloud-cdn.com., A 113.107.249.3 (398) 
  8. 16:17:53.054677 IP qing-core-kube-node-srv2.domain > 10.20.105.252.52012: 12806 5/13/0 CNAME www.jd.com.gslb.qianxun.com., CNAME www.jdcdn.com., CNAME img20.360buyimg.com.s.galileo.jcloud-cdn.com., CNAME img2x-sched.jcloud-cdn.com., A 113.107.249.3 (398) 

通過(guò)host命令檢測(cè)www.jd.com和上面www.ayunw.cn一樣的

  1. root@demo-hello-pro-master-5474b97bdf-fvbm5:/# host -v www.jd.com 
  2. Trying "www.jd.com.paas.svc.cluster.local" 
  3. Trying "www.jd.com.svc.cluster.local" 
  4. Trying "www.jd.com.cluster.local" 
  5. Trying "www.jd.com" 
  6. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61910 
  7. ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 13, ADDITIONAL: 0 
  8.  
  9. ;; QUESTION SECTION
  10. ;www.jd.com.   IN A 
  11.  
  12. ;; ANSWER SECTION
  13. www.jd.com.  13 IN CNAME www.jd.com.gslb.qianxun.com. 
  14. www.jd.com.gslb.qianxun.com. 13 IN CNAME www.jdcdn.com. 
  15. www.jdcdn.com.  13 IN CNAME img20.360buyimg.com.s.galileo.jcloud-cdn.com. 
  16. img20.360buyimg.com.s.galileo.jcloud-cdn.com. 13 IN CNAME img2x-sched.jcloud-cdn.com. 
  17. img2x-sched.jcloud-cdn.com. 13 IN A 113.107.249.3 
  18.  
  19. ;; AUTHORITY SECTION
  20. .   13 IN NS f.root-servers.net. 
  21. .   13 IN NS i.root-servers.net. 
  22. .   13 IN NS d.root-servers.net. 
  23. .   13 IN NS l.root-servers.net. 
  24. .   13 IN NS j.root-servers.net. 
  25. .   13 IN NS g.root-servers.net. 
  26. .   13 IN NS k.root-servers.net. 
  27. .   13 IN NS m.root-servers.net. 
  28. .   13 IN NS h.root-servers.net. 
  29. .   13 IN NS c.root-servers.net. 
  30. .   13 IN NS a.root-servers.net. 
  31. .   13 IN NS e.root-servers.net. 
  32. .   13 IN NS b.root-servers.net. 
  33.  
  34. Received 398 bytes from 10.10.0.2#53 in 5 ms 
  35. Trying "img2x-sched.jcloud-cdn.com" 
  36. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64422 
  37. ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 
  38.  
  39. ;; QUESTION SECTION
  40. ;img2x-sched.jcloud-cdn.com. IN AAAA 
  41.  
  42. ;; AUTHORITY SECTION
  43. jcloud-cdn.com.  5 IN SOA ns1.jdgslb.com. apollo.jdgslb.com. 1622435242 10800 3600 604800 3600 
  44.  
  45. Received 125 bytes from 10.10.0.2#53 in 4 ms 
  46. Trying "img2x-sched.jcloud-cdn.com" 
  47. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43091 
  48. ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 
  49.  
  50. ;; QUESTION SECTION
  51. ;img2x-sched.jcloud-cdn.com. IN MX 
  52.  
  53. ;; AUTHORITY SECTION
  54. jcloud-cdn.com.  5 IN SOA ns1.jdgslb.com. apollo.jdgslb.com. 1622435242 10800 3600 604800 3600 
  55.  
  56. Received 125 bytes from 10.10.0.2#53 in 40 ms 

查看域名的點(diǎn)數(shù)等于ndots的值5的域名解析

這里我有一個(gè)阿里云上的域名,做了一個(gè)dns解析并且測(cè)試了4次

  1. root@demo-hello-perf-dev-v0-5-0-f9f9cd5c9-r27cw:/# nslookup x.y.z.v.ayunw.cn 
  2. Server:  10.10.0.2 
  3. Address: 10.10.0.2#53 
  4.  
  5. Non-authoritative answer: 
  6. Name: x.y.z.v.ayunw.cn 
  7. Address: 134.175.123.64 

抓包分析

  1. [root@kube-node-srv2 ~]# tcpdump -i eth0 port 53 | grep "ayunw" 
  2. tcpdump: verbose output suppressed, use -v or -vv for full protocol decode 
  3. listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 
  4. 16:36:49.928116 IP 10.20.105.252.46581 > qing-core-kube-node-srv2.domain: 38769+ A? x.y.z.v.ayunw.cn. (34) 
  5. 16:36:49.928383 IP qing-core-kube-node-srv2.59801 > 172.16.0.11.domain: 38769+ A? x.y.z.v.ayunw.cn. (34) 
  6.  
  7. 16:36:56.901762 IP 10.20.105.252.43844 > qing-core-kube-node-srv2.domain: 3524+ A? x.y.z.v.ayunw.cn. (34) 
  8.  
  9. 16:37:01.763743 IP 10.20.105.252.36053 > qing-core-kube-node-srv2.domain: 62952+ AAAA? x.y.z.v.ayunw.cn. (34) 
  10. 16:37:01.764110 IP qing-core-kube-node-srv2.59801 > 172.16.0.11.domain: 62952+ AAAA? x.y.z.v.ayunw.cn. (34) 
  11.  
  12. 16:37:06.851820 IP 10.20.105.252.36305 > qing-core-kube-node-srv2.domain: 58393+ AAAA? x.y.z.v.ayunw.cn. (34) 
  13. 16:37:06.852118 IP qing-core-kube-node-srv2.59801 > 172.16.0.11.domain: 58393+ AAA 

從上述抓包結(jié)果可以看到,如果域名中的點(diǎn)等于ndots的值,他會(huì)直接解析域名,不會(huì)用search后面的本地域來(lái)填補(bǔ)的。可能因?yàn)槲野⒗镌粕线@個(gè)域名的原因,不支持超過(guò)5個(gè)點(diǎn)的域名解析。所以超過(guò)5個(gè)點(diǎn)的域名我無(wú)法測(cè)試。

結(jié)論

如果點(diǎn)的個(gè)數(shù)小于5個(gè),那么會(huì)根據(jù)search中配置的本地域列表一次在對(duì)應(yīng)域中先進(jìn)行搜索。如果沒(méi)有返回,則最后再查詢域名本身。如果說(shuō)search中配置的本地域列表沒(méi)有一個(gè)匹配的,那么就會(huì)走到服務(wù)器宿主機(jī)的/etc/resolv.conf中去解析。如果你kubelet中clusterdomain配置錯(cuò)了。那么search中沒(méi)有任何一個(gè)匹配的到,直接轉(zhuǎn)發(fā)到本地DNS,走正常的遞歸查詢邏輯。

通過(guò)以上測(cè)試發(fā)現(xiàn)ndots的值和請(qǐng)求的域名是相關(guān)的。為了避免多次的DNS解析查詢,可以將需要進(jìn)行解析的域名進(jìn)行相對(duì)的優(yōu)化 盡可能將域名中的點(diǎn)都帶上,并且最好是等于ndots的值。比如:kubernetes.paas.svc.cluster.local。這樣他就直接解析到了這個(gè)域名返回了A記錄而不是在通過(guò)search后面的本地域去解析多次。如果你解析的域名是kubernetes.paas他就會(huì)根據(jù)search后面的本地域去進(jìn)行補(bǔ)全解析多次了 在同一個(gè)namespace下可以直接解析service的名稱。比如:nslookup kubernetes,他會(huì)補(bǔ)全default.svc.cluster.local,但是為了解析失敗個(gè)人建議最好還是將域名寫(xiě)完整。

 

責(zé)任編輯:武曉燕 來(lái)源: 運(yùn)維開(kāi)發(fā)故事
相關(guān)推薦

2023-10-31 08:10:24

域名域名解析服務(wù)器

2020-02-26 18:00:12

dig命令Linux域名解析

2023-03-09 08:12:08

免登錄實(shí)Python腳本

2010-05-24 15:35:58

IPv6域名解析

2024-09-25 08:15:52

DNS域名解析證書(shū)告警

2018-03-29 09:46:02

2023-11-27 22:55:17

DNS域名解析

2017-12-22 10:48:41

郵件服務(wù)器PTR

2021-11-12 09:35:33

網(wǎng)址URLLinux

2019-10-30 05:32:17

網(wǎng)址URLIP地址

2011-05-31 16:55:43

2019-03-18 10:44:41

負(fù)載均衡DNSUDP

2015-12-07 14:11:01

2010-12-22 11:01:00

綠盟科技網(wǎng)站域名解析監(jiān)測(cè)

2024-11-01 08:30:00

2020-07-22 14:30:29

JavaHTTPS加密

2013-08-16 09:14:55

DNSPod域名解析

2022-03-22 07:37:33

DNS域名IP

2015-11-06 10:40:55

2013-04-18 15:26:41

域名
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

欧美日韩亚洲免费| 久久久久久成人精品| 男女无套免费视频网站动漫| 国产在线资源| 久草在线在线精品观看| 欧美韩国理论所午夜片917电影| 影音先锋黄色资源| 欧美123区| 亚洲综合丁香婷婷六月香| 久久www免费人成精品| 中文字幕+乱码+中文乱码www | 久久久免费看| 一区二区国产欧美| 国产欧美69| 精品国产一区二区三区久久狼黑人 | 在线免费av网站| 国产.欧美.日韩| 国产精品99久久久久久久久久久久| 男人晚上看的视频| 日韩精品欧美大片| 51精品久久久久久久蜜臀| 天天夜碰日日摸日日澡性色av| 国产福利第一视频在线播放| 国产 欧美在线| 国产美女被下药99| 在线观看免费av片| 欧美成人有码| 在线亚洲午夜片av大片| 亚洲一区二区三区综合| 高清不卡一区| 欧美亚洲尤物久久| 国产成人无码a区在线观看视频| 欧美18hd| 日本一区二区三区久久久久久久久不 | 国内精品在线播放| 国产精品久久久久久久久粉嫩av| 日韩精品人妻中文字幕| 欧美一区二区三区免费看| 一个人看的www久久| 国产麻豆xxxvideo实拍| 99这里只有精品视频| 欧美性大战久久久久久久蜜臀| av之家在线观看| 欧美高清另类hdvideosexjaⅴ| 中文成人综合网| 六月婷婷久久| 免费观看国产视频| 国产高清亚洲一区| 91精品视频网站| 一级黄色大片免费| 秋霞成人午夜伦在线观看| 日本久久亚洲电影| 99久久精品国产亚洲| 亚洲视频大全| 2018日韩中文字幕| 日韩污视频在线观看| 在线欧美视频| 久久久久久久久91| 国产精品18p| av成人天堂| 91国语精品自产拍在线观看性色| 久久精品国产亚洲av无码娇色 | 久久久精品免费| 蜜桃av免费在线观看| 成人在线免费观看91| 中文字幕精品一区二区精品| 国产视频不卡在线| 日韩久久综合| 久久电影一区二区| 欧美人与禽zozzo禽性配| 国内精品久久久久久久97牛牛| 欧美成人一二三| 国产又黄又爽又无遮挡| 欧美日韩第一区| 久久久久久高潮国产精品视| 免费日韩一级片| 久久精品一区二区三区中文字幕| 日韩av电影在线网| 中文字幕av网站| 国产尤物一区二区| 国产精品乱码| 黄色免费在线播放| 国产精品高清亚洲| 亚洲爆乳无码精品aaa片蜜桃| 欧美videos另类精品| 午夜精品aaa| 37pao成人国产永久免费视频| 羞羞影院欧美| 欧美久久久久久久久久| 最新中文字幕日本| 校园春色另类视频| 中文字幕亚洲欧美日韩高清| 日韩av手机在线免费观看| 欧美日本亚洲韩国国产| 69av在线播放| 91久久国语露脸精品国产高跟| 国产乱码精品一区二区三区av| 国产精品露出视频| 992tv免费直播在线观看| 亚洲免费大片在线观看| 成人免费在线小视频| 日本在线一区二区| 精品国产乱码久久久久久老虎| 中文字幕成人动漫| 综合激情一区| 国产成人精品久久亚洲高清不卡| 国产一区二区三区在线观看| 成人国产免费视频| 亚洲一区二区在线看| 成人影音在线| 欧美日韩国产综合视频在线观看| 污污污www精品国产网站| 日韩精品久久久久久久电影99爱| 欧美极品少妇全裸体| 中文字幕久久网| www.av亚洲| 国产成人生活片| 日韩天堂在线| 亚洲福利视频网站| 国产精品18在线| 一本综合精品| 亚洲在线观看视频| 777电影在线观看| 欧美性猛交xxxx久久久| 亚洲免费观看在线| 小处雏高清一区二区三区| 日本最新高清不卡中文字幕| 亚洲免费黄色片| 中文字幕在线不卡一区二区三区| www.中文字幕在线| 中文无码日韩欧| www国产精品视频| 高潮毛片又色又爽免费| 成人国产亚洲欧美成人综合网| 四虎免费在线观看视频| a成人v在线| 亚洲人免费视频| 国产www在线| 99久久精品免费精品国产| 992tv快乐视频| 亚洲综合资源| 色妞色视频一区二区三区四区| 日韩av大片在线观看| 不卡视频免费播放| 男人天堂av片| 成人直播在线观看| 欧美极品少妇全裸体| 亚洲国产www| 亚洲一线二线三线久久久| 91人妻一区二区三区| 91超碰成人| 亚洲tv在线观看| 国产不卡在线| 日韩一二三四区| 欧美三级免费看| 国产精品99久久久久久久女警 | 一本不卡影院| 国产伦精品一区二区三区视频黑人 | 欧美亚洲人成在线| 日韩一区二区精品视频| 91无套直看片红桃| 亚洲乱码国产乱码精品精的特点 | 亚洲精品视频播放| www.伊人久久| 国产日产欧产精品推荐色| 亚洲中文字幕久久精品无码喷水| 国产精品一区2区3区| 国产精品福利在线观看| 99riav在线| 宅男在线国产精品| 久久久一区二区三区四区| 成人激情免费网站| 欧美三级午夜理伦三级| sdde在线播放一区二区| 成人黄色中文字幕| 在线播放蜜桃麻豆| 亚洲精品国偷自产在线99热| 99精品人妻国产毛片| 国产精品毛片高清在线完整版| 特级黄色片视频| 黑人一区二区三区四区五区| 精品欧美日韩在线| 99久久er| 国产69精品久久久久99| 欧洲伦理片一区 二区 三区| 欧美日韩亚洲国产综合| 青娱乐国产精品| 91色视频在线| 久久久精品高清| 在线观看视频免费一区二区三区 | 久久精品国内一区二区三区水蜜桃| 亚洲综合日韩中文字幕v在线| 黄色小说在线播放| 亚洲欧美制服丝袜| 国产精品视频一二区| 亚洲444eee在线观看| av永久免费观看| 国产精品一卡二卡在线观看| 欧美牲交a欧美牲交aⅴ免费下载| 日韩精品一区二区三区免费观影| 国产精品视频免费一区| 成人国产精品| 91精品国产91久久久久久久久| chinese偷拍一区二区三区| 欧美xxxx在线观看| 黄色大全在线观看| 亚洲一二三区在线观看| 中文字幕第24页| 成人h版在线观看| 亚洲一区二区福利视频| 久久裸体视频| 日本免费a视频| 手机在线一区二区三区| 九色综合日本| 欧美a在线观看| 国产精品一区二区电影| 在线观看特色大片免费视频| 不卡中文字幕av| aaa在线免费观看| 日韩精品中文字| 精品国产亚洲一区二区麻豆| 欧美亚洲日本国产| 国产精品一区二区三区四| 亚洲人成在线观看一区二区| 日本乱子伦xxxx| 94色蜜桃网一区二区三区| 久久精品无码一区二区三区毛片| 奇米影视一区二区三区| 国内外成人免费激情视频| 红桃视频国产精品| 中文字幕乱码免费| 午夜激情久久| 一卡二卡3卡四卡高清精品视频| 亚洲最好看的视频| 精品久久蜜桃| 国产丝袜一区| 国产高清一区视频| 日韩一二三区在线观看| 91九色视频在线| 亚洲狼人综合| 国产区亚洲区欧美区| 99热播精品免费| 国产精品美女在线| 日本精品在线一区| 国产精品久久99久久| 五月激情久久| 国产精品日韩在线播放| 国产一区一一区高清不卡| 国产成人精品久久久| 欧美影视资讯| 国产精品久久久999| 国产韩日精品| 国产精品一区二区三区久久久 | 尹人成人综合网| 国产一区二区三区小说| 亚洲午夜久久久久久尤物| 丁香六月激情婷婷| 日韩亚洲精品在线| 男女午夜激情视频| 日韩和欧美一区二区| 国产成人综合一区| 麻豆高清免费国产一区| 三区视频在线观看| 丰满放荡岳乱妇91ww| 又黄又爽的网站| 26uuu精品一区二区三区四区在线| 国产ts丝袜人妖系列视频| 久久综合狠狠综合| 99精品欧美一区二区| 亚洲欧美综合网| 免费人成年激情视频在线观看| 亚洲高清免费视频| 亚洲高清毛片一区二区| 欧美在线观看一区| 一级黄色大片网站| 欧美tk—视频vk| 欧洲天堂在线观看| 久久精品国产清自在天天线| 色a资源在线| 青青草精品毛片| 日本亚洲欧洲无免费码在线| 国产91亚洲精品一区二区三区| 国内自拍欧美| 天堂精品一区二区三区| 一本精品一区二区三区| 欧美 丝袜 自拍 制服 另类| 免费国产亚洲视频| 国模大尺度视频| 91欧美激情一区二区三区成人| 网站永久看片免费| 亚洲国产成人精品视频| 波多野结衣小视频| 日韩一区二区高清| 手机福利小视频在线播放| 中文字幕在线观看日韩| 激情影院在线| 国产精品精品国产| 麻豆成人入口| 天天做天天爱天天高潮| 亚洲欧美日韩综合国产aⅴ| 手机av在线免费| 97久久精品人人做人人爽50路| 人妻无码一区二区三区免费| 亚洲不卡av一区二区三区| 中文字字幕在线观看| 亚洲激情第一页| 麻豆视频在线观看免费网站| 欧美与欧洲交xxxx免费观看 | 在线不卡中文字幕播放| 香蕉视频成人在线| 欧美成年人在线观看| 成人精品三级| 国产三级精品在线不卡| 国产精品久久占久久| 欧美激情国产精品日韩| 成人黄色国产精品网站大全在线免费观看| 岛国片在线免费观看| 色综合久久88色综合天天6| 亚洲欧美激情另类| 日韩在线观看免费网站| 欧美成人黑人| 国内精品一区二区| 午夜久久黄色| 天堂在线中文在线| 国产农村妇女毛片精品久久麻豆| 在线观看免费国产视频| 欧美mv日韩mv亚洲| 大片免费在线观看| 国产精品视频成人| 国产精品最新| 黄色片一级视频| 久久综合丝袜日本网| 日韩免费观看一区二区| 精品国产自在久精品国产| 成人区精品一区二区不卡| 国产精品一区久久| 不卡日本视频| 午夜视频在线瓜伦| 国产午夜一区二区三区| 东京热一区二区三区四区| 日韩av网址在线观看| free性欧美| 国产乱码精品一区二区三区卡| 亚洲视频中文| 逼特逼视频在线观看| 夜夜嗨av一区二区三区四季av| 99久久国产热无码精品免费| 久久综合免费视频影院| 亚洲综合视频| 中文字幕の友人北条麻妃| 国产一区二区三区日韩| 极品盗摄国产盗摄合集| 欧美一级在线免费| 在线视频中文字幕第一页| 99在线看视频| 激情五月***国产精品| 娇妻高潮浓精白浆xxⅹ| 午夜精品福利一区二区蜜股av | 日韩中文字幕亚洲| 亚洲狼人在线| 人妻激情另类乱人伦人妻| 成人性生交大片免费看中文网站| 国产精品9191| 亚洲欧美在线免费观看| 国产a亚洲精品| 亚洲国产精品女人| 国产999精品久久| 综合激情网五月| 一区二区三区四区在线观看视频| av一区在线| 一本色道久久88亚洲精品综合| 成人黄色小视频在线观看| 高清乱码免费看污| 日韩资源在线观看| 这里视频有精品| 欧美 国产 小说 另类| 国产精品久久久久久户外露出| jizz中国少妇| 91精品国产91久久久| 日韩免费看片| 久久国产劲爆∧v内射| 色综合久久99| av在线免费网址| 蜜桃av色综合| 精品一区二区三区在线播放视频| 麻豆亚洲av熟女国产一区二 | 91九色视频在线| 亚洲三级网站| 97人妻人人揉人人躁人人| 日韩视频免费直播| 中文字幕乱码在线播放| 正在播放一区二区三区| 成人高清视频在线| 亚洲自拍第二页| 97人洗澡人人免费公开视频碰碰碰| 欧美一级本道电影免费专区| 黄色国产在线视频| 欧美日韩一区中文字幕| 国产夫妻在线播放| 超碰成人在线免费观看|