DNS實驗

 

建立DNS服務器(正向解析)

linux沒有緩存 windows有dns緩存 權威結果,非權威結果 無論是正向解析數據庫還是反向解析數據中  寫管理員郵件地址或完整域名(FQDN)都要再后面加上點。否則系統會自動不上區域名稱。 實驗環境先清理防火墻規則,關閉防火墻.

centos7 systemctl disable firewalld
centos6 chkconfig iptables off

[root@centos7 ~]# iptables -F
[root@centos7 ~]# systemctl disable firewalld
[root@centos7 ~]# systemctl is-enabled firewalld
disabled

[root@centos6 ~]# iptables -F
[root@centos6 ~]# chkconfig --list iptables
iptables        0:off   1:off   2:on    3:on    4:on    5:on       6:off
[root@centos6 ~]# chkconfig iptables off

安裝bind會有個安裝前腳本

[root@centos7 ~]# rpm -q --scripts  bind
preinstall scriptlet (using /bin/sh):
if [ "$1" -eq 1 ]; then
  /usr/sbin/groupadd -g 25 -f -r named >/dev/null 2>&1 || :;   ####創建named用戶組
  /usr/sbin/useradd  -u 25 -r -N -M -g named -s /sbin/nologin -d /var/named -c Named named >/dev/null 2>&1 || :;  ####創建named用戶
fi;
:;
postinstall scriptlet (using /bin/sh):
/sbin/ldconfig

if [ $1 -eq 1 ] ; then 
        # Initial installation 
        systemctl preset named.service >/dev/null 2>&1 || : 
fi 

if [ "$1" -eq 1 ]; then
  # Initial installation
  [ -x /sbin/restorecon ] && /sbin/restorecon /etc/rndc.* /etc/named.* >/dev/null 2>&1 ;
  # rndc.key has to have correct perms and ownership, CVE-2007-6283
  [ -e /etc/rndc.key ] && chown root:named /etc/rndc.key
  [ -e /etc/rndc.key ] && chmod 0640 /etc/rndc.key
fi
:;
preuninstall scriptlet (using /bin/sh):
# Package removal, not upgrade

if [ $1 -eq 0 ] ; then 
        # Package removal, not upgrade 
        systemctl --no-reload disable named.service > /dev/null 2>&1 || : 
        systemctl stop named.service > /dev/null 2>&1 || : 
fi
postuninstall scriptlet (using /bin/sh):
/sbin/ldconfig
# Package upgrade, not uninstall

systemctl daemon-reload >/dev/null 2>&1 || : 
if [ $1 -ge 1 ] ; then 
        # Package upgrade, not uninstall 
        systemctl try-restart named.service >/dev/null 2>&1 || : 
fi

1、安裝bind包,啟動服務 2、創建zone信息 指明區域信息,domain:magedu.com 指明區域數據庫 /var/named/magedu.com.zone 修改配置文件,/etc/named.conf

/etc/named.conf

    listen-on port 53 { local; };
    allow-query     { any; };

/etc/named.rfc1912.zones

    zone "magedu.com" IN {
            type master;
            file "magedu.com.zone";  ###什么名字不重要,但是創建區域數據文件時,名字和這里的配置要一致。
    };
創建區域數據庫文件/var/named/magedu.com

[root@centos7 ~]# vim /var/named/magedu.com.zone
$TTL 1D                                             ####全局定義TTL值,也可每條記錄單獨定義。
@       IN      SOA     ns1     admin.magedu.com (  ####soa必須寫主dns的名稱
                                2016092901          ####版本號不能超過十位
                                1D
                                1H
                                1W
                                3H
)
        IN      NS      ns1                        ####也可以寫   ns1.magedu.com.          注意點 
        IN      NS      ns2
ns1     IN      A       192.168.154.139            ####ns1后面會自動補全  ns1.magedu.come.  注意點不要忘記寫
ns2     IN      A       192.168.154.133
websrv  IN      A       192.168.154.139
www     IN      CNAME   websrv
*       IN      CNAME   websrv                    ####匹配任意以magedu.com為后綴的主機名。
~                                       
配置郵件服務器必須要寫優先級,哪怕就是一個也要寫。

注意創建區域數據庫文件要修改權限和所屬組。

[root@centos7 ~]# ll /var/named/magedu.com.zone 
-rw-r--r--. 1 root root 206 Sep 29 10:45 /var/named/magedu.com.zone
[root@centos7 ~]# chgrp named /var/named/magedu.com.zone 
[root@centos7 ~]# chmod 640 /var/named/magedu.com.zone 
[root@centos7 ~]# ll /var/named/magedu.com.zone
-rw-r-----. 1 root named 206 Sep 29 10:45 /var/named/magedu.com.zone
[root@centos7 ~]#

3、檢查配置 named-checkconf   檢查主配置文件 named-checkzone "magedu.com" "/var/named/magedu.com.zone"

[root@centos7 ~]# named-checkzone "magedu.com" "/var/named/magedu.com.zone"
zone magedu.com/IN: loaded serial 2016092901
OK

4、重啟服務 systemctl reload named rndc reload      ####專門管理dns的工具

5、測試工具測試  測試FQDN(www.magedu.nslookup) 測試客戶端的/etc/resolv.conf文件需要修改,但是不能重啟網絡服務否則被沖掉。 改為當前dns服務器地址。

ping、host、dig、nslookup(查詢反向解析)

[root@centos6 ~]# host www.magedu.com
www.magedu.com is an alias for websrv.magedu.com.
websrv.magedu.com has address 192.168.154.139

[root@centos6 ~]# ping www.magedu.com 
PING websrv.magedu.com (192.168.154.139) 56(84) bytes of data.
64 bytes from 192.168.154.139: icmp_seq=1 ttl=64 time=0.267 ms
64 bytes from 192.168.154.139: icmp_seq=2 ttl=64 time=0.400 ms

[root@centos6 ~]# dig www.magedu.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> www.magedu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39890
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;www.magedu.com.                        IN      A

;; ANSWER SECTION:
www.magedu.com.         86400   IN      CNAME   websrv.magedu.com.
websrv.magedu.com.      86400   IN      A       192.168.154.139

;; AUTHORITY SECTION:
magedu.com.             86400   IN      NS      ns1.magedu.com.
magedu.com.             86400   IN      NS      ns2.magedu.com.

;; ADDITIONAL SECTION:
ns1.magedu.com.         86400   IN      A       192.168.154.139
ns2.magedu.com.         86400   IN      A       192.168.154.133

;; Query time: 12 msec
;; SERVER: 192.168.154.139#53(192.168.154.139)
;; WHEN: Wed Sep 28 14:43:24 2016
;; MSG SIZE  rcvd: 137

客戶端查詢使用的是UDP協議,但是兩臺dns同步數據,無論是通知更新還是主動更新,UDP和TCP連個協議的53號端口都需要打開。

建立反向解析區域

[root@centos6 ~]# nslookup 192.168.154.139
Server:         192.168.154.139
Address:        192.168.154.139#53

** server can't find 139.154.168.192.in-addr.arpa.: NXDOMAIN


[root@centos6 ~]# nslookup
> www.magedu.com
Server:         192.168.154.139
Address:        192.168.154.139#53

www.magedu.com  canonical name = websrv.magedu.com.
Name:   websrv.magedu.com
Address: 192.168.154.139
>

創建區域信息

zone "154.168.192.in-addr.arpa" IN {      ####解析一個網段。網絡號反寫。
        type master;
        file "154.168.192.zone";
};

建立反向解析數據庫 SOA和NS 記錄是必須加的。

[root@centos7 ~]# vim /var/named/154.168.192.zone
$TTL 86400
@       IN      SOA     ns1.magedu.com. admn.magedu.com. ( 2016092901 1D 10M 1W 1D )
        IN      NS      ns1.magedu.com.
139     IN      PTR     ns1.magedu.com
139     IN      PTR     websrv.magedu.com.
133     IN      PTR     ns2.magedu.com.
~                                        

[root@centos7 ~]# named-checkconf
[root@centos7 ~]# named-checkzone "154.168.192.in-addr.arpa" "/var/named/154.168.192.zone"
zone 154.168.192.in-addr.arpa/IN: loaded serial 2016092901
OK

測試:

nslookup

[root@centos6 ~]# nslookup 192.168.154.139
Server:         192.168.154.139
Address:        192.168.154.139#53

139.154.168.192.in-addr.arpa    name = ns1.magedu.com.154.168.192.in-addr.arpa.
139.154.168.192.in-addr.arpa    name = websrv.magedu.com.

[root@centos6 ~]# nslookup 
> 192.168.154.133
Server:         192.168.154.139
Address:        192.168.154.139#53

133.154.168.192.in-addr.arpa    name = ns2.magedu.com.

dig

[root@centos6 ~]# dig -x 192.168.154.139            ########################

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -x 192.168.154.139
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20321
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;139.154.168.192.in-addr.arpa.  IN      PTR

;; ANSWER SECTION:
139.154.168.192.in-addr.arpa. 86400 IN  PTR     websrv.magedu.com.
139.154.168.192.in-addr.arpa. 86400 IN  PTR     ns1.magedu.com.154.168.192.in-addr.arpa.

;; AUTHORITY SECTION:
154.168.192.in-addr.arpa. 86400 IN      NS      ns1.magedu.com.

;; ADDITIONAL SECTION:
ns1.magedu.com.         86400   IN      A       192.168.154.139

;; Query time: 0 msec
;; SERVER: 192.168.154.139#53(192.168.154.139)
;; WHEN: Wed Sep 28 15:44:07 2016
;; MSG SIZE  rcvd: 140

[root@centos6 ~]# dig -t PTR 139.154.168.192.in-addr.arpa      ####################

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t PTR 139.154.168.192.in-addr.arpa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22917
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;139.154.168.192.in-addr.arpa.  IN      PTR

;; ANSWER SECTION:
139.154.168.192.in-addr.arpa. 86400 IN  PTR     ns1.magedu.com.154.168.192.in-addr.arpa.
139.154.168.192.in-addr.arpa. 86400 IN  PTR     websrv.magedu.com.

;; AUTHORITY SECTION:
154.168.192.in-addr.arpa. 86400 IN      NS      ns1.magedu.com.

;; ADDITIONAL SECTION:
ns1.magedu.com.         86400   IN      A       192.168.154.139

;; Query time: 1 msec
;; SERVER: 192.168.154.139#53(192.168.154.139)
;; WHEN: Wed Sep 28 15:45:52 2016
;; MSG SIZE  rcvd: 140


建立從服務器

1、建立從dns服務器,安裝bind,關閉防火墻,開啟服務。 2、建立區域信息,從的dns不需要建立區域數據庫文件  從主dns上同步過來的數據放到/var/named/slave/目錄下。

修改配置主配置文件

[root@centos6 ~]# vim /etc/named.conf 
//
// named.conf
//
   Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
//      listen-on port 53 { 127.0.0.1; };    ###############注釋掉,即使監聽在本地所有ip上
//      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; };      ###############注釋掉即使允許所有主機訪問
        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";
};

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";

~

修改區域配置文件

[root@centos6 ~]# vim /etc/named.rfc1912.zones 
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zo
nes-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

  ne "localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "magedu.com" {                           ##################
        type slave;
        masters {192.168.154.139;};
        file "slaves/magedu.com.slave"
};

重新加載配置文件。

[root@centos6 ~]# rndc reload
server reload successful
[root@centos6 ~]# ll /var/named/slaves/magedu.com.slave 
-rw-r--r--. 1 named named 433 Sep 28 16:08 /var/named/slaves/magedu.com.slave
[root@centos6 ~]# cat /var/named/slaves/magedu.com.slave
$ORIGIN .
$TTL 86400      ; 1 day
magedu.com              IN SOA  ns1.magedu.com. admin.magedu.com.magedu.com. (
                                2016092901 ; serial
                                86400      ; refresh (1 day)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                10800      ; minimum (3 hours)
                                )
                        NS      ns1.magedu.com.
                        NS      ns2.magedu.com.
$ORIGIN magedu.com.
*                       CNAME   websrv
ns1                     A       192.168.154.139
ns2                     A       192.168.154.133
websrv                  A       192.168.154.139
www                     CNAME   websrv

傳送的日志信息 [root@centos6 ~]# cat /var/log/messages | grep "named"

Sep 28 16:08:48 centos6 named[6656]: reloading configuration succeeded
Sep 28 16:08:48 centos6 named[6656]: reloading zones succeeded
Sep 28 16:08:48 centos6 named[6656]: zone magedu.com/IN: Transfer started.
Sep 28 16:08:48 centos6 named[6656]: transfer of 'magedu.com/IN' from 192.168.154.139#53: connected using 192.168.154.133#49986
Sep 28 16:08:48 centos6 named[6656]: zone magedu.com/IN: transferred serial 2016092901
Sep 28 16:08:48 centos6 named[6656]: transfer of 'magedu.com/IN' from 192.168.154.139#53: Transfer completed: 1 messages, 9 records, 242 bytes, 0.001 secs (242000 bytes/sec)
Sep 28 16:08:48 centos6 named[6656]: zone magedu.com/IN: sending notifies (serial 2016092901)

注意:默認建立輔助dns,主dns不需要做任何配置,輔助dns就能從主dns上同步數據。但是不安全。 dns默認任何人同步它的dns記錄。默認任何做它的從dns。

[root@centos6 ~]# dig -t axfr magedu.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t axfr magedu.com
;; global options: +cmd
magedu.com.             86400   IN      SOA     ns1.magedu.com. admin.magedu.com.magedu.com. 2016092901 86400 3600 604800 10800
magedu.com.             86400   IN      NS      ns1.magedu.com.
magedu.com.             86400   IN      NS      ns2.magedu.com.
*.magedu.com.           86400   IN      CNAME   websrv.magedu.com.
ns1.magedu.com.         86400   IN      A       192.168.154.139
ns2.magedu.com.         86400   IN      A       192.168.154.133
websrv.magedu.com.      86400   IN      A       192.168.154.139
www.magedu.com.         86400   IN      CNAME   websrv.magedu.com.
magedu.com.             86400   IN      SOA     ns1.magedu.com. admin.magedu.com.magedu.com. 2016092901 86400 3600 604800 10800
;; Query time: 1 msec
;; SERVER: 192.168.154.139#53(192.168.154.139)
;; WHEN: Wed Sep 28 16:36:46 2016
;; XFR size: 9 records (messages 1, bytes 242)

/etc/named.conf文件中,添加一條 allow-transfer {192.168.154.133;};   ###添加上輔助dns的IP地址。 只能是添加的指定主機可以同步dns數據。 從dns也可以從其它從dns那里同步數據。 [root@centos6 ~]# dig -t axfr magedu.com @192.168.154.133 使用dig命令  @指定抓取那個dns 所以輔助dns也需要配置該條目。禁止其它dns抓取數據。

正向區域數據庫文件傳輸完畢。 反向區域數庫的同理。

3、主dns配置 主dns上必須有輔助dns的NS記錄和A記錄,主dns改版本號,才能通知輔助dns更新區域數據庫文件。

[root@centos7 ~]# cat /var/named/magedu.com.zone 
$TTL 1D
@       IN      SOA     ns1     admin.magedu.com (
                                2016092901
                                1D
                                1H
                                1W
                                3H
)
        IN      NS      ns1
        IN      NS      ns2              ######################
ns1     IN      A       192.168.154.139
ns2     IN      A       192.168.154.133  ######################
websrv  IN      A       192.168.154.139
www     IN      CNAME   websrv
*       IN      CNAME   websrv

4、同步機制 第一次啟動從dns會從主dns上拉取數據。 主dns上數據有改變,必須改版本號才能同步區域數控文件。 從dns定期更新主dns上數據,如版本號無改變則不更新。

反向區域的從

從服務器配置 /etc/named.rfc1912.zones 添加反向區域信息。

zone "154.168.192.in-addr.arpa" {
        type slave;
        masters {192.168.154.139;};
        file "slaves/154.arpa.zone";
};

named-checkconf 檢查主配置文件。

重新加載配置

[root@centos6 ~]# rndc reload
server reload successful
[root@centos6 ~]# ll /var/named/slaves/
total 8
-rw-r--r--. 1 named named 394 Sep 28 16:57 154.arpa.zone
-rw-r--r--. 1 named named 433 Sep 28 16:08 magedu.com.slave
[root@centos6 ~]# cat /var/named/slaves/154.arpa.zone 
$ORIGIN .
$TTL 86400      ; 1 day
154.168.192.in-addr.arpa IN SOA ns1.magedu.com. admn.magedu.com. (
                                2016092901 ; serial
                                86400      ; refresh (1 day)
                                600        ; retry (10 minutes)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
                        NS      ns1.magedu.com.
$ORIGIN 154.168.192.in-addr.arpa.
133                     PTR     ns2.magedu.com.
139                     PTR     ns1.magedu.com
                        PTR     websrv.magedu.com.

注意主dns的反向區域需要有輔助dns的NS記錄否則,即使序列號改變也不會通知給輔助dns。


創建子域

兩種情況,訪問量不大,可以父域和子域都在一個主機上。 在一個主機上創建 在父域dns上直接創建子域的區域信息。 配置/etc/named.rfc1912.zones

zone "game.magedu.com" {
    type master;
    file "game.magedu.com.zone";
};

在/etc/named下創建子域區域數據庫文件。

注:在/etc/named.rfc1912.zones文件中,mageduc.com和game.magedu.com是平級的兩個區域。 dns沒有創建子域,只是相當于多了個區域而已。 同理可以什么都不修改,直接將子域的A記錄放到父域的區域數據庫中。

在子域的數據庫文件中,需要定義NS和NS的A記錄,A記錄指向的是本主機。 區域數據庫文件中盡量使用@符號,這樣可以靈活引用配置文件中定義的區域名稱。

$TTL 1D @       IN      SOA     ns1     admin.magedu.com (                                2016092902                                1D                                1H                                1W                                3H )        IN      NS      ns1        IN      NS      ns2 ns1     IN      A       192.168.154.139 ns2     IN      A       192.168.154.133

================================================================================

子域授權:分布式數據庫 定義一個子區域:

1、主dns的父域的區域數據庫需要配置子域信息。 加上如下信息。 study   IN      NS      ns1.study.magedu.com. ns1.study       IN      A       192.168.154.140

注意關閉 /etc/named.conf  ###dns安全相關的配置,不能注釋掉。注釋掉默認相當于開啟。 dnssec-enable no; dnssec-validation no;

建立根、頂級域名服務器,二級域名服務器

原創文章,作者:yyw,如若轉載,請注明出處:http://www.www58058.com/56548

(0)
yywyyw
上一篇 2016-11-01 09:50
下一篇 2016-11-01 10:11

相關推薦

  • Linux命令執行

    Linux命令 Linux命令是對Linux系統進行管理的命令。對于Linux系統來說,無論是中央處理器、內存、磁盤驅動器、鍵盤、鼠標,還是用戶等都是文件,Linux系統管理的命令是它正常運行的核心,與之前的DOS命令類似。linux命令在系統中有兩種類型:內置Shell命令和外部命令。 命令格式 COMMAND [OPTIONS…] [ARGU…

    Linux干貨 2017-07-15
  • 馬哥教育網絡班21期+第四周博客作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 2、編輯/etc/group文件,添加組hadoop。 3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為hadoop組的id號;其家目錄為/home/hadoop。 4、復制/etc/sk…

    Linux干貨 2016-07-07
  • 正則表達式基礎知識及grep、egrep詳解

    什么是正則表達式     在計算機科學中,正則表達式是這樣解釋的:它是指一個用來描述或者匹配一系列符合某個句法規則的字符串的單個字符串。在很多文本編輯器或其他工具里,正則表達式通常被用來檢索和/或替換那些符合某個模式的文本內容。許多程序設計語言都支持利用正則表達式進行字符串操作。對于系統管理員來講,正則表達式貫穿在我們…

    Linux干貨 2016-08-08
  • 馬哥教育網絡班22期第五周課程練習1

    1、cat /etc/passwd  | egrep "^root|^fedora|^user1"| cut -d":" -f1,7  2、egrep -o  "[^[:space:]]+\(\)" /etc/rc.d/init.d/functions   3…

    Linux干貨 2016-09-15
  • 虛擬機的三種網絡模式

    前言     虛擬機的網絡模式,是環境部署時的重要環節。不同的運行環境對網絡的要求也是不用的,本章節重點介紹虛擬機的三種網絡模式、以及他們之間的區別 虛擬機網絡模式      無論是vmware,virtual box,virtual pc等虛擬機軟件,一般來說,虛擬機有三種網絡模式: 1.橋接 2…

    2017-07-11
  • N26 第一周作業

    一、計算機的組成及其功能 計算機:硬件部分、軟件部分硬件部分:CPU:運算器和控制器存儲器:存儲數據輸入設備:輸入數據輸出設備:輸出數據軟件部分:Kernel:管理和協調硬件,提供基本功能,為應用軟件提供平臺Application:為某種特定用途開發的軟件二、Linux的發行版 Debian全稱Debian GNU/Linux,采用Linux作為內核,由De…

    Linux干貨 2017-02-24
欧美性久久久久