DNS服務解析,如何用bind構建主從架構的DNS服務器。

DNSDomain Name System,域名系統)

        在互聯網上實現FQDN與IP地址的解析,這樣避免了人們在訪問站點時,記憶長串難懂的ip地址,只需要記憶人們容易理解的域名就行了。

        FQDN (Fully Qualified Domain Name,完全合格域名)

        FQDN------------------IP Address 正向解析

        IP Address------------FQND 反向解析

簡述工作原理:

        我們大家都知道,全球一共有13臺根節點服務器,當我們的DNS服務器收到一個解析請求時,會觸發一箇中斷從用戶模式轉變到內核模式把報文接進來,當把第四層封裝解開時,就知道用戶訪問的是53號端口,內核會把數據交給工作在用戶空間的這個進程,然後named服務會查詢自己的解析庫,如果是本服務器負責解析的域,就直接返回權威答案,如果不是,將會找根節點服務器,經過一輪迭代後,把查詢到的結果給客戶端。

DNS服務程序:

        用的最多的就是bind,在安裝好後主配置文件在/etc/named.conf,服務進程名named。

        啓動服務後,會向內核註冊使用一個ip與端口的套接字,監聽在本機tcp53端口,和udp53端口。

下面讓我們來用bind實現DNS解析吧:

實驗規劃:

                解析域:tuchao.com

                主DNS服務器:dns.tuchao.com    192.168.1.200

                從DNS服務器:ns2.tuchao.com    192.168.1.254

                host:

                www.tuchao.com    192.168.1.100

                www.tuchao.com    192.168.1.101

                mail.tuchao.com     192.168.1.106

                ftp.tuchao.com        192.168.1.120

                pop.tuchao.com      192.168.1.110

                ssh.tuchao.com  CNAME  pop

         功能:實現正反向主從DNS解析,從服務器能自動從主服務器同步區域數據,並且設定權限,主服務器只允許從服務器獲取區域數據,從服務器不允許任何主機獲取區域數據,保證安全性。

 

1、安裝bind程序軟件:

        # yum install bind -y

wKiom1N03LySB8VRAAGoNygpNu4051.jpg

2、修改主配置文件/etc/named.conf

用雙斜線註釋掉下面三行然後保存

        listen-on port 53 { 127.0.0.1; };

        listen-on-v6 port 53 { ::1; };

        allow-query     { localhost; };

wKioL1N03kWAgUuDAAF4s1jRBBw335.jpg

3、編輯包含的區域文件/etc/named.rfc1912.zones,增加一個tuchao.com區域。

zone "tuchao.com" IN {
        type master;
        file "tuchao.com.zone";
};

然後去/var/named/目錄創建tuchao.com.zone這個區域文件。

每個區域文件的第一條記錄必須是SOA記錄,定義主dns服務器,以及相關信息。

這裏兩個IP地址指向一個主機名,是爲了實現負載均衡,交替解析。

CNAME是別名。

wKiom1N04zGh8RXDAAD3RShBVqQ230.jpg

配置完成後保存退出,檢查下有沒有語法錯誤,看到OK就代表沒有。

# named-checkconf

# named-checkzone "tuchao.com" /var/named/tuchao.com.zone 

wKiom1N05JfxqxeuAAC_WmdFv0c674.jpg

服務成功啓動,並且已經偵聽在tcp和udp的53端口上了。

wKioL1N05sXRKtcJAAFNwpuMsH4152.jpg

配置resolv.conf文件把DNS設爲自己——nameserver 127.0.0.1

看下能不能正常解析。

# dig -t NS tuchao.com

wKiom1N06AyibeA-AAEvI82OPks532.jpg

# dig -t A www.tuchao.com

wKioL1N06DGB_FISAAEvI82OPks893.jpg

再試試能不能解析外網的域名,看來是可以正常解析的,因爲不是本dns負責的區域,他會去找根。

# dig -t NS baidu.com

wKiom1N06RXA_5O6AAI6SPGOTlI253.jpg

接下來設置反向區域,實現反向解析。

編輯/etc/named.rfc1912.zones,增加一個1.168.192.in-addr.arpa區域。

wKiom1N06sHgg5LhAABnh4gBKcU608.jpg

創建1.168.192.zone反向區域文件,我們可以拷貝正向區域文件來修改。

# cp tuchao.com.zone 1.168.192.zone

# chown :named /var/named/*    ------------將文件的屬組改爲named

wKiom1N077rRtcNbAAEdxsE0Hz4114.jpg

保存後,重啓named服務器,嘗試反向解析。

# dig -x 192.168.1.106

wKioL1N08JCQ30lQAAFQgdWWHLc945.jpg

反向解析也成功了,現在配置從服務器。

編輯/var/named/tuchao.com.zone區域文件,添加一條NS記錄,以及對應的A記錄

wKioL1N09oqwZYsqAAEmOwm0xl8642.jpg

反向的也是如此

wKioL1N09wvjnanxAAFVTLjvgkY767.jpg

現在去配置從服務器的/etc/named.rfc1912.zones文件

然後啓動從服務器上的named服務器,再到主服務器上重讀配置文件,主服務器的區域文件就會自動同步到從服務器上。

wKiom1N1eaCyhFTzAADAXPGFlu4058.jpg

我們查看下從服務器的日誌,是不是已經傳送完成了?

wKioL1N1eoKhvlziAASE_ozWaeI603.jpg

我們再去slaves目錄看下,有沒有同步過來的區域文件。

# cd /var/named/slaves/

# ls

wKioL1N1ezexhq-OAACL72hSPGE097.jpg

已經有了吧,看下內容?

正向區域

wKioL1N1e5mDdK0YAAEsoyFeiHY441.jpg

反向區域

wKioL1N1e8vjvG5VAAGCHWupkUM605.jpg

和主DNS服務器一樣的吧,試下能不能解析。

解析正常吧。

wKioL1N1g7fDv-j0AAHaLpW33DI080.jpg

如果要限制區域傳送使用:allow-transfer { }

wKiom1N1iMmhZ3maAAC3TGyaSFU516.jpg

這樣主服務器,只允許從服務器傳送區域數據

從服務器設置不允許任何人傳送區域數據:

wKioL1N1jp7B6CG3AADsqjX2o8s725.jpg

這樣,我們的實驗算是圓滿完成了。

有問題歡迎與我交流QQ:1183710107

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章