這篇文章的目錄結(jié)構(gòu)如下:

什么是 DNS 服務(wù)器?
什么時(shí)候要用 DNS 服務(wù)器
為什么要用 DNS 服務(wù)器?
誰(shuí)會(huì)用 DNS 服務(wù)器?
怎么使用 DNS 服務(wù)器?

1.什么是 DNS 服務(wù)器?

DNS(Domain Name Server ,域名服務(wù)器)是將域名(Domain name)和對(duì)應(yīng)的IP地址(IP address)進(jìn)行轉(zhuǎn)換的服務(wù)器。那么什么又是域名尼?
域名
通俗點(diǎn)說就是每次上網(wǎng)的時(shí)候輸入的網(wǎng)址也可以理解為域名,而百度給的定義是域名是由一串用點(diǎn)分隔的名字組成的,通常包含組織名,而且始終包括兩到三個(gè)字母的后綴,以指明組織的類型或該域所在的國(guó)家或地區(qū)。

2.什么時(shí)候要用 DNS 服務(wù)器?

因?yàn)槲覀冇洃浀脑颍F(xiàn)在當(dāng)我們要去上網(wǎng)的時(shí)候,總會(huì)記住幾個(gè)域名,然而并不會(huì)去記住一個(gè)個(gè)服務(wù)器對(duì)應(yīng)的IP。因此當(dāng)我們?cè)谟糜蛎L問別人主機(jī)的時(shí)候,DNS 服務(wù)器就已經(jīng)默默的起到了作用,DNS 服務(wù)器會(huì)將我們輸入的域名一 一的轉(zhuǎn)換為對(duì)應(yīng)的IP然后再去訪問別人的主機(jī)。
因此當(dāng)在一個(gè)企業(yè)的內(nèi)部,要想在企業(yè)內(nèi)部讓諸多個(gè)主機(jī)通過主機(jī)名訪問彼此,就要構(gòu)建自己的 DNS 服務(wù)器了。

3.為什么要用 DNS 服務(wù)器?

在剛剛開始擁有網(wǎng)絡(luò)的時(shí)候,全球僅僅只有幾個(gè)大學(xué)的實(shí)驗(yàn)室加入網(wǎng)絡(luò),因此大家可以憑借記住很少的IP地址來進(jìn)行彼此之間的聯(lián)系,并且在當(dāng)時(shí)的每個(gè)主機(jī)上都會(huì)擁有一個(gè)為hosts的文件用來本地解析,如今依舊擁有這個(gè)文件來進(jìn)行本地的域名解析。在這兩個(gè)系統(tǒng)下其文件所在的地方。

linux系統(tǒng):/etc/hosts
Windows:%windir%\\\\System32\\\\drivers\\\\etc\\\\hosts

但是隨著信息化的發(fā)展,越來越多的用戶加入到網(wǎng)絡(luò)中,大家的記憶并不能全部都記住彼此之間的ip地址,并且如果繼續(xù)使用原來的辦法(使用hosts文件)的話,hosts文件的條目越來越多,每一次的查詢?cè)絹碓椒爆崳虼司统霈F(xiàn)了一個(gè)組織 IANA(The Internet Assigned Numbers Authority,互聯(lián)網(wǎng)數(shù)字分配機(jī)構(gòu)),IANA 來保存每一個(gè)用戶的主機(jī)名與IP條目的關(guān)系。因此大家就不用再紛紛寫入自己的hosts文件,僅僅需要定下一個(gè)計(jì)劃任務(wù)(crontab)讓其隔一段的時(shí)間就從 IANA 的服務(wù)器去下載hosts文件到本地,雖然這樣擁有一定的可行性,但是互聯(lián)網(wǎng)的發(fā)展是爆炸性,用戶的增長(zhǎng)是幾何的倍數(shù)增加,因此當(dāng)用戶數(shù)量再一次增加的時(shí)候,就是 IANA 的策略也已經(jīng)行不通了,因此就開發(fā)出了 BIND(Berkeley Internet Name Domain,伯克利Internet名字域)使用BIND軟件來構(gòu)建域名服務(wù)器。而其構(gòu)建的方法和Linux的目錄結(jié)構(gòu)非常的相似,使用一種倒置的樹狀結(jié)構(gòu),如下圖:

當(dāng)然頂級(jí)域還有很多我就不一 一列舉了,因此現(xiàn)在使用 BIND 就對(duì)每一個(gè)的域名劃分到了不同的分支下面了,這樣不僅減輕了根服務(wù)器的壓力而且非常的容易尋找并且管理,并且根(.)依舊會(huì)能夠管理到每一個(gè)域名,但是其僅僅管理一級(jí)域就可以了,這樣可以極大的減輕根服務(wù)器的壓力。然后通過不斷的逐個(gè)查找就能夠找尋到我們所需要的信息。并且 IANA 也不再提供原本的 hosts文件了,變?yōu)橐粋€(gè)全球范圍的域名供應(yīng)商,管理 DNS 域名根和.int,.arpa等資源。相關(guān)的13個(gè)根服務(wù)器,1個(gè)為主根服務(wù)器在美國(guó)。其余12個(gè)均為輔根服務(wù)器,其中9個(gè)在美國(guó),歐洲2個(gè),位于英國(guó)和瑞典,亞洲1個(gè)位于日本。

4.誰(shuí)會(huì)用 DNS 服務(wù)器?

對(duì)于這個(gè)問題,很不好回答,但是我覺得如果大家感興趣,或者想要了解的都可以去接觸 DNS 服務(wù)器。

要開始真正深入了解并配置 DNS 服務(wù)器了。

5.如何使用 DNS 服務(wù)器?

對(duì)于如何使用 DNS服務(wù)器來說是一個(gè)比較復(fù)雜的問題,因此我們通過下面一些步驟來慢慢進(jìn)一步的了解DNS服務(wù)器


首先我們需要知道,DNS 服務(wù)器所使用的端口是(53/UDP,53/TCP;)使用BIND軟件來進(jìn)行使用的并且是在應(yīng)用層的一個(gè)協(xié)議,使用 C/S 架構(gòu)。并且當(dāng)我們安裝 BIND 之后就能通過 named 服務(wù)來進(jìn)行啟動(dòng) DNS 服務(wù)了,當(dāng)然對(duì)于真正的了解到 DNS 服務(wù)器還是需要首先知道一些名詞的,隨后遇到的再慢慢說起來。

FQDN:Fully Qualified Domain Name,也就是上文所說的域名。
正向解析:FQDN ==> IP 表示通過DNS服務(wù)器FQDN解析為IP的過程
反向解析:IP==>FQDN 表示通過DNS服務(wù)器由IP查詢到FQDN
domain:邏輯概念,域
zone:物理概念,區(qū)域
DNS的服務(wù)器類型:1主 DNS服務(wù)器(master)2輔助DNS服務(wù)器(slave)3緩存服務(wù)器4轉(zhuǎn)發(fā)器(forward)

下面這個(gè)圖能夠幫助我們知道什么是 domain 與 zone。

可以看到每一個(gè)zone下面都會(huì)有很多的資源,當(dāng)我們?cè)L問其下面的資源時(shí),其對(duì)應(yīng)的主機(jī)就給我們回答,并且每個(gè)區(qū)都有自己的授權(quán)服務(wù)器,當(dāng)我們要在DNS服務(wù)器查詢FQDN的時(shí)候會(huì)給我們返回兩種類型的答案,即權(quán)威答案(Authority Answer,AA)和非權(quán)威答案。

一、安裝 BIND 軟件
BIND軟件可以運(yùn)行在大部分的Linux主機(jī)上,并且在RHEL6.5及以后,在系統(tǒng)的光盤自帶了BIND服務(wù)的安裝文件。
而我們首先使用簡(jiǎn)單的方法進(jìn)行安裝(yum),首先查看與 bind相關(guān)的軟件包。

$ yum list | grep bind

一些主要軟件的作用如下:

bind :提供了 DNS 服務(wù)的主要程序及相關(guān)文件
bind-libs :提供了bind、bind-utils需要使用的函數(shù)庫(kù)
bind-utils :提供了對(duì) DNS 服務(wù)器的測(cè)試工具,如 nslookup等

接下來我們就安裝bind

$ yum install -y bind

二、配置 BIND 軟件
bind軟件的安裝之后會(huì)出現(xiàn)兩個(gè)很重要的路徑,一個(gè)是主配置文件/etc/named.conf 另一個(gè)是工作目錄/var/named ,我們分別來進(jìn)行一 一探索。
1.簡(jiǎn)單DNS服務(wù)器的主要配置
這是用于啟動(dòng) named 服務(wù)的主要配置文件,對(duì)于簡(jiǎn)單的DNS服務(wù)器來講其中主要分為兩個(gè)部分的定義,全局定義和區(qū)域定義。
對(duì)于全局定義的段使用如下的定義。

options {
                directory /var/named; 
};
注:named.conf 配置文件要求每一行的結(jié)束都需要一個(gè)分號(hào)結(jié)束

配置的含義就是將每個(gè)區(qū)域的資源記錄(Resource Record,簡(jiǎn)稱RR)文件放在了/var/named/的目錄之下。
那么RR到底什么東西尼?

懵。。。,先記住向下看看

三.配置文件
在/etc/named.conf配置文件中除了剛剛定義的全局定義之外,就是各個(gè)區(qū)域(zone)的定義了。

通常對(duì)于每一個(gè)區(qū)域(zone)的簡(jiǎn)單定義就是如下的格式。
zone ZONE_NAME IN {
                type master|slave|hint|forward;
                file ZONE_NAME.zone
};
注:type 就表明了區(qū)域的 DNS服務(wù)器類型。
                file就是將這個(gè)區(qū)域的RR放在什么地方,相對(duì)路徑。
比較特別的是下面這個(gè)區(qū)域的定義,表示這是一個(gè)根域的dns服務(wù)器。
zone . IN {
                type hint;
                file named.ca
};

當(dāng)然,DNS的配置文件也支持使用acl來自定義,訪問控制列表。并且默認(rèn)就存在這樣四個(gè)列表,none,any(任何主機(jī)),local(本機(jī)),以及l(fā)ocalnet(本地網(wǎng)絡(luò))。定義就如下:

    acl acl_name{
        statement;
    };

如果安裝時(shí)候在/var/named/目錄下并沒有named.ca 的文件話可以使用dig 命令來生成named.ca文件,需要能夠訪問互聯(lián)網(wǎng),否則查詢不到根服務(wù)器。

[root@rs1 named]# dig -t NS . >/var/naemd/named.ca

首先構(gòu)建一個(gè)最簡(jiǎn)單的 DNS服務(wù)器,也就是緩存 DNS 服務(wù)器。任何一個(gè)復(fù)雜的 DNS 服務(wù)器都是由簡(jiǎn)單的緩存服務(wù)器一步步變難的,覺得學(xué)習(xí)也是這個(gè)道理哈。

緩存 DNS 服務(wù)器:不負(fù)責(zé)解析任何區(qū)域(除了(本機(jī))localhost)

/etc/named.conf 配置如下

options {
        directory /var/named;
};
//正向解析本機(jī)
zone localhost IN{
                type     master;
                file named.localhost;

};
//反向解析本機(jī)
zone 0.0.127.in-addr.arpa IN{
                type master;
                file named.local;
};

反向解析比正相解析要復(fù)雜許多,區(qū)域名是比較特殊,為網(wǎng)斷名 in-addr.arpa
接下來的就是上面都提到過的各個(gè)區(qū)域的 RR 文件了,在里面會(huì)有下面幾個(gè)特殊的定義 。

TTL:Time-To-Live 每一個(gè)記錄的生存時(shí)間
SOA:Start Of Authority,起始授權(quán)記錄
A:Address IPV4的地址記錄
AAAA:IPV6的地址記錄
PTR:Pointer反向解析記錄,一般不能和A記錄出現(xiàn)在一起
NS:Name Server dns服務(wù)器的定義
MX:Mail eXchange 郵件的定義
CNAME:規(guī)范名字

對(duì)每一個(gè)資源記錄文件來說,首先定義的都應(yīng)該是這樣的一行

ZONE_NAME     [TTL]       IN SOA  localhost.(ZONE_NAME的 DNS服務(wù)器名)  admin.localhost.(管理員的郵箱)
(
                          2018091501 ; (版本號(hào))serial
                           1H         ; (刷新時(shí)間)refresh
                            5M          ; (重試時(shí)間,應(yīng)當(dāng)小于刷新時(shí)間)retry
                            1D       ; (超時(shí)時(shí)間,設(shè)置嘗試幾天之后認(rèn)為主 DNS 服務(wù)器宕機(jī)了)expire 
                            1H      ; (否定回答,對(duì)方緩存多長(zhǎng)時(shí)間)minimum

)   

如果一開始在/var/named/下有一些文件,則可以看到有以下相應(yīng)的符號(hào)

$TTL 600 :設(shè)置全局的TTL時(shí)間,定義后可以不再使用TTL
$ORIGIN :默認(rèn)補(bǔ)充的字段,如果在一些地方使用的并非完整的FQDN則在后面補(bǔ)充上ORIGIN定義的字段,默認(rèn)就是/etc/named.conf中定義的區(qū)域名字(ZONE_NAME)
@:本文件在/etc/named.conf 配置文件中定義的區(qū)域

因此/var/named/named.localhost 的定義如下:

$TTL 600

@       IN      SOA     localhost.      admin.localhost.        (
                                20180913
                                1H
                                5M
                                1D
                                1H )
                                IN      NS      localhost.
localhost.      IN      A       127.0.0.1

對(duì)于每一行的定義如果和上一行的第一列相同,則可以省略

相應(yīng)的反向解析的配置文件

$TTL 600

@       IN      SOA     localhost.      admin.localhost.        (
                                20180913
                                1H
                                5M
                                1D
                                1H )
                IN      NS      localhost.
1       IN      PTR     localhost.

注:1 表示的主機(jī)名,如上面我們所說的如果沒有寫全就會(huì)默認(rèn)補(bǔ)充上ORIGIN,所以其的全部就是1.0.0.127.in-addr.arpa

至此我們就構(gòu)建了一個(gè)最簡(jiǎn)單的緩存 DNS 服務(wù)器。可以使用bind帶有的命令來查看配置文件是否有錯(cuò)。

named-checkconf
named-checkzone zone zone_file 

然后我們使用 dig 命令來測(cè)試一下

@后面指定為我本地的服務(wù)器ip,因此對(duì)于不同的host 指定不同的ip,其他詳細(xì)的介紹查詢幫助文檔。
接下來我們就討論一個(gè)較為復(fù)雜的問題,一個(gè) FQDN==> IP 到底發(fā)生了什么?

迭代查詢:和普通的迭代算法一樣,就是一次次不斷的去請(qǐng)求。
遞歸查詢:僅發(fā)出一次請(qǐng)求,一次應(yīng)答

對(duì)于發(fā)起查詢請(qǐng)求的客戶端,僅觸發(fā)了一次查詢并獲得了一次結(jié)果這就是遞歸查詢,而對(duì)于當(dāng)前域內(nèi)的dns服務(wù)器,通過一次次不斷的迭代查找才獲得結(jié)果,因此就是迭代查詢。

這樣是一個(gè)能夠查詢到的一個(gè)過程,如果dns查詢不到我們要查詢的記錄會(huì)發(fā)什么?
對(duì)于這樣,就在SOA記錄的minimum給出了解釋,例如我們查詢ftp.a.com,但是當(dāng)dns再一次從根查詢到a.com的域內(nèi)發(fā)現(xiàn)并沒有ftp.a.com的這個(gè)子域,因此a.com.域就會(huì)給dns服務(wù)器一個(gè)否定回答,然后再由dns服務(wù)器將否定回答給客戶端。
以下就是一個(gè)dns服務(wù)接受到請(qǐng)求然后進(jìn)行查詢的主要流程。

dns 服務(wù)器查詢的詳細(xì)介紹

1.如果查詢請(qǐng)求是本機(jī)所負(fù)責(zé)的區(qū)域中的數(shù)據(jù)的話,要通過查詢區(qū)域數(shù)據(jù)文件返回結(jié)果
2.如果查詢請(qǐng)求不是本機(jī)所負(fù)責(zé)區(qū)域中的數(shù)據(jù)的話,就查詢緩存
3.如果緩存中沒有答案,則向根發(fā)起查詢請(qǐng)求,并不斷迭代

那么讓我們更深一步的去探索dns的功能吧
在上面我們搭建了一個(gè)簡(jiǎn)單的 DNS緩存服務(wù)器,現(xiàn)在讓我們來將他變成一個(gè)主DNS服務(wù)器,步驟很簡(jiǎn)單,

1.將主配置文件中,加入我們的正向解析域名以及反向解析域名。
2.在工作目錄下,添加相應(yīng)的數(shù)據(jù)文件。
3.重啟服務(wù),重新載入也可以的。

是不是很簡(jiǎn)單,首先是主配置文件,我的dns服務(wù)器的網(wǎng)絡(luò)是192.168.159.143.

zone athlete.run IN {
                type master;
                file athlete.run.zone;
};
zone 159.168.192.in-addr.arpa IN {
                type master;
                file athlete.reverse;
};

然后是工作目錄文件,我定義的是athlete.run.zone和athlete.reverse所以編輯兩個(gè)文件。
這個(gè)是athlete.run.zone文件

$TTL 60
@       IN      SOA     ns1     admin (
                    2018091401
                    1M
                    5S
                    1H
                    1D )
    IN      NS      ns1
    IN      NS      ns2
    IN      MX      10      mail
ns1     IN      A       192.168.159.143
ns2     IN      A       192.168.159.146
www     IN      A       192.168.159.143
mail    IN      A       192.168.159.143

剩下這個(gè)就是athlete.reverse文件了

$TTL 600
@       IN      SOA     ns1.athlete.run admin.athlete.run (
                    2018091403
                    1D
                    5M
                    7D
                    1D )
    IN      NS      ns1.athlete.run.
143     IN      PTR     ns1.athlete.run.
143     IN      PTR     www.athlete.run.

最后

# systemctl reload named 或者 # systemctl restart named 

最后用dig工具測(cè)試一下就可以了,當(dāng)然我這兩個(gè)文件可能寫的比較簡(jiǎn)單,但是能使用的。

介紹了這么多 DNS的配置,讓我們換個(gè)話題發(fā)現(xiàn)一下。
如果是通過YUM安裝bind的話,會(huì)默認(rèn)給你安裝另一個(gè)工具叫做:rndc。

rndc:remote name domain controller,遠(yuǎn)程名稱域控制器

通過名字就可以了解到,這個(gè)工作的特性了,所以為了安全使用的是tcp的953端口953/TCP,接下來讓我們使用這個(gè)工件吧。
首先rndc的使用也是有配置文件的,在哪里尼?

# rpm -ql bind | grep rndc

但是,一開始/etc/rndc.conf這個(gè)目錄的文件是不存在,所以需要我們手動(dòng)通過rndc 命令來實(shí)現(xiàn)
值得一提的就是如果兩文件都存在的話,每次執(zhí)行命令就會(huì)給你警告,挺煩的,所以自己把握。

rndc-confgen >/etc/rndc.conf 就可以了

需要一提的是,這個(gè)文件里面的后幾行是需要拷貝的/etc/named.conf中的,因此,相應(yīng)的 vim 操作自己查詢一下吧。如果一切都完成的話,就可以通過一下命令來重新讀取了,當(dāng)然也可以重啟,但是在大型工作中,服務(wù)器某個(gè)應(yīng)用重啟會(huì)造成太多的損失,因此就需要我們通過重讀配置文件來重新應(yīng)用。

# rndc reload

出現(xiàn)這個(gè)標(biāo)志就是成功了,如果失敗了,那么就詳細(xì)的查看日志文件查看把!

# cat /var/log/message

對(duì)于rndc的其他主要使用的命令,我也總結(jié)在下面:

stop :停止 DNS服務(wù)器
reload:重新載入配置文件和區(qū)域文件
reload zone:重新載入某區(qū)域文件
reconfig:重新載入配置文件和發(fā)生過更新的區(qū)域文件
status:查看dns的詳細(xì)情況
querylog:使用查詢?nèi)罩荆ú煌扑]使用)
flush:清空緩存

還有一些其他使用幫助文檔,查看把。


到這里對(duì)一個(gè)DNS服務(wù)器應(yīng)該就有了一個(gè)中級(jí)的認(rèn)識(shí)了,接下了討論就是我們的更深一步的話題了。
子域授權(quán),我們可以通過自己來申請(qǐng)一個(gè)子域,例如 a.org 那么對(duì)這個(gè)子域來說我們可以添加至多127個(gè)子域,也就是說這個(gè)樹的深度最多到127層。而在每一個(gè)不同深層次的域,其的授權(quán)都是在上一級(jí)子域中授權(quán)的。比如上面圖片的例子,d.org 的子域www.d.org和ftp.d.org分別就是d.org的子域,并且www.d.org 子域的dns服務(wù)器授權(quán)是由d.org進(jìn)行。 在下一步的話就是edu.www.d.org 也可以使www.d.org授權(quán)的子域。 相應(yīng)授權(quán)的子域的dns配置文件就是在子域自己的區(qū)域中定義。
轉(zhuǎn)發(fā) DNS服務(wù)器
這個(gè)的理解也比較簡(jiǎn)單,就是在主配置文件中加入 forwarders { IP; };,比較特殊的就是分號(hào)的左右兩邊均需要空格,分號(hào)內(nèi)可以寫多項(xiàng),不過需要分號(hào)隔開。這樣就能實(shí)現(xiàn)在本地的查詢請(qǐng)求,本機(jī)會(huì)轉(zhuǎn)發(fā)至指定IP的DNS服務(wù)器去查詢。值得一提的就是對(duì)于轉(zhuǎn)發(fā)也是有類別的。

first:如果DNS1去找DNS2請(qǐng)求解析,DNS2并未響應(yīng),則DNS1自己去解析
only:如果DNS1去找DNS2請(qǐng)求解析,DNS2未響應(yīng),則無查詢結(jié)果(希望全給了別人。。。)

所以我們定義轉(zhuǎn)發(fā)的話再加入一行轉(zhuǎn)發(fā)類型,結(jié)果就是這樣,就能實(shí)現(xiàn)轉(zhuǎn)發(fā)。

forward first|only;
forwarders { IP };

當(dāng)然如果放在全局option段就是全局轉(zhuǎn)發(fā),特定的區(qū)域就是在查詢到這個(gè)區(qū)域的時(shí)候再轉(zhuǎn)發(fā)。

主從DNS服務(wù)器
對(duì)于每一個(gè)時(shí)常在線服務(wù)器來說,都應(yīng)該做出相應(yīng)的冗余,以免突然時(shí)刻主服務(wù)器宕機(jī)了,或者是數(shù)據(jù)丟失了,但是DNS服務(wù)器比較奇特的就是,當(dāng)主DNS服務(wù)器宕機(jī)之后,輔助的DNS服務(wù)器多次嘗試重連主DNS服務(wù)器如果沒有響應(yīng)的話,從DNS服務(wù)器會(huì)跟著主DNS服務(wù)器一起宕機(jī)。(雙宿雙飛。。。)
因此我們就要做好輔助的DNS服務(wù)器時(shí)刻保存主DNS服務(wù)器的數(shù)據(jù)文件,以免主DNS服務(wù)器宕機(jī)造成數(shù)據(jù)丟失。
因此說到傳送,對(duì)于DNS服務(wù)器來說有著兩種區(qū)域傳送:

完全增量傳送:axfr 一開始進(jìn)行傳送的文件
增量傳送:ixfr 當(dāng)從服務(wù)器有了區(qū)域傳送文件后,以后的傳送都將是增量傳送
因此我們可以使用dig命令來查看我定義的區(qū)域的信息

可以看到這么多比較重要的信息,肯定不能白白的暴露給其他人,因此我們只能給特定的主機(jī)進(jìn)行區(qū)域傳送,這樣就需要在主配置文件中加入

 allow-transfer { IP;  };

要定義一個(gè)主從的DNS,主的服務(wù)器就是剛剛我們一直使用,從服務(wù)器的配置很簡(jiǎn)單,就另外啟動(dòng)一臺(tái)電腦或虛擬機(jī),然后使用yum安裝bind,并在配置文件中增加這樣一個(gè)區(qū)域。

zone athlete.run IN {
                type slave;
                masters { IP; };
                file slaves/athlete.run.zone;

當(dāng)然slaves是安裝bind的時(shí)候自動(dòng)給我們創(chuàng)建的,因此我們可以它,當(dāng)然也可以自己定義地方,不過需要注意的是,DNS服務(wù)器啟動(dòng)的進(jìn)程屬主屬組均是named所以我們創(chuàng)建的文件也應(yīng)該均是named并且權(quán)限為640。對(duì)于這樣的文件可以一開始不存在,然后啟動(dòng)從服務(wù)器,就可以看到相應(yīng)的文件生成。當(dāng)然在我做實(shí)驗(yàn)的時(shí)候,遇到了好多次這樣的現(xiàn)象,從主服務(wù)器傳送來的文件在從服務(wù)器看到的格式是data,然而其本身是一個(gè)ASCII TEXT的文件,所以我們就需要在從服務(wù)器的主配置文件中加入這樣一個(gè)定義

    masterfile-format  text;

這樣就一切完成了,當(dāng)我們更改了主DNS服務(wù)器的數(shù)據(jù)文件,并增加了版本號(hào)之后,主DNS服務(wù)器就會(huì)主動(dòng)的提醒從DNS服務(wù)器來更新文件。當(dāng)然這樣還是需要一些額外配置的。

主從同步:
主服務(wù)器:授權(quán)允許同步,有從DNS服務(wù)器的NS記錄,并且授權(quán)允許區(qū)域傳送
從服務(wù)器:定義區(qū)域

這樣就能完成主從復(fù)制了。
最后一個(gè)也就是DNS服務(wù)器至今最流行的一個(gè)應(yīng)用,CDN

CDN:Content Delivery Network ,內(nèi)容分發(fā)網(wǎng)絡(luò)

簡(jiǎn)單的說CDN就是將各個(gè)大型的域名進(jìn)行解析到不同的IP,使不同的人來訪問就進(jìn)入到不同的網(wǎng)段,但是網(wǎng)頁(yè)的頁(yè)面卻完全是一樣的

就像這樣,本來是一個(gè)DNS服務(wù)器,但是強(qiáng)行將其拆分成為兩個(gè)不同的DNS服務(wù)器域,左邊的人訪問這個(gè)DNS服務(wù)器,會(huì)根據(jù)一些判斷然后讓其訪問左邊的DNS服務(wù)器,而右邊的人是相同的,因此這也能夠叫做智能DNS,也稱之為DNS的腦裂。這樣到底有什么用尼?

這個(gè)圖就介紹了,當(dāng)不同區(qū)域的用戶去請(qǐng)求同一個(gè)頁(yè)面的時(shí)候,DNS服務(wù)器就會(huì)根據(jù)客戶端的地理位置進(jìn)行檢測(cè),然后將其本地的數(shù)據(jù)文件存放的IP地址返回,這樣就減少了訪問延遲,并且相當(dāng)與將數(shù)據(jù)推送到了每一個(gè)互聯(lián)網(wǎng)用戶的家門口。
介紹了這么多,那么到底怎么定義不同的區(qū)域尼?
其實(shí)定義很簡(jiǎn)單,就是除了全局段之外,再使用view來定義每一個(gè)視圖。

view VIEW_NAEM {
    match-clients {I網(wǎng)段/掩碼;};
    //一些區(qū)域的定義
}

那么匹配到的客戶端就會(huì)進(jìn)入到相應(yīng)的視圖之中進(jìn)行解析。
使用了視圖也有需要注意的地方:

1多個(gè)view內(nèi)可能需要對(duì)同一個(gè)區(qū)域進(jìn)行解析,但使用不同的區(qū)域解析庫(kù)文件。
2.一旦使用了視圖,所有的zone都只能定義在view中
3.僅有必要在匹配到允許遞歸請(qǐng)求的客戶端所在view中定義根區(qū)域
4.客戶端請(qǐng)求到達(dá)后,自上而下檢查每個(gè)view所服務(wù)的客戶端列表

最后的最后 – -,這其實(shí)和一般使用的DNS作用不大,但是還是有一些相關(guān)關(guān)系的,編譯安裝BIND
首先就去bind的官網(wǎng)下載bind的軟件包
將其解壓到我們本地,然后進(jìn)入和普通的應(yīng)用軟件一樣,configure make && make install
主要是我們手動(dòng)安裝的話什么都不會(huì)給我們提供,遠(yuǎn)遠(yuǎn)沒有yum簡(jiǎn)潔,但是可以使用自己的定制軟件,主要需要我們做到以下這些步驟

1.修改PATH環(huán)境變量,輸出二進(jìn)制程序的搜索路徑新路徑
2.導(dǎo)出庫(kù)文件搜索路徑
3.導(dǎo)出頭文件搜索路徑
4.導(dǎo)出幫助文件手冊(cè)搜索路徑
5.創(chuàng)建配置文件

到此我們終于聊完了DNS服務(wù)器相關(guān)的東西,不過還是相信自己知道的僅僅是一點(diǎn)點(diǎn),望自己能夠了解到更多的知識(shí)。


不忘初心,砥礪前行。

更多關(guān)于云服務(wù)器域名注冊(cè)虛擬主機(jī)的問題,請(qǐng)?jiān)L問三五互聯(lián)官網(wǎng):m.shinetop.cn

贊(0)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。郵箱:3140448839@qq.com。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處:三五互聯(lián)知識(shí)庫(kù) » DNS 服務(wù)器--從入門到放棄

登錄

找回密碼

注冊(cè)

主站蜘蛛池模板: 日产中文字幕在线精品一区| 国产美女久久久亚洲综合| 男人进女人下部全黄大色视频 | 国产色悠悠综合在线观看| 9久久精品视香蕉蕉| 自拍偷亚洲产在线观看| 亚洲综合无码明星蕉在线视频| 夜夜夜高潮夜夜爽夜夜爰爰| 亚洲最大日韩精品一区| 精品偷拍一区二区三区| 少妇又爽又刺激视频| 中文毛片无遮挡高潮免费| 国产成人精品亚洲高清在线| 99久久精品费精品国产一区二| 粉嫩av一区二区三区蜜臀| 久久精品国产亚洲不AV麻豆| 日韩一区二区三区av在线| 免费观看在线A级毛片| 色翁荡息又大又硬又粗又视频图片| 狂野欧美性猛交免费视频| 中文字幕乱码人妻综合二区三区 | 免费无码无遮挡裸体视频在线观看| 蜜臀av一区二区国产精品| 日本精品极品视频在线| 亚洲香蕉免费有线视频| 欧美视频精品免费覌看| 激情国产一区二区三区四区| 中文字幕乱码人妻二区三区| 国产成人一区二区三区在线| 国精品无码一区二区三区在线| 最新精品国产自偷在自线| 日日躁夜夜躁狠狠躁超碰97| 最新国产精品好看的精品| 内射毛片内射国产夫妻| 欧美激情一区二区久久久| 民乐县| 九九热精品在线观看| 国产亚洲精品第一综合麻豆| 日本一区二区三区小视频| 在线高清免费不卡全码| 成人午夜看黄在线尤物成人|