linux學習筆記——DNS服務器的學習和搭建

#########DNS服務器###########

1.DNS服務器的類型:
主域名服務器:master,負責維護這個地區的所有域名信息,是特定的所有信息的權威信息源。
輔助域名服務器:slaves,作爲備份服務器,在主服務器出現故障、關閉、負載過重時提供域名解析服務器。
緩存服務器:hint,將域名查詢結果緩存到本地,提高重複查詢時的速度。
轉發域名服務器:負責所有非本地域名域名的本地查詢。

2.DNS系統的作用:
正向解析:根據主機名稱(域名)查找對應的IP地址。
反向解析:根據IP地址查找對應的主機域名。


#########DNS服務器的配置選項內容解釋##########
1.DNS服務的信息說明:
網絡類型:
IN:表示網絡是Internet
基本記錄:
A:Address,正向記錄,域名到ip
AAAA:域名到IPV6的映射
PTR:Printer,反向,ip到域名
可選記錄:
MX:代表域內的郵件服務器
CNAME:域名的別名
區記錄:
SOA:start of authority ,標示域內主dns服務器
NS:代表域內的dns服務器,標示授權子域

host -l example.com    ##查看域中的所有主機
dig -t soa example.com    ##輔助dns

軟件包: bind、bind-chroot、bind-utils、caching-nameserver
bind    ##提供了域名服務的主要程序及相關文件
bind-chroot    ##爲bind提供一個僞裝的根目錄以增強安全性(將“/var/named/chroot/”文件夾作爲BIND的根目錄)
bind-utils    ##提供了對DNS服務器的測試工具程序(如nslookup、dig等)
cache-nameserver ##提供了一些配置樣例文件
(如果沒有安裝bind-chroot軟件包,則主配置文件默認位於 /etc/named.conf,數據文件默認保存在 /var/named/ 目錄)


/etc/named.conf    ##DNS主配置文件
/var/named    ##DNS區文件(zone)存放目錄
【注:爲了實驗簡單些,這裏沒有使用僞裝的目錄】

named是標準的系統服務腳本,監聽TCP、UDP協議的53端口,以及TCP的953端口:
UDP 53端口一般對所有客戶機開放,以提供解析服務;
TCP 53端口一般只對特定從域名服務器開放,提高解析記錄傳輸通道
TCP 953端口默認只對本機(127.0.0.1)開放,用於爲rndc遠程管理工具提供控制通道

############配置主DNS服務器(有正向和反向解析)############
1.安裝
yum install -y bind bind-utils
2.
背景:hjy.qq.com是主dns服務器,IP是172.25.8.10,有2個計算機進行域名解析,www和abc,IP是172.25.8.13~14
1)
vim /etc/named.conf    ##dns配置文件,包含對根域服務器named.ca的引用

在options中參數修改如下:            ##全局設定
  listen-on port 53 { any; };        ##監聽本地53端口,any表示允許任何IP監聽
  // listen-on-v6 port 53 { ::1; };    ##註釋關閉ipv6選項
  allow-query  { any; };        ##允許與本地直連的網絡使用dns服務
    
//include "/etc/named.root.key";    ##根安全及遠程管理,註釋掉這最後一行
2)
vim /etc/named.rfc1912.zones    ##該文件定義區qq.com,區指zone(更多域名,可在此文件中繼續添加)

zone "qq.com" IN {        ##定義了對qq.com的正向解析
        type master;
        file "qq.com.zone";    ##正向解析配置文件名爲qq.com.zone,此區文件中有資源記錄
        allow-update { none; };
};

zone "8.25.172.in-addr.arpa" IN {    ##該文件定義區qq.com的反向解析
        type master;
        file "8.25.172.zone";        ##反向向解析配置文件名爲8.25.172.zone,此區文件中有資源記錄
        allow-update { none; };
};

3)
vim /var/named/qq.com.zone

$TTL 1D
@       IN SOA  hjy.qq.com. root.qq.com. (    ##@代替qq.com,寫全域名後必須有.
                                        0       ; serial    ##序列號
                                        1D      ; refresh    ##刷新間隔
                                        1H      ; retry        ##重試間隔
                                        1W      ; expire    ##過期間隔
                                        3H )    ; minimum    ##最小TTL
        IN  NS  hjy.qq.com.    ##NS記錄,授權的子域
hjy     IN  A   172.25.8.10    ##A記錄,相對名hjy,全名是hjy.qq.com
www     IN  A   172.25.8.13    ##A記錄,相對名www,全名是www.qq.com
abc    IN  A    172.25.8.14    ##A記錄

4)vim /var/named/8.25.172.zone

$TTL 1D
@       IN SOA hjy.qq.com. root.qq.com. (    ##@代替8.25.172.in-addr.arpa,root.qq.com是管理員郵箱
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN NS   qq.com.        ##NS記錄,授權的子域
10      IN PTR  hjy.qq.com.    ##PTR記錄,IP到域名的解析
13      IN PTR  www.qq.com.
14    IN PTR  abc.qq.com.

5)檢查配置文件
named-checkconf /etc/named.conf
named-checkzone qq.com /var/named/qq.com.zone
named-checkzone 8.25.172.in-addr.arpa /var/naemd/8.25.172.zone

6)檢查無誤啓動named
systemctl start named

7)測試DNS是否生效
vim /erc/resolv.conf
search qq.com hjy.qq.com
nameserver 172.25.8.10

8)使用host和dig命令進行解析
[root@localhost ~]# host hjy.qq.com
hjy.qq.com has address 172.25.8.10
[root@localhost ~]# host www.qq.com
www.qq.com has address 172.25.8.13
[root@localhost ~]# host abc.qq.com
abc.qq.com has address 172.25.8.14
[root@localhost ~]# host 172.25.8.13
13.8.25.172.in-addr.arpa domain name pointer www.qq.com.

############配置輔助DNS服務器#############
1.繼續編輯主DNS服務器的/etc/named.conf
添加新的options參數:
options {
        dierectory "/var/named";
        allow-transfer {172.25.8.11;};    ##指定輔助服務器的IP,也可以爲any

2.輔助服務器上安裝
yum install -y bind
3.輔助服務器編輯配置文件
1)
vim /etc/name.conf
註釋原來的options,新添加:
options {
        directory "/var/named";
};

logging {            【這些內容留下,其他註釋掉】
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {            【這些內容留下,其他註釋掉】
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";【這些內容留下,其他註釋掉】
//include "/etc/named.root.key";    ##根安全及遠程管理,註釋掉這最後一行

2)
 vim /etc/named.rfc1912.zones
zone "qq.com" IN {
         type slave;
         file "slaves/qq.com.zone";
         masters {172.25.8.10;};    ##注意是masters
};
zone "8.25.172.in-addr.arpa" IN {
         type slave;
         file "slaves/8.25.172.zone";
         masters {172.25.8.10;};    ##注意是masters
};
3)輔助服務器檢查配置文件
named-checkconf /etc/named.conf

4)輔助服務器查看並開啓named
ls /var/named/slaves/    ##此時該目錄爲空
systemct start named    ##啓動naemd守護進程

5)輔助服務器查看/var/named/slaves/
ls /var/named/slaves/    
8.25.172.zone  qq.com.zone    ##從主服務器複製過來的正向和反向解析

6)輔助服務器測試DNS是否生效
vim /etc/resolv.conf
search qq.com
nameserver 172.25.8.11

7)使用host和dig命令進行解析
[root@slave ~]# host www.qq.com
www.qq.com has address 172.25.8.13
[root@server ~]# host 172.25.8.14
14.8.25.172.in-addr.arpa domain name pointer abc.qq.com.


############配置轉發DNS服務器#############
如果DNS服務器配置爲DNS轉發模式,其實就是創建成緩存服務器
1.只用編輯name.conf,不需要使用zone語句設置區
1) vim /etc/name.conf
options{
    dierectory "/var/named";
    forwarder {172.25.8.20        ##轉發目的DNS服務器ip地址
           172.25.8.30        
    };    
    forwared only;    ##只進行轉發服務
};
2)開啓nameds
systemct start named    ##啓動naemd

############DNS負載均衡############
背景:例如FTP服務器訪問者很多,通過使用對DNS的配置達到負載均衡的目的,3臺FTP服務器的內容完全相同,
3臺FTP服務器IP爲172.25.8.15~17,統一使用一個域名ftp.qq.com
1.在剛纔的主服務器上直接做
1)編輯qq.com.zone
vim /var/named/qq.com.zone

$TTL 1D
@       IN SOA  hjy.qq.com. root.qq.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN  NS  hjy.qq.com.
hjy     IN  A   172.25.8.10
www     IN  A   172.25.8.13
abc     IN  A   172.25.8.14
ftp     IN  A   172.25.8.15
ftp     IN  A   172.25.8.16
ftp     IN  A   172.25.8.17
2)編輯8.25.172.zone
vim /var/named/8.25.172.zone

$TTL 1D
@       IN SOA hjy.qq.com. root (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN NS   qq.com.
10      IN PTR  hjy.qq.com.
13      IN PTR  www.qq.com.
14      IN PTR  abc.qq.com.
15      IN PTR  ftp.qq.com.
16      IN PTR  ftp.qq.com.
17      IN PTR  ftp.qq.com.

3)重新啓動
systemctl restart named
【注意:之前配置過轉發服務器,如果出現錯誤,按照named-check /etc/named.conf檢查排錯】

4)正向反向測試
[root@localhost ~]# host ftp.qq.com
ftp.qq.com has address 172.25.8.17
ftp.qq.com has address 172.25.8.15
ftp.qq.com has address 172.25.8.16
[root@localhost ~]# host 172.25.8.15
15.8.25.172.in-addr.arpa domain name pointer ftp.qq.com.
[root@localhost ~]# host 172.25.8.16
16.8.25.172.in-addr.arpa domain name pointer ftp.qq.com.
[root@localhost ~]# host 172.25.8.17
17.8.25.172.in-addr.arpa domain name pointer ftp.qq.com.




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