天天看點

DNS域名解析引言一、BIND域名服務基礎二、BIND建構域名伺服器總結

目錄

引言

一、BIND域名服務基礎

1、介紹

2、作用

3、正向解析過程

4、查詢方式

5、域名結構圖

6、常見的域名代理商

7、DNS伺服器類型

二、BIND建構域名伺服器

配置檔案

第一步:安裝bind服務和挂載

第二步:修改主配置檔案

第三步:修改區域配置檔案,添加正向區域配置

 第四步:配置正向區域資料檔案

第五步: 啟動服務,關閉防火牆

 第六步:測試DNS解析(nslookup或者host)

總結

引言

可能有人問域名解析有什麼用,其實我舉個生活中的例子,大家就很容易懂了,我們用過百度,京東,淘寶吧,他們都有自己的一個網站,那我們如何通路他們網站呢,一般情況下,我們都是進行通路對方ip,進而達到通路網站的目的的,但是現實中,我們是通過baidu.com,jd.com,taobao.com來進行通路的,這其中就是域名解析幫助我們通過網址轉換成ip來幫我們通路的。

一、BIND域名服務基礎

1、介紹

全世界隻有13台(這13台根域名伺服器名字分别為"A"至"w"),1個為主根伺服器在美國。其餘12個均為輔根伺服器,其中9個在美國,歐洲2個,位于英國和瑞典,亞洲1個位于日本

DNS域名系統( Domain Name system縮寫DNS,Domain Name被譯為域名)是網際網路的一項核心服務,它作為可以将域名和P位址互相映射的一個分布式資料庫,能夠使人更友善的通路網際網路,而不用去記住能夠被機器直接讀取的IP數串。

2、作用

正向解析:根據對方的域名來查找ip位址(一個域名對應一個ip,一個ip對應多個域名)

反向解析:根據ip來查找對應的域名

DNS使用的端口号:53(分為TCP和UDP)

TCP是用來做區域傳送,多用于主從同步

UDP是用來做DNS解析的

3、正向解析過程

先查本機的緩存記錄

查詢hosts檔案

查詢dns域名伺服器,交給dns域名伺服器處理

以上過程成為遞歸查詢:我要一個答案你直接會給我結果

這個dns伺服器可能是本地域名伺服器,有個緩存,如果有直接傳回結果,如果沒有則進行下一步

求助根域伺服器,根域伺服器傳回可能會知道結果的頂級域伺服器讓他去找頂級域伺服器

求助頂級域伺服器,頂級域伺服器傳回可能會知道結果的二級域伺服器然他去找二級域伺服器

求助二級域伺服器,二級域伺服器查詢發現是我的主機,把查詢到的ip位址傳回給本地域名伺服器

本地域名伺服器将結果記錄到緩存,然後把域名和ip的對應關系傳回給用戶端

DNS域名解析引言一、BIND域名服務基礎二、BIND建構域名伺服器總結

4、查詢方式

遞歸查詢——遞歸查詢是一種DNS伺服器的查詢模式,在該模式下DNS,伺服器接收到客戶機請求,必須使用一個準确的查詢結果回複客戶機。如果 DNS伺服器本地沒有存儲查詢 DNS資訊,那麼該伺服器會詢問其他伺服器,并将傳回的查詢結果送出給客戶機。

總的一句話,就是客戶機發送請求後自己隻用等待結果即可,中間具體過程交給伺服器實作。

疊代查i詢——DNS伺服器另外一種查詢方式為疊代查詢,當客戶機發送查詢請求時,DNS伺服器并不直接回複查詢結果,而是告訴客戶機另一台DNS伺服器位址,客戶機再向這台 DNS伺服器送出請求,依次循環直到傳回查詢的結果為止

總的一句話,客戶機的請求需要自己挨個去查詢才能得到結果,伺服器沒有結果時候隻會給你提供其它伺服器的位址,不會幫你去請求查詢,這與遞歸截然相反

5、域名結構圖

DNS域名解析引言一、BIND域名服務基礎二、BIND建構域名伺服器總結
DNS域名解析引言一、BIND域名服務基礎二、BIND建構域名伺服器總結

6、常見的域名代理商

新網——http: / / www . xinnet.com

萬網——http: / / www .net.cn

中國互聯——http : / /hulian.top

中國資料

7、DNS伺服器類型

主域名伺服器:負責維護一個區域的所有域名資訊,是特定的所有資訊的權威資訊源,資料可以修改。建構主域名伺服器時,需要自行建立所負責區域的位址資料檔案。

從域名伺服器:當主域名伺服器出現故障、關閉或負載過重時,從域名伺服器作為備份服務提供域名解析服務。從域名伺服器提供的解析結果不是由自己決定的,而是來自于主域名伺服器。建構從域名伺服器時,需要指定主域名伺服器的位置,以便伺服器能自動同步區域的位址資料庫。

緩存域名伺服器:隻提供域名解析結果的緩存功能,目的在于提高查詢速度和效率,但沒有域名資料庫。它從某個遠端伺服器取得每次域名伺服器查詢的結果,并将它放在高速緩存中,以後查詢相同的資訊時用它予以響應。緩存域名伺服器不是權威性伺服器,因為提供的所有資訊都是間接資訊。建構緩存域名伺服器時,必須設定根域或指定其他DNs伺服器作為解析來源。

轉發域名伺服器:負責所有非本地域名的本地查詢。轉發域名伺服器接到查詢請求後,在其緩存中查找,如找不到就将請求依次轉發到指定的域名伺服器,直到查找到結果為止,否則傳回無法映射的結果。

二、BIND建構域名伺服器

配置檔案

/etc/logrotate.d/named          //主配置檔案控制系統全局
/etc/ named.rfc1912.zones       //區域配置檔案控制具體單個區域
/var/named/named.localhost     //區域資料配置檔案―區域資訊
           

第一步:安裝bind服務和挂載

[[email protected] ~]# yum install bind -y
[[email protected] ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 寫保護,将以隻讀方式挂載
           

第二步:修改主配置檔案

[[email protected] named]# vim /etc/named.conf 
listen-on port 53 { 192.168.149.164; }; 
#監聽53端口,ip位址使用提供服務的本地IP,也可用any表示所有
#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; };                     #允許使用本DNS解析服務的網段,也可用any代表所有
           
DNS域名解析引言一、BIND域名服務基礎二、BIND建構域名伺服器總結

注釋:部分參數

zone "."IN{             #正向解析”."根區域

type hint;               #類型為根[區域

file "named.ca" ;   #區域資料檔案為named.ca,#記錄了13台根域伺服器的域名和IP位址等資訊};

include "/etc/named. rfc1912. zones";#包含區域配置檔案裡的所有配置

第三步:修改區域配置檔案,添加正向區域配置

vim /etc/ named. rfc1912.zones

zone "benet.com” IN ..{             #正向解析"benet.com"區域
type master;                         #類型為主區域
file "benet.com.zone";                 #指定區域資料檔案為benet.com.zone
allow-update { none; } ;
};
           
DNS域名解析引言一、BIND域名服務基礎二、BIND建構域名伺服器總結

 第四步:配置正向區域資料檔案

[[email protected] ~]# cd /var/named
[[email protected] named]# cp -p named.localhost benet.com.zone
[[email protected] named]# vim  /var/named/benet.com.zone
$TTL1D                                  #有效解析記錄的生存周期
@ in SOA benet. com.admin.benet.com.(     #"e"符号表示目前的DNs區域名
               0; serial                  #更新序列号,可以是10位以内的整數
               1D; refresh                #重新整理時間,重新下教位址資料的間隔
               1H; retry                  #重試延時,下教失敗後的重試間隔
               1w; expire                 #失效時間,超過該時間仍無法下載下傳則放棄#
               3H); minimum               #無效解析記錄的生存周期,
           NS  benet.com.                 #記錄目前區域的DNs伺服器的名稱
           A 192.168.149.164              #記錄主機IP位址
    IN MX  10  mail.benet.com.           #MX為郵件交換記錄,數字越大優先級越低
www IN A 192.168.149.164"                #記錄正向解析www . benet.com對應的IP
mail IN A 192.168.149.165                #MX為郵件交換記錄,數字越大優先級低
ftp IN CNAME www                         #CNAME使用别名,ftp是www的别名
* IN A 192.168.149.170                   #泛域名解析,“*"代表任意主機名

#"@”這裡是一個變量,目前DNS區域名
#SOA記錄中的更新序列号用于同步主、從伺服器的區域資料,當從伺服器判斷區域更新時,若發現主伺服器中的序列号與本地區域資料中的序列号相向,則不會進行下載下傳。
#"benet.com."此為完全合格域名(FODN),後面有個"."不能漏掉
# "admin.benet.com."表示管理者郵箱,這裡的"@"符号已有其他含義,是以用"."代替

           
DNS域名解析引言一、BIND域名服務基礎二、BIND建構域名伺服器總結

第五步: 啟動服務,關閉防火牆

systemctl start named
systemctl stop firewall
dsetenforce 0

#如果服務啟動失敗,可以檢視日志檔案來排查錯誤
tail -f/var/log/messages

#如果服務啟動卡住,可以執行下面指令解決

rndc-confgen-r /dev/urandom -a

在用戶端的域名解析配置檔案中添加IDNS伺服器位址
vim  /etc/resolv.conf
#修改完後立即生效
nameserver 192.168.149.164或
vi /etc/sysconfig/network- scripts/ifcfg-ens33    #修改完後需要重新開機網卡
DNS1=192.168.149.164
systemctl restart network
           
[[email protected] named]#systemctl start named
[[email protected] named]#systemctl stop firewall
[[email protected] named]#dsetenforce 0
[[email protected] named]# vim  /etc/resolv.conf
           
DNS域名解析引言一、BIND域名服務基礎二、BIND建構域名伺服器總結

 第六步:測試DNS解析(nslookup或者host)

#對域名文法進行檢查(named.conf)
named-checkconf -z /etc/named.conf
           
DNS域名解析引言一、BIND域名服務基礎二、BIND建構域名伺服器總結
DNS域名解析引言一、BIND域名服務基礎二、BIND建構域名伺服器總結

總結

在我們搭建bind服務的時候,大家一定要注意域名後面的點,這是非常容易錯和忽略的地方,我們可以用named -checkconf -z /etc/named.conf進行文法檢查,是非常友善的,還有我們的日志檔案

繼續閱讀