精品福利视频一区二区三区,免费A级毛片无码无遮挡,偷窥目拍性综合图区,亚洲欧洲无码AV电影在线观看,超清无码熟妇人妻AV在线电影

認證培訓,h3c認證體系,網(wǎng)絡(luò )工程師
豐沃創(chuàng  )新

OpenStack應用Designate實(shí)現DNS服務(wù)

  • 發(fā)布時(shí)間: 2017-9-29 9:28:41

一、DNS相關(guān)簡(jiǎn)介

DNS(Domain Name System)是Internet的重要組成部分,它的核心是為IP地址提供一個(gè)更易記住的名字。Internet上的大部分服務(wù)都會(huì )用到DNS,例如:訪(fǎng)問(wèn)網(wǎng)站,發(fā)送郵件,登錄軟件系統,玩游戲,網(wǎng)絡(luò )聊天等。瀏覽器通過(guò)域名訪(fǎng)問(wèn)網(wǎng)站的實(shí)際過(guò)程如下圖所示:

DNS從1985年開(kāi)始被使用。但是為IP地址提供一個(gè)更易記住的名字可以追溯到ARPANET(Internet前身)時(shí)代。最早的ARPANET網(wǎng)絡(luò )通過(guò)一個(gè)hosts.txt文件管理地址和hostname的關(guān)系,用戶(hù)需要DNS服務(wù),就從一個(gè)ftp下載host.txt文件到本地。最開(kāi)始的網(wǎng)絡(luò )中也就幾百臺計算機,這種方法沒(méi)什么問(wèn)題。但是隨著(zhù)網(wǎng)絡(luò )的增加,文件存儲的方式不能滿(mǎn)足規模的要求。為了適應日益增長(cháng)的網(wǎng)絡(luò )規模,DNS被提出。不過(guò)host.txt文件被保留下來(lái)了,這就是我們日常熟悉的hosts文件,Linux在/etc/hosts,Windows在 C:/Windows/System32/Drivers/etc/hosts。在現代的計算機中,當請求Domain name(域名)解析時(shí),還是先查找計算機的hosts文件,如果hosts文件沒(méi)有相應的記錄,才會(huì )觸發(fā)DNS請求。
作為host.txt的改進(jìn)方案,DNS本質(zhì)上是一個(gè)Internet上的域名和IP地址相互映射的分布式數據庫。數據庫以樹(shù)形結構存在,如下圖所示:

樹(shù)中每個(gè)節點(diǎn)都有自己的標簽,根節點(diǎn)有個(gè)特殊的標簽“.”。樹(shù)結構中一條路徑中所有節點(diǎn)的標簽構成了DNS域名。這與Unix文件系統路徑類(lèi)似,區別在于Unix文件系統路徑將根節點(diǎn)放在前面,而DNS域名反過(guò)來(lái)了,將根節點(diǎn)放在了最后。例如,圖中host完整的域名是:“eos.cs.berkeley.edu.”,越靠近根節點(diǎn)ROOT的標簽在右,越靠近服務(wù)器的標簽在左。注意,一個(gè)完整的域名,是以根節點(diǎn)標簽“.”結束。

1.1 DNS zone子樹(shù)

Zone是DNS樹(shù)中的子樹(shù)。Zone本身可以劃分成更小的Zone。前面說(shuō)過(guò)DNS的結構與Unix文件系統類(lèi)似,相應的Zone與Unix文件系統中的磁盤(pán)分區類(lèi)似。我們無(wú)法從DNS域名看出當前域名在哪個(gè)Zone,就像很難根據Unix文件路徑,看出當前目錄在哪個(gè)磁盤(pán)分區一樣。在DNS樹(shù)形結構中,Zone可以用下圖來(lái)描述。

DNS Zone通常由一個(gè)或者多個(gè)DNS server管理,一個(gè)DNS server也可以管理多個(gè)Zone。如下圖所示:

DNS與傳統的hosts.txt方式的區別在于,通過(guò)Zone的劃分,將龐大的DNS記錄劃分成了一個(gè)個(gè)小塊,從而解決數據龐大,不易管理的問(wèn)題。所以DNS Zone本質(zhì)上是DNS記錄的集合。DNS記錄被稱(chēng)為Resource Record(RR)。RR有很多種類(lèi)型。常見(jiàn)的有以下幾種:

  • A:域名與IPv4地址的對應
  • AAAA:域名與IPv6地址的對應
  • PTR:域名與IP地址的對應,區別是A或者AAAA是通過(guò)域名獲得IP地址,PTR可以通過(guò)IP地址獲得域名
  • CNAME:記錄一個(gè)域名與另一個(gè)域名的對應關(guān)系
  • NS:為當前Zone指定一個(gè)DNS server
  • SOA:包含Zone的一些信息,例如首要的DNS server,管理員郵箱地址,更新時(shí)間等

1.2 DNS工作過(guò)程

這部分介紹DNS工作過(guò)程,首先看一下日常中經(jīng)常接觸的DNS server。DNS server大體上可以分為兩類(lèi)。
* 一類(lèi)是管理DNS zone的DNS server,稱(chēng)為Authoritative DNS server。這些DNS Server只掌握了一個(gè)或者多個(gè)DNS zone的信息,不能為我們提供整個(gè)互聯(lián)網(wǎng)的DNS信息。
* 另一類(lèi)是Cache DNS server。這類(lèi)DNS server不管理DNS zone,但是連接Authoritative DNS server,并且緩存從Authoritative DNS Server獲取的信息。最典型的就是谷歌的8.8.8.8。
假設我的電腦配置的DNS server是8.8.8.8,我需要訪(fǎng)問(wèn)www.zhihu.com,首先我的電腦要獲取www.zhihu.com的IP地址,需要經(jīng)過(guò)下面所示的步驟:

  1.  向8.8.8.8請求獲取www.zhihu.com的IP地址。如果8.8.8.8包含了www.zhihu.com的IP地址記錄,則直接跳到步驟8。
  2.  8.8.8.8所在的Cache DNS server并沒(méi)有www.zhihu.com的記錄,所以它向Authoritative DNS server請求數據。首先發(fā)往Root DNS server,這是全球共有的13個(gè)邏輯服務(wù)器,每一個(gè)是由一個(gè)集群構成。
  3.  Root DNS server實(shí)際上沒(méi)有www.zhihu.com的記錄,也不可能有,因為全球的DNS記錄不可能集中在一起,這在性能上是不能接受的,并且這樣就跟之前的hosts.txt文件也沒(méi)有區別了。不過(guò)由于需要解析的是www.zhihu.com,Root DNS server知道如何到達“.com”的DNS Server,也就是TLD(Top-Level Domain)DNS server。因此將TLD DNS server的信息也就是“.com”的DNS server地址發(fā)送給8.8.8.8。
  4.  8.8.8.8收到了TLD DNS server的地址之后,繼續向“.com” 的DNS server請求數據。
  5.  TLD DNS server 仍然沒(méi)有www.zhihu.com的信息,但是TLD DNS Server知道zhihu.com的DNS server,于是TLD DNS Server將zhihu.com的DNS server地址發(fā)送給8.8.8.8。
  6.  8.8.8.8收到了DNS server地址之后,繼續向zhihu.com的DNS server請求數據。
  7.  管理zhihu.com的Authoritative DNS server有www.zhihu.com的記錄,于是將對應的IP地址發(fā)送給8.8.8.8。
  8.  8.8.8.8拿到了www.zhihu.com對應的IP地址,首先記錄在本地緩存,這樣下次不用再走一遍234567,接著(zhù)將IP地址發(fā)送給請求主機。
  9.  主機拿到IP地址之后,向IP地址所在的Server發(fā)送實(shí)際的HTTP請求。

這里的1-8實(shí)際上就是第一幅圖中的步驟1,2的詳細版。
好了,DNS的工作過(guò)程大概如此,接下來(lái)看一下,如何為OpenStack中的虛機提供DNS服務(wù)。OpenStack中的虛機DNS服務(wù),可以分為兩個(gè)部分:一個(gè)是Internal DNS service,另一個(gè)是External DNS service。Internal DNS service由Neutron DHCP Service完成,External DNS service由OpenStack Designate項目實(shí)現。

1.3 OpenStack Neutron DHCP服務(wù)

Neutron DHCP Service默認是由dnsmasq進(jìn)程實(shí)現,dnsmasq同時(shí)提供了DNS服務(wù)和DHCP服務(wù)。它的DHCP服務(wù)在OpenStack Neutron中應用廣泛,相應的,其提供的DNS服務(wù)知名度不那么高。OpenStack Neutron DHCP service是以tenant network為單位提供服務(wù)的,也就是說(shuō)每個(gè)tenant network都有獨立的DHCP service,獨立的dnsmasq進(jìn)程。那么相應的,Neutron DHCP service提供的DNS service也只能在tenant network范圍內。默認情況下,DHCP service會(huì )通過(guò)DHCP協(xié)議,將dnsmasq的管理端口地址(也就是DHCP Server地址)作為虛機的DNS Server寫(xiě)入虛機。在每個(gè)dnsmasq的配置文件中(存放于state_path中),會(huì )靜態(tài)的記錄虛機的hostname與IP地址的對應。這樣,當虛機請求DNS解析的時(shí)候,dnsmasq可以從靜態(tài)的配置文件中獲取對應的解析記錄,并回送給虛機。

相應的配置項有:

Shell
分享到QQ空間新浪微博人人網(wǎng)騰訊微博網(wǎng)易微博0
精品福利视频一区二区三区,免费A级毛片无码无遮挡,偷窥目拍性综合图区,亚洲欧洲无码AV电影在线观看,超清无码熟妇人妻AV在线电影