Linux之DNS服務


一、學習路線如下

image

二、DNS介紹

1.域名的概念

域名由特定的格式組成,用來表示互聯網中某一台計算機或者計算機組的名稱,能夠使人更方便的訪問互聯網,而不用記住能夠被機器直接讀取的IP地址。

2.DNS(domain name system ) 域名解析服務

域名解析是把域名指向網站IP,人們通過注冊的域名可以方便地訪問到網站的一種服務。IP地址是網絡上標識站點的數字地址,為了方便記憶,采用域名來代替IP地址標識站點地址。域名解析就是域名到IP地址的轉換過程。域名的解析工作由DNS服務器完成。

3.域的構成

1.根域.(root)

    在整個DNS系統的上方一定是’.’這個服務器,也稱根服務器。全球共有13台。

2.一級域名、頂級域、國家域

    例如com、edu、cn

3.二級域名

    例如qq.com  baidu.com

三、DNS工作原理

1.遞歸查詢

    遞歸查詢是最常見的查詢方式,域名服務器將代替提出請求的客戶機(下級DNS服務器)進行域名查詢,若域名服務器不能直接回答,則域名服務器會在域各樹中的各分支的上下進行遞歸查詢,最終將返回查詢結果給客戶機,在域名服務器查詢期間,客戶機將完全處於等待狀態。

2.迭代查詢

    迭代查詢又稱重指引,當服務器使用迭代查詢時能使其他服務器返回一個最佳的查詢點提示或主機地址,若此最佳的查詢點中包含需要查詢的主機地址,則返回主機地址信息,若此時服務器不能夠直接查詢到主機地址,則是按照提示的指引依次查詢,直到服務器給出的提示中包含所需要查詢的主機地址為止,一般每次指引都會更靠近根服務器(向上),查尋到根域名服務器后,則會再次根據提示向下查找。

3.DNS工作原理

    如果DNS詢問一次得到了結果,那么屬於遞歸查詢;若果詢問多次得到了結果,那么屬於迭代查詢。

    NDS工作方式是一次遞歸,多次迭代

四、Linux下配置DNS服務的軟件和相關配置文件

1.DNS默認使用的端口是tcp/53(主從之間的數據傳輸),udp/53(域名解析)

2.Lin使用的是DNS軟件是:bind

    相關的配置文件如下:

/etc/logrotate.d/named         日志輪轉文件
/etc/named                     配置文件的主目錄
/etc/named.conf             主配置文件
/etc/named.rfc1912.zones     zone文件,定義域
/etc/rc.d/init.d/named         啟動腳本
/usr/sbin/named             二進制命令
/usr/sbin/named-checkconf     檢查配置文件的命令 named.conf和named.rfc1912.zones
/usr/sbin/named-checkzone     檢查區域文件的命令,區域文件自己創建
/var/log/named.log             日志文件
/var/named                     數據文件的主目錄
/var/named/data
/var/named/named.ca         根域服務器
/var/named/named.empty
/var/named/named.localhost     正向解析區域文件的模板
/var/named/named.loopback     反向解析區域文件的模板
/var/named/slaves             從dns服務器下載文件的默認路徑
/var/run/named                 進程文件

 

五、實驗之配置DNS正反向解析

1.實驗要求

    配置本地DNS服務器,實現本地通過域名訪問到web服務器

2.任務分析

    需要三台服務器,一台配置為web服務器,一台配置為DNS服務器,一台服務器作為測試機

3.實驗環境介紹

    web服務器IP:192.168.189.128 主機名:web ,已開啟web服務

    DNS服務器IP:192.168.189.132 主機名:DNS, 沒有安裝bind服務

    測試機IP:192.168.189.129 主機名:test

4.實驗具體步驟

    DNS服務器端進行配置:

[root@DNS ~]# yum install bind
…………
已安裝:
  bind.x86_64 32:9.8.2-0.62.rc1.el6                                               
完畢!
[root@DNS ~]# vim /etc/named.conf    //修改主配置文件
…………
options {
        listen-on port 53 { 127.0.0.1;any; };        //定義監聽方式,any代表全網監聽
        listen-on-v6 port 53 { ::1; };
        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     { localhost;any; };        //允許任何人查詢
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};
[root@DNS ~]# vim /etc/named.rfc1912.zones  //定義DNS管理哪些域
//在文件里追加如下內容
zone "web.jiangfeng" IN {
        type master;
        file "web.jiangfeng";
        allow-update { none; };
};
zone "189.168.192.in-addr.arpa" IN {
        type master;
        file "189.168.192";
        allow-update { none; };
[root@DNS named]# tail /etc/named.rfc1912.zones 
zone "web.jiangfeng" IN {
    type master;
    file "web.jiangfeng.zone";
    allow-update { none; };
};
zone "189.168.192" IN {
    type master;
    file "189.168.192.zone";
    allow-update { none; };
};
[root@DNS named]# cp -p named.localhost web.jiangfeng        //復制模板文件時文件的屬主屬組也要一致
[root@DNS named]# cp -p named.loopback 189.168.192
[root@DNS named]# ll
總用量 36
-rw-r----- 1 root  named  168 12月 15 2009 189.168.192.zone
drwxrwx--- 2 named named 4096 3月  23 2017 data
drwxrwx--- 2 named named 4096 3月  23 2017 dynamic
-rw-r----- 1 root  named 3171 1月  11 2016 named.ca
-rw-r----- 1 root  named  152 12月 15 2009 named.empty
-rw-r----- 1 root  named  152 6月  21 2007 named.localhost
-rw-r----- 1 root  named  168 12月 15 2009 named.loopback
drwxrwx--- 2 named named 4096 3月  23 2017 slaves
-rw-r----- 1 root  named  152 6月  21 2007 web.jiangfeng.zone

    修改相應的區域文件(正向和反向)

[root@DNS named]# vim web.jiangfeng.zone 

$TTL 1D
@       IN SOA  web.jiangfeng. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.web.jiangfeng.
dns     A       192.168.189.132
www     A       192.168.189.128

 

[root@DNS named]# vim 189.168.192.zone 

$TTL 1D
@       IN SOA  web.jiangfeng. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.web.jiangfeng.
128     PTR     www.web.jiangfeng.

    編寫好配置文件后,可以使用命令檢查文件的語法是否正確

[root@DNS named]# named-checkconf /etc/named.conf 
[root@DNS named]# named-checkconf /etc/named.rfc1912.zones 
[root@DNS named]# named-checkzone web.jiangfeng.zone web.jiangfeng.zone 
zone web.jiangfeng.zone/IN: loaded serial 0
OK
[root@DNS named]# named-checkzone 189.168.192.zone 189.168.192.zone 
zone 189.168.192.zone/IN: loaded serial 0
OK

    啟動服務

[root@DNS named]# service named start
啟動 named:                                               [確定]

    在測試機上進行驗證

[root@test ~]# vim /etc/resolv.conf
nameserver 192.168.189.132

[root@test ~]# nslookup 192.168.189.128
Server:        192.168.189.132
Address:    192.168.189.132#53

128.189.168.192.in-addr.arpa    name = www.web.jiangfeng.

[root@test ~]# nslookup www.web.jiangfeng
Server:        192.168.189.132
Address:    192.168.189.132#53

Name:    www.web.jiangfeng
Address: 192.168.189.128

六、實驗之主從DNS搭建

大前提兩台服務器時間必須保持一致,最好具有(軟硬件)高同步性。

1.實驗要求

    一台服務器為master,另一台服務器為slave,實現slave同步master上的區域文件。

3.實驗環境介紹

    master服務器IP:192.168.189.132

    slave服務器IP:192.168.189.129

    兩台服務器時間不准確

4.實驗具體步驟

    1)同步時間

//安裝xinetd軟件
yum install -y xinetd
//修改相應配置文件
vim /etc/xinetd.d/time-stream
disable = no
vim /etc/xinetd.d/time-dgram
disable = no
//啟動服務
[root@master ~]# service xinetd restart
停止 xinetd:                                              [失敗]
正在啟動 xinetd:                                          [確定]

查看端口是否監聽
[root@master ~]# netstat -nltup|grep 37
tcp        0      0 :::37                       :::*                        LISTEN      3268/xinetd         
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               1337/dhclient       
udp        0      0 :::37                       :::*                                    3268/xinetd   
service端同步時間
[root@master ~]# rdate -s time.nist.gov
[root@master ~]# date
2019年 07月 24日 星期三 16:23:49 CST


//客戶端同步時間,可制定定時任務
[root@slave ~]# yum install rdate -y
[root@slave ~]# rdate -s 192.168.189.132
[root@slave ~]# date
2019年 07月 24日 星期三 16:24:29 CST

    2)bind相關的配置

在master上的配置
[root@master ~]# vim /etc/named.conf 
options {
        listen-on port 53 { 127.0.0.1;any; };
        allow-transfer {192.168.189.129;};    添加這行的意義是允許哪個slave來同步下載區域文件
        listen-on-v6 port 53 { ::1; };
…………
在slave上的配置
[root@slave ~]# yum install -y bind
[root@slave ~]# vim /etc/named.conf 
…………
options {
        listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { ::1;any; };
        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     { localhost;any; };
…………

[root@slave ~]# vim /etc/named.rfc1912.zones
//加入如下內容
zone "web.jiangfeng" IN {
        type slave;
        file "slaves/web.jiangfeng.zone";
        allow-update { none; };
        masters {192.168.189.132;};
};
zone "189.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/189.168.192.zone";
        allow-update { none; };
        masters {192.168.189.132;};
};

5.測試

[root@slave ~]# service named start
啟動 named:                                               [確定]
[root@slave named]# ll /var/named/slaves/
總用量 8
-rw-r--r-- 1 named named 344 7月  24 16:36 189.168.192.zone
-rw-r--r-- 1 named named 342 7月  24 16:36 web.jiangfeng.zone

    注:/var/named/slaves下的文件是通過主從DNS自動同步的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM