乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      DNS 基礎(chǔ)知識及 Linux DNS 服務(wù)器操作知識 | 周末送資料

       yi321yi 2020-05-05

      本文包括理解 DNS 所需的基礎(chǔ)知識及 Linux DNS 服務(wù)器的安裝、配置和維護具體操作相關(guān)知識。


      一、DNS域名結(jié)構(gòu)與域名服務(wù)器

      域名系統(tǒng)DNS(Domain Name System)是因特網(wǎng)使用的命名系統(tǒng),用來把便于人們使用的機器名字轉(zhuǎn)換成為IP地址。域名系統(tǒng)其實就是名字系統(tǒng)。為什么不叫“名字”而叫“域名”呢?這是因為在這種因特網(wǎng)的命名系統(tǒng)中使用了許多的“域(domain)”,因此就出現(xiàn)了“域名”這個名詞。“域名系統(tǒng)”明確地指明這種系統(tǒng)是應(yīng)用在因特網(wǎng)中。

      1、域名結(jié)構(gòu)

      在了解DNS服務(wù)器之前,需要先了解因特網(wǎng)上的域名空間結(jié)構(gòu),具體如下圖所示:

      頂級域名是域名的最后一個部分,即是域名最后一點之后的字母,例如在http:// 這個域名中,頂級域是.com(或.COM),大小寫視為相同。

      二級域名是域名的倒數(shù)第二個部分,例如在http:// 這個域名中,二級域名是example。以此類推。

      2、域名服務(wù)器

      因特網(wǎng)上的DNS服務(wù)器按照層次安排,根據(jù)不同層次的域名服務(wù)器所起的作用,可以把域名服務(wù)器分為4種不同的類型。

      【根域名服務(wù)器】

      最高層次的域名服務(wù)器(就好像國家總理一樣),也是最重要的域名服務(wù)器。全球有13個根域名服務(wù)器名稱,分別是(它們是按照字母排列命名的):

      • a.root-servers.net.

      • b.root-servers.net.

      • c.root-servers.net.

      • d.root-servers.net.

      • e.root-servers.net.

      • f.root-servers.net.

      • g.root-servers.net.

      • h.root-servers.net.

      • i.root-servers.net.

      • j.root-servers.net.

      • k.root-servers.net.

      • l.root-servers.net.

      • m.root-servers.net.

      當然,并不是一個名字對應(yīng)一臺物理服務(wù)器的地址,一個根服務(wù)器的名字可以作為入口對應(yīng)一組服務(wù)器集群來提供域名解析服務(wù)。

      【頂級域名服務(wù)器】

      就好像國家總理下面的各個省長,管轄省級單位。在DNS中,它們負責管理在該頂級域名服務(wù)器注冊的下一級域名(二級域名)。所有頂級域名服務(wù)器的名稱和IP地址是在根服務(wù)器注冊的,也就是說,根域名服務(wù)器知道所有的頂級域名服務(wù)器的名稱和IP地址。

      【 權(quán)威域名服務(wù)器】

      負責一個區(qū)的域名服務(wù)器,就好像省長以下的那些市長、鎮(zhèn)長、鄉(xiāng)長等行政官。頂級域名服務(wù)器也可以算作是權(quán)威域名服務(wù)器,只不過由于其特殊性,我們專門把它劃分為一類。因此權(quán)威域名服務(wù)器通常是指頂級域名以下的管理二級、三級、四級等域名的服務(wù)器。

      上面三種服務(wù)器的關(guān)系可以用這張圖表示:

      【本地域名服務(wù)器】

      這類服務(wù)器不屬于上面的層次結(jié)構(gòu),當一個主機(個人電腦)發(fā)出DNS請求時,查詢請求就被發(fā)送到本地域名服務(wù)器,本地域名服務(wù)器負責回答這個查詢,或者代替主機向域名空間中不同層次的權(quán)威域名服務(wù)器查詢,再把查詢的結(jié)果返回給主機。

      下面的圖示表示了一個域名的解析過程以及各個類型的域名服務(wù)器所處的位置。

      3、為什么要使用DNS服務(wù)器

      域名服務(wù)器提供了從域名到IP地址的解析服務(wù),因特網(wǎng)上的域名數(shù)量極大,不可能所有的域名信息都保存在一個域名服務(wù)器中,也不能上述每個節(jié)點都采用一個域名服務(wù)器。在實際的公網(wǎng)DNS系統(tǒng)中,域名服務(wù)器采用劃分區(qū)的方式來管理。

      一個服務(wù)器所負責管轄的范圍叫做區(qū)(zone),如果我們把域名空間結(jié)構(gòu)中的根比作國家,頂級域名比作省級行政單位,二級域名看作是市級單位、三級、四級看作是鎮(zhèn)和鄉(xiāng),那么自然地,我們會想到管轄國家的是總理,管轄省級單位的是省長,下面還有市長、鎮(zhèn)長等等。

      假設(shè)一個域http:// 的層次結(jié)構(gòu)如圖分布。

      如果采用(a)的方式,那么整個從abc這個節(jié)點以下的子樹成為一個區(qū),它們由一個(通常是1組)域名服務(wù)器管理,就好像http:// 是一個北京市,下面所有事務(wù)都有北京市長說了算;

      如果采用(b)的方式,那么abc節(jié)點以下的字數(shù)分成了兩個區(qū):x節(jié)點以下的部分的子樹和y節(jié)點以下的子樹,這兩棵子樹分別有x和y對應(yīng)的域名服務(wù)器管理,就好像http:// 是一個福建省,x是福州市,y是廈門市,福建省的省長只管理福州市和廈門市的市長,但不會直接管理福州市和廈門市以下的單位。福州市和廈門市以下的單位分別給福州市市長和廈門市市長來管轄。

      像這種把一個域中的一部分子樹分給另一個域名服務(wù)器管轄,叫做“授權(quán)委托”,做了“授權(quán)委托”以后的域名服務(wù)器很顯然管理的范圍就小了,它的子節(jié)點由被委任的下一級域名服務(wù)器管理了。

      因特網(wǎng)上的域名結(jié)構(gòu)呈樹狀分布,因此DNS服務(wù)器也是對應(yīng)的樹形結(jié)構(gòu),每一個DNS服務(wù)器能夠提供部分域名(它管轄的域名)到IP地址的解析。

      4、DNS查詢

      查詢方式

      遞歸查詢:客戶機向自己的DNS服務(wù)器請求解析的方式

      迭代查詢:服務(wù)器向服務(wù)器查詢的方式

      主機向本地域名服務(wù)器的查詢一般都是采用遞歸查詢。所謂遞歸查詢就是:如果主機所詢問的本地域名服務(wù)器不知道被查詢的域名的IP地址,那么本地域名服務(wù)器就以DNS客戶的身份,向其它根域名服務(wù)器繼續(xù)發(fā)出查詢請求報文(即替主機繼續(xù)查詢),而不是讓主機自己進行下一步查詢。因此,遞歸查詢返回的查詢結(jié)果或者是所要查詢的IP地址,或者是報錯,表示無法查詢到所需的IP地址。

      本地域名服務(wù)器向根域名服務(wù)器的查詢的迭代查詢。迭代查詢的特點:當根域名服務(wù)器收到本地域名服務(wù)器發(fā)出的迭代查詢請求報文時,要么給出所要查詢的IP地址,要么告訴本地服務(wù)器:“你下一步應(yīng)當向哪一個域名服務(wù)器進行查詢”。然后讓本地服務(wù)器進行后續(xù)的查詢。根域名服務(wù)器通常是把自己知道的頂級域名服務(wù)器的IP地址告訴本地域名服務(wù)器,讓本地域名服務(wù)器再向頂級域名服務(wù)器查詢。頂級域名服務(wù)器在收到本地域名服務(wù)器的查詢請求后,要么給出所要查詢的IP地址,要么告訴本地服務(wù)器下一步應(yīng)當向哪一個權(quán)限域名服務(wù)器進行查詢。最后,知道了所要解析的IP地址或報錯,然后把這個結(jié)果返回給發(fā)起查詢的主機。

      下圖給出了這兩種查詢的差別

      DNS解析的順序由/etc/nsswitch.conf決定)

      1.  本機緩存

      2. 本機/etc/hosts文件

           a) 格式:IP  FQDN  Alais

      3. 指定的DNS服務(wù)器緩存

           a) 清空緩存:rhdc flush

      4. 指定的DNS服務(wù)器(/etc/resolv.conf)

           a) 格式:

                 #     search     

                 #     nameserver 202.103.24.68

                 #     nameserver 202.103.149.50

      DNS查詢命令

      1.  gethostip

           a)是syslinux包的組成部分

           b)通過hosts文件和DNS解析主機名到IP

           c)把IP計算成8位的16進制在PXE中有特殊用途

      2.  host

           a)僅通過DNS查詢

           b)查詢主機名到IP的解析

      3.  nslookup

           a)windows的解析工具,linux中通用,目前較少使用

           b)提供簡單的正反和反向解析查詢

      4.  dig

           a)linux中功能強大的查詢工具,可以查詢更加詳細的信息,使用最廣泛

           b)可以追蹤到非權(quán)威的DNS

      5、DNS 服務(wù)器的類型

      一共有三種 DNS 服務(wù)器。

      主 DNS 服務(wù)器

      這些服務(wù)器上存放了特定域名的配置文件,并且基于此權(quán)威地規(guī)定了特定域名的地址。主 DNS 服務(wù)器知道全部在它管轄范圍的主機和子域名的地址。

      輔助 DNS 服務(wù)器

      這些服務(wù)器作為主 DNS 服務(wù)器的備份,也承擔一定負載。主服務(wù)器知道輔助 DNS 服務(wù)器的存在,并且會向他們推送更新。

      緩存 DNS 服務(wù)器

      這些服務(wù)器上不存放特定域名的配置文件。當客戶端請求緩存服務(wù)器來解析域名時,該服務(wù)器將首先檢查其本地緩存。如果找不到匹配項便會詢問主服務(wù)器。接著這條響應(yīng)將被緩存起來。您也可以輕松地將自己的系統(tǒng)用作緩存服務(wù)器。

      二、Linux DNS 服務(wù)器安裝、配置和維護

      1、搭建 Linux DNS 服務(wù)器

      Linux 下有很多實現(xiàn)了 DNS 功能的包,不過我們只關(guān)注 BIND DNS 服務(wù)器。它用于世界上大多數(shù) DNS 服務(wù)器。

      如果你在使用基于 Red Hat 發(fā)行版的 Linux,比如 CentOS,可以像這樣安裝:$ dnf -y install bind

      如果你使用基于 Debian 的操作系統(tǒng),比如 Ubuntu:$ apt-get install bind9

      安裝完成之后就可以啟動它并讓它在計算機啟動的時候一并啟動起來。

      $ systemctl start named

      $ systemctl enable named

      2、配置 BIND

      這個服務(wù)使用 /etc/named.conf 作為配置文件。

      BIND 在那個文件中使用像下面這樣的一些語句:

      • options: 用于全局 BIND 配置。

      • logging: 配置哪些需要記錄,哪些需要忽略。我推薦你看看 Linux syslog server。

      • zone: 定義 DNS 區(qū)域。

      • include: 在 named.conf 中包含另一個文件。

      在 options 語句中可以看到 BIND 的工作目錄在 /var/named。

      zone 語句可用于定義 DNS 區(qū)域,比如域名 google.com,它包含子域名 mail.google.com 和 analytics.google.com。

      上述三個域名 (主域名和子域名) 都有一個由 zone 語句定義的區(qū)域。

      3、定義一個主域服務(wù)器

      我們知道 DNS 服務(wù)器類型有主域名服務(wù)器、輔助域名服務(wù)器和緩存域名服務(wù)器。不同于緩存域名服務(wù)器,主域名服務(wù)器和輔助域名服務(wù)器在應(yīng)答過程中是處于同等地位的。

      在 /etc/named.conf 的配置文件中,你可以使用如下語法定義一個主域服務(wù)器:

      zone    '' {

      type master;

      file .db

      };

      包含主要區(qū)域信息的文件存放在 /var/named 目錄下,從 options 可知,這是一個工作目錄。

      注意:軟件服務(wù)器或者托管面板會根據(jù)你的域名自動為你創(chuàng)建主域服務(wù)器信息的文件名,因此如果你的域名是 example.org,那么你主域服務(wù)器信息的文件就為 /var/named/example.org.db。

      類型為 master,也就是說這是一個主域服務(wù)器。

      4、定義一個輔助域服務(wù)器

      同定義一個主域服務(wù)器一樣,輔助域服務(wù)器的定義稍微有些變化:

      zone    '' {

      type slave;

      masters IP Address list; ;

      file .db

      };

      對于輔助域服務(wù)器來說,它的域名和主域服務(wù)器是一樣的。上述語法里的的 slave 類型表示這是一個輔助域服務(wù)器,“masters IP Address list” 表示輔助域服務(wù)器中區(qū)域文件內(nèi)的信息都是通過主域服務(wù)器中區(qū)域文件內(nèi)的信息復(fù)制過來的。

      5、定義一個緩存服務(wù)器

      即使你已經(jīng)配置了主域或者輔助域服務(wù)器,你仍有必要(不是必須)定義一個緩存服務(wù)器,因為這樣你可以減少 DNS 服務(wù)器的查詢次數(shù)。

      在定義緩存服務(wù)器之前,你需要先定義三個區(qū)域選擇器,第一個:

      zone      '.' IN {type hint;file 'root.hint';};

      zone      '.' IN {type hint;file 'root.hint';};

      zone      '.' IN {type hint;file 'root.hint';};

      zone      'localhost' IN {type master;file 'localhost.db';};

      定義第三個區(qū)域是為了反向查找到本地主機。這種反向查找是把本地的 IP 地址向本地主機。

      zone      '0.0.127.in-addr.arpa' IN {

      type master;

      file '127.0.0.rev';

      };

      把這三個區(qū)域信息放到 / etc/named.conf 文件里,你的系統(tǒng)就可以以緩存服務(wù)器來工作了。但是如何引用類似 .db, localhost.db, 和 127.0.0.rev 這些文件中的內(nèi)容呢?

      這些文件包含具有某些選項的每個區(qū)域的 DNS 記錄類型。那么,這些 DNS 記錄類型是什么以及它們是如何寫的?

      6、DNS 記錄類型

      數(shù)據(jù)庫文件包含諸如 SOA、NS、A、PTR、MX、CNAME 和 TXT 在內(nèi)的記錄類型。

      我們看看每一種類型都是如何記錄的吧。

      SOA:起始授權(quán)機構(gòu)記錄

      SOA 記錄按如下形式開始描述一個站點的 DNS 條目:

      .   86400  IN   SOA   ns1..   mail..  (

      2017012604 ;serial

      86400 ;refresh, seconds

      7200 ;retry, seconds

      3600000 ;expire, seconds

      86400 ;minimum, seconds

      )

      第一行以域名 開始,以句號結(jié)束——該語句和 / etc/named.conf 文件中的區(qū)域定義是一致的。我們要始終記得,DNS 配置文件是極其挑剔的。

      IN 告訴域名服務(wù)器:這是一條網(wǎng)絡(luò)記錄。

      SOA 告訴域名服務(wù)器:這是一條起始授權(quán)機構(gòu)記錄。

      ns1.. 是該文件所在域的域名服務(wù)器的完全合格域名(FQDN: Fully Qualified Domain Name)。

      mail.host.com. 是域管理員的郵箱地址。你會發(fā)現(xiàn)這個郵箱地址沒有 “@” 標志,而是被句號所取代,并且末尾還有一個句號。

      第 2 行是一個序列碼,它被用來告訴域名服務(wù)器文件是什么時候升級的。因此,如果你對區(qū)域碼做了變更,你必須對這個序列碼進行遞增。這個序列碼的格式是 YYYYMMDDxx ,其中的 xx 是從 00 開始的。

      第 3 行是每秒刷新率。這個值被用來告訴第二個域名服務(wù)器查詢主服務(wù)器中的記錄是否已經(jīng)被更新的頻率。

      第 4 行是每秒重試的頻率。如果第二個服務(wù)器多次嘗試連接主域名服務(wù)器來進行更新檢測,但無法連接上的時候,第二個服務(wù)器就會在每秒內(nèi)重試指定的數(shù)值次數(shù)。

      第 5 行是超時指示。其目的是為了第二個服務(wù)器能將區(qū)域數(shù)據(jù)緩存下來。這個值告訴這些服務(wù)器如果它們不能連接到主服務(wù)器來進行更新,那么它們就會在這個指定數(shù)值秒數(shù)之后拋棄這個值。

      第 6 行告訴緩存服務(wù)器,如果它們不能連接到主域名服務(wù)器時,它們應(yīng)該在超時前等待多久。

      NS: Name Server Records(名稱服務(wù)器記錄)

      NS 記錄用于指定哪個名稱服務(wù)器維護該域的記錄。

      你可以這樣編寫的 NS 記錄:

      IN      NS     ns1..

      IN      NS     ns2..

      并不需要有 2 個 NS 記錄,但是通常偏好有備份名稱服務(wù)器。

      A 和 AAAA: Address Records(地址記錄)

      A 記錄用于提供從主機名到 IP 地址的映射 support IN A 192.168.1.5。

      如果你在地址為 192.168.1.5 上的 support. 上有一個主機,你可以像上面的例子那樣輸入。

      請注意,我們所寫的主機并沒有句號。

      PTR: Pointer Records(指針記錄)

      PTR 記錄用于執(zhí)行反向名稱解析,允許某人指定 IP 地址然后找出對應(yīng)的主機名。

      這與 A 記錄的功能相反:192.168.1.5 IN PTR support..

      在這里,我們鍵入具有點號的完整主機名。

      MX: Mail Exchange Records(郵件交換記錄)

      MX 記錄告訴其他站點關(guān)于你所在域的郵件服務(wù)器地址:. IN MX 10 mail.

      當然這個域以句號結(jié)束。數(shù)字 10 是郵件服務(wù)器的重要性標志,如果你擁有多個郵件服務(wù)器,其中較小的數(shù)字不太重要。

      CNAME: Canonical Name Records(權(quán)威名稱記錄)

      CNAME 記錄允許你為主機名創(chuàng)建別名。當你想提供一個易于記住的名稱時,這很有用。

      假設(shè)某個站點具有一個主機名為 whatever-bignameis. 的 Web 服務(wù)器,并且由于系統(tǒng)是 Web 服務(wù)器,因此可以為主機創(chuàng)建一個名為 www 的 CNAME 記錄或者別名。

      你可以創(chuàng)建名為 www. 的域名創(chuàng)建 CNAME 記錄:

      whatever-bignameis  IN   A   192.168.1.5

      www   IN   CNAME   whatever-bignameis

      第一行通知 DNS 服務(wù)器關(guān)于別名的位置。第二行創(chuàng)建一個指向 www 的別名。

      TXT 記錄

      您可以將任何信息存儲到 TXT 記錄中,例如你的聯(lián)系方式或者你希望人們在查詢 DNS 服務(wù)器時可獲得的任意其他信息。

      你可以這樣保存 TXT 記錄:. IN TXT ” YOUR INFO GOES HERE”.

      此外,RP 記錄被創(chuàng)建為對 host 聯(lián)系信息的顯式容器:. IN RP mail.. 。

      7、DNS TTL 值

      在 / etc/named.conf 文件的頂部,這里有一個 $TTL 條目。

      該條目告訴 BIND 每個單獨記錄的 TTL 值(time to live,生存時間值)。

      它是以秒為單位的數(shù)值,比如 14,400 秒(4 個小時),因此 DNS 服務(wù)器最多緩存你的域文件 4 個小時,之后就會向你的 DNS 服務(wù)器重新查詢。

      你可以降低這個值,但是默認值通常是合理的。除非你知道你正在做什么。

      8、捕獲配置錯誤

      當您寫入域文件時,也許您忘記了一個句號或空格或其他任意錯誤。

      你可以從日志診斷 Linux DNS 服務(wù)器錯誤。BIND 服務(wù)通過 / var/log/messages 上的錯誤,可以使用 tail 命令來查看實時錯誤日志,須使用 - f 選項:$ tail -f /var /log/messages。

      因此,當你編寫域文件或修改 / etc/named.config 并重新啟動服務(wù)時,顯示錯誤之后,你可以從日志中輕松識別錯誤類型。

      9、Host 命令

      在你成功添加或修改記錄后,可以使用 host 命令查看主機是否正確解析。

      host 命令允許你將主機名解析為 IP 地址:$ host 。

      此外,你可以執(zhí)行反向查找:$ host 192.168.1.5。

      你可以 this 在此篇文章 https:///linux-network-commands/ 中查看更多關(guān)于 host 和 dig 命令的信息。

      10、Whois 命令

      whois 命令用于確定域名的所有權(quán)及其擁有者的 e-mail 地址和聯(lián)系電話:$ whois .

      11、Rndc 命令

      rndc 工具可用于安全地管理名稱服務(wù)器,因為與服務(wù)器的所有通信均通過數(shù)字簽名進行身份驗證。

      此工具用于控制名稱服務(wù)器和調(diào)試問題。你可以通過以下方式檢查 Linux DNS 服務(wù)器的狀態(tài):$ rndc status。

      此外,如果你更改任何域 (zone) 文件,您可以重新加載服務(wù),而無須重啟命名服務(wù):$ rndc reload 。

      在這里,我們重新加載 域文件。你可以重新加載所有域:$ rndc reload。

      或者你可以添加新的域或更改服務(wù)的配置。你可以重新加載配置,如下所示:$ rndc reconfig。

      12、Linux DNS 解析器

      我們已經(jīng)知道 Linux DNS 服務(wù)器的工作原理以及如何配置它。另一部分當然是與 DNS 服務(wù)器交互的(正在與 DNS 服務(wù)器通信以將主機名解析為 IP 地址的)客戶端。

      在 Linux 上,解析器位于 DNS 的客戶端。要配置解析器,可以檢查 / etc/resolv.conf 這個配置文件。

      在基于 Debian 的發(fā)行版上,可以查看 / etc/resolvconf/resolv.conf.d / 目錄。

      /etc/resolv.conf 文件中包含客戶端用于獲取其本地 DNS 服務(wù)器地址所需的信息。

      第一個表示默認搜索域,第二個表示主機名稱服務(wù)器 (nameserver) 的 IP 地址。

      名稱服務(wù)器行告訴解析器哪個名稱服務(wù)器可使用。只要你的 BIND 服務(wù)正在運行,你就可以使用自己的 DNS 服務(wù)器。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多