DNS原理詳解

1、DNS概述

  domain name service  區域名稱服務或者domain named system 區域名稱系統,是互聯網最基礎的服務,分為正向域名解析(將域名解析為IP地址)和反向域名解析(將IP地址解析為域名)兩部分。

2、bind

  bind(Berkeley Internet Name Domain)是當今應用最廣泛的 DNS服務器軟件,由加州大學柏克利學院開發。已經成為事實上的業界標準。

3、DNS工作原理

   DNS系統的原理圖,類似于一個倒掛樹結構,頂端是分布在全球的13臺根服務器,負責返回給查詢者TLD頂級域名服務器地址;TLD是按頂級域名com,net,org,net等劃分,負責管理、登記和返回對應頂級域名下的地址。

   當用戶發對某個域名發起請求后,客戶機首先查找本地HOST文件是否有對應條目,沒有則查找本地緩存是否有對應條目,仍然沒有,則向本地網絡配置的DNS服務器發起遞歸查詢(此DNS服務器通常為網絡運營商提供,在網絡中扮演DNS緩存服務器角色,為方便區分,后文稱之為“電信DNS”),電信DNS收到請求后,查找本地緩存條目,緩存沒有,則開始發起迭代查詢。

   迭代查詢過程: 首先電信DNS向根服務器發起查詢請求,要服務器返回對應的TLD(頂級域名服務器)地址, 電信DNS再向所返回的TLD地址發起查詢,TLD服務器返回在TLD上已登記的查詢域NS服務器地址。電信DNS再次向查詢域的NS服務器發起查詢,NS服務器返回權威答案;電信DNS將權威答案返回給客戶機;一次查詢結束。

dns.png

4、bind版本

    Centos 6 yum自帶9.8.2

    Centos 6 yum自帶9.9.4

5、bind安裝

bind 安裝包為Bind, bind-utils , bind-libs

bind 為主程序安裝包

bind-utils 為相關工具

bind-libs為庫文件

直接使用yum install即可

6、bind服務啟動

bind服務啟動后監聽在tpc和udp的53端口

rndc: remote name domain controller,與bind安裝在同一主機,且只能通過127.0.0.1來連接named進程;提供輔助性的管理功能;臨聽在TCP的953端口

centos6使用service bind start 啟動服務

7、bind配置文件詳解

   a、主配置文件

     主配置文件包括:/etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key

     1)、named.con 主要對bind服務的相關配置,包括option, logging和zone三部分,named.conf使用c++風格,每一行結尾要以; 結尾,所有{}的前后都要空格

       option 部分:

listen-on port 53 { 127.0.0.1; };                                    //ipv4監聽地址,默認只監聽本機,需要改為外網網卡地址

listen-on-v6 port 53 { ::1; };                                    //ipv6臨聽地址

directory       "/var/named";                                  //工作目錄

dump-file       "/var/named/data/cache_dump.db";

statistics-file "/var/named/data/named_stats.txt";

memstatistics-file "/var/named/data/named_mem_stats.txt";

allow-query     { any; };                                     /允許為哪些地址作解析

recursion yes;                                             //是否開啟遞歸查詢

dnssec-enable yes;                                          //是否開啟dnssec

logging部分,主要定義日志相關

zone部分,定義區域,通常默認會自帶 根區域;但通常自定義區域不會放在named.conf文件中,而是采用了include "/etc/named.rfc1912.zones“,將自定義區域載入

    2)、named.rfc1912.zones

               向文件尾部增加自定義區域

   zone "patrickli.com" IN {

       type master;               \\類型,有master、slave、hint、forward

       file "patrickli.com.zone";      \\區域配置文件,位于/var/named目錄下

      };

   b、區域配置文件

       在/var/named目錄下新建,文件名以.zone結尾,文件屬組為named,文件權限為640。示例如下

$TTL 1D      \\全局TTL值 

@ IN SOA ns1.patrickli.com. admin.patrickli.com (

                20160801           \\序列號

                1D               \\刷新時間

                20M              \\重試時間

                1W               \\過期時間

                2D               \\ 否定TTL值

)

patrickli.com.       IN NS    ns1.patrickli.com.    \\NS記錄

ns1.patrickli.com.     IN  A   172.16.244.5        \\A記錄

www.patrickli.com.     IN  A  172.16.244.5

   區域配置文件中,有且只能有一個SOA記錄,通常SOA記錄后應該為NS記錄,一個NS記錄應該對應一條A記錄,還可以添加MX郵件轉發記錄,AAAA   IPV6記錄,CNAME別名記錄,PTR反向解析記錄。

MX記錄的value之前應該有一個數字(0-99),表示此服務器的優先級;數字越小優先級越高;    一個MX記錄后面的服務器名字,都應該在對應有一個A記錄;

例如:

  aa.com.IN  MX  10  mx1.aa.com.

         IN MX  20  mx2.aa.com.

                               

8、主從設置

      1、在主服務器上必須有對應的NS和A記錄指向從服務器

      2、主服務器的區域配置type必須為master

      3、從服務器在增加區域,type為slave ,同時指定masters "主服務器地址"

      4、從服務器區域配置文件位于/var/named/slaves目錄下,配置文件不用手動配置,會自動從主服務器同步過來

原創文章,作者:N21-沉舟,如若轉載,請注明出處:http://www.www58058.com/40216

(1)
N21-沉舟N21-沉舟
上一篇 2016-08-26 09:11
下一篇 2016-08-26 15:32

相關推薦

  • LVS類型及工作原理

    lvs工作原理 lvs(Linux Virtual Server),工作于layer4,其原理是根據請求報文的目標IP和PORT將其轉發至后端主機集群中的某一提供服務的主機,具體轉發到哪一臺后端主機需要由挑選算法來決定。通俗來說,lvs的功能是通過在內核空間的netfilter上的INPUT鏈上的ipvs實現的,當報文由物理網絡接口進入主機后,ipvs將流經…

    Linux干貨 2016-12-05
  • 第二天作業

    一、Linux 文件管理類命令   cd、pwd、mkdir、rmdir、ls、cp、rm、mv、cat、tac、more、less、head、tail、touch     1、目錄類相關命令     cd:change directory 切換目錄     pwd:print …

    Linux干貨 2016-08-22
  • 20160808作業

    ?1、刪除/etc/grub2.conf文件中所有以空白開頭的行行首的空白字符      ?2、刪除/etc/fstab文件中所有以#開頭,后面至少跟一個空白字符的行的行首的#和空白字符      ?3、在/root/install.log每一行行首增加#號  &nbs…

    Linux干貨 2016-08-11
  • Linux三劍客之grep使用入門指南

    Linux的grep是一個具有強大功能的文本搜索工具,正確的學習和使用,能很大程度上提高工作效率,減輕運維工作所面臨的壓力。

    2017-09-09
  • 文件的元數據有那些,怎么樣查看和修改文件時間戳

    數據(Metadata),又稱中介數據、中繼數據,為描述數據的數據(data about data), 主要是描述數據屬性(property)的信息,用來支持如指示存儲位置、歷史數據、資源查找、文件記錄等功能。 元數據算是一種電子式目錄,為了達到編制目錄的目的,必須在描述并收藏數據的內容或特色, 進而達成協助數據檢索的目的。元數據就是數據的數據。任何文件系統…

    Linux干貨 2017-08-28
  • 馬哥教育N22期第七周作業

    1、創建一個10G分區,并格式為ext4文件系統; [root@localhost xuc]# cat /proc/partitions  major minor  #blocks  name    8   &…

    Linux干貨 2016-10-24

評論列表(1條)

  • Net21-冰凍vs西瓜
    Net21-冰凍vs西瓜 2016-08-29 07:02

    圖畫的不錯哈!
    (4、版本 — bind版本有點問題吧,兩個CentOS6)
    (6、監聽在tpc和udp的53端口,應該是tcp,“臨聽”應該是”監聽”吧),輸入法害死人,呵呵

欧美性久久久久