[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 應用技術 > DNS > 正文
DNS配置示例
本文出自: 作者: 何斌武,hbwork@dlut.edu.cn (2001-09-26 09:00:01)
 版權聲明:
    本文內容為大連理工大學LINUX選修課講義,歡迎大家轉載,但禁止使用本材料進行
    任何商業性或贏利性活動。轉載時請保留本版權聲明。

    作者:何斌武,hbwork@dlut.edu.cn,大連理工大學網絡中心,April 1999.

    URL: ftp://ftp.dlut.edu.cn/pub/PEOPLE/albin/
------------------------------------------------------------------------------

DNS Server配置示例:

注: 以上示例文件僅作演示用,實際內容有所出入,會與實際測試有出入
    DNS基礎知識請參考本人制作的PowerPoint幻燈片文件,URL同上,
    文件名為dns.ppt.

1. 首先應確認你的上級域名服務器已正確指向你的DNS Server, 如我設置的
   子域為net.dlut.edu.cn,則應在dlut.edu.cn的域名服務器上有到作
   net.dlut.edu.cn子域名服務器的LINUX機器的的NS記錄,以下是在
   dlut.edu.cn域名服務器相應文件內容:
(1)BIND 4.9.x的配置文件
--------------------------/etc/named.boot----------------------
directory       /etc/namedb
;
primary         dlut.edu.cn             db.dlut
primary         66.118.202.in-addr.arpa db.202.118.66
;
;
primary         0.0.127.in-addr.arpa    localhost.rev
secondary       net.dlut.edu.cn     202.118.65.1 db.net.dlut
secondary       65.118.202.in-addr.arpa 202.118.65.1 db.202.118.65
;
; load the cache data last
cache           .                       named.root 

(2)Bind-8.x 配置文件 /etc/named.conf
// generated by named-bootconf.pl

options {
        directory "/etc/namedb";
        /*
         * If there is a firewall between you and nameservers you want
         * to talk to, you might need to uncomment the query-source
         * directive below.  Previous versions of BIND always asked
         * questions using port 53, but BIND 8.1 uses an unprivileged
         * port by default.
         */
        // query-source address * port 53;
};

// type    domain               source host/file                backup file
zone "." {
        type hint;
        file "named.root";
};

zone "0.0.127.IN-ADDR.ARPA" {
        type master;
        file "localhost.rev";
};

zone "66.118.202.IN-ADDR.ARPA" {
        type master;
        file "db.202.118.66";
};

zone "dlut.edu.cn" {
        type master;
        file "db.dlut";
};

zone "net.dlut.edu.cn" {
        type slave;
        file "db.net.dlut";
        masters {
                202.118.65.1;
        }
};

zone "65.118.202.IN-ADDR.ARPA" {
        type slave;
        file "db.202.118.65";
        masters {
                202.118.65.1;
        }
};
-------------------------/etc/namedb/db.dlut-------------------
@       IN      SOA     cedrus.dlut.edu.cn. hbwork.dlut.edu.cn.
                99060205 10800 4800 604800 432000 )
                IN      NS      cedrus.dlut.edu.cn.
                IN      NS      gingko.dlut.edu.cn.
                IN      NS      olive.dlut.edu.cn.
                IN      MX      1 gingko.dlut.edu.cn.

localhost       IN      A       127.0.0.1
cedrus          IN      MX      1 gingko.dlut.edu.cn.
                IN      A       202.118.66.6

linden          IN      A       202.118.66.88
                IN      MX      1 linden.dlut.edu.cn.
ftp             IN      CNAME   linden.dlut.edu.cn.
banyan          IN      CNAME   linden.dlut.edu.cn.

gingko          IN      MX      10 gingko.dlut.edu.cn.
                IN      A       202.118.66.8
mail            IN      CNAME   gingko.dlut.edu.cn.

rose            IN      MX      1 rose.dlut.edu.cn.
                IN      A       202.118.66.5
                IN      A       202.118.69.6
bbs             IN      CNAME   rose.dlut.edu.cn.
bbs1            IN      A       202.118.69.6

lib     604800  IN      NS      ns.lib.dlut.edu.cn.
ns.lib  604800  IN      A       202.118.68.241

net     26000   IN      NS      dns.net.dlut.edu.cn.
                IN      NS      cedrus.dlut.edu.cn.
dns.net         IN      A       202.118.65.1
                IN      A       202.118.66.13

olive           IN      A       202.118.70.1
                IN      A       202.118.71.1
                IN      A       202.118.66.16
                IN      A       202.118.68.1
                IN      A       202.118.69.1
                IN      MX      1 olive.dlut.edu.cn.

peony           IN      A       202.118.66.18
www             IN      CNAME   peony.dlut.edu.cn.
mirror          IN      CNAME   peony.dlut.edu.cn.
        

 可通過nslookup 確認是否已正確設定,如下:
> net.dlut.edu.cn
Server:  cedrus.dlut.edu.cn
Address:  202.118.66.6

Non-authoritative answer:
net.dlut.edu.cn nameserver = dns.net.dlut.edu.cn
net.dlut.edu.cn nameserver = cedrus.dlut.edu.cn

Authoritative answers can be found from:
dns.net.dlut.edu.cn     internet address = 202.118.65.1
dns.net.dlut.edu.cn     internet address = 202.118.66.13
cedrus.dlut.edu.cn      internet address = 202.118.66.6

** 如果只想作本地的DNS Server或者你與Internet沒有連接,可以忽略此步。

2。編輯net.dlut.edu.cn DNS服務器的相應文件,
(1)Bind 4.9.x /etc/named.boot內容如下,其中以引號開始的內容為注釋:

directory   /etc/namedb      ;指定named初始化文件目錄,
                             ;最好為一單獨文件系統,如
                             ;/var/namedb /usr/local/namedb

;cache 指向頂級域名服務器列表
cache      .                          root.cache

;primary 表明是子域net.dlut.edu.cn和反向域65.118.202.IN-ADDR.ARPA
;的主域名服務器,其初始化文件分別為/etc/namedb/db.net.dlut和
;/etc/namedb/db.202.118.65
primary    net.dlut.edu.cn            db.net.dlut
primary    65.118.202.IN-ADDR.ARPA    db.202.118.65

;本地回環域0.0.127.IN-ADDR.ARPA的主域名服務器
primary    0.0.127.IN-ADDR.ARPA       localhost.rev

;子域dlut.edu.cn的備份域名服務器,從域名服務器202.118.66.6(primary
; server for domain dlut.edu.cn)和202.118.66.8(secondary server for
; domain dlut.edu.cn)申請相關數據,備份文件名為dlut.bak
; 如不做備份域名服務器則無須下列行
secondary  dlut.edu.cn 202.118.66.6 202.118.66.8 dlut.bak
secondary  66.118.202.IN-ADDR.ARPA 202.118.66.6 202.118.66.8 dlut.rev.bak

(2) bind-8.x,可用其提供的namedboot-conf.pl將上面的文件內容
      轉換為bind8所需的named.conf, 其中namedboot-conf.pl在redhat上可以在
      /usr/doc/bind*/下找到,也可從bind8的代碼包中拿到,其用法如下:

      $namedboot-conf.pl named.boot > named.conf

      將生成的named.conf文件復制到/etc目錄下即可。
      
3.創建文件/etc/namedb/db.net.dlut,可從bind軟件包攜帶的示例文件進行修改
  而成,文件內容如下:
-----------------------------------------------------------------------
;
; Data file of hostnames in this zone.
;
@       IN      SOA     dns.net.dlut.edu.cn. hbwork.dlut.edu.cn. (
                        960072601       ; Serial
                        300     ; Refresh - 5 minutes
                        60      ; Retry - 1 minute
                        38400   ; Expire - 2 weeks
                        43200 ) ; Minimum - 12 hours
        IN      NS      ns.net.dlut.edu.cn.
        IN      NS      cedrus.dlut.edu.cn.
;   Define localhost
;
localhost               IN      A               127.0.0.1

ns                      IN      A               202.118.65.1
                        IN      A               202.118.66.13
www                     IN      A               202.118.65.8

-----------------------------------------------------------------

  其中在SOA (Start of Authority)記錄中的ns.net.dlut.edu.cn. 為此文件
所在主機名(切記:完整的主機名最應以點結束),hbwork.dlut.edu.cn
為管理員Email地址hbwork@dlut.edu.cn的變通形式,因@號在此文件
中代表當前授權域名,即/etc/named.boot相應記錄中指定的域名net.dlut.edu.cn
960072601為序列好,每更改一次此值應增加,備份域名服務器根據此值決定是否
應從主域名服務器請求新的數據;NS記錄指定此域(net.dlut.edu.cn)的兩個域名
服務器,其中net.dlut.edu.cn.的IP地址在下面由 A (address)記錄給出,
cedrus.dlut.edu.cn. 的IP地址由resolver從dlut.edu.cn.域名服務器獲得。

  在其的A記錄指明了相應主機的IP地址,如主機ns有兩個IP地址。請注意主機
gw的完整名稱為gw.net.dlut.edu.cn. ,因為此名稱不是以點結束,因此其主機名
將追加域名net.dlut.edu.cn構成完整的主機名(fully qualified domain names)
當然在此文件中還有其他記錄類型,如CNAME MX 等,具體請參考named文檔,以下
僅給出簡單示例:
   設定別名:如linux.dlut.edu.cn 為主機ns.net.dlut.edu.cn之別名,主機
gingko.dlut.edu.cn有別名ftp.dlut.edu.cn www.dlut.edu.cn mail.dlut.edu.cn
則在域dlut.edu.cn的域名服務器的數據文件中使用如下記錄:

    gingko                IN   A  202.118.66.8
    ftp                   IN   CNAME gingko.dlut.edu.cn.
    www                   IN   CNAME gingko.dlut.edu.cn.
    mail                  IN   CNAME gingko.dlut.edu.cn.
    linux.dlut.edu.cn.    IN   CNAME  ns.net.dlut.edu.cn.

   設定郵件交換MX(Mail Exchange)記錄,如指定user@net.dlut.edu.cn的郵件由主機
ns.net.dlut.edu.cn接收,相應備份郵件服務器為gingko.dlut.edu.cn,可使用如下記錄
(當然相應主機的sendmail.cf應做適當調整):

   @       IN      SOA     ns.net.dlut.edu.cn. hbwork.dlut.edu.cn. (
                        960072601       ; Serial
                        300     ; Refresh - 5 minutes
                        60      ; Retry - 1 minute
                        38400   ; Expire - 2 weeks
                        43200 ) ; Minimum - 12 hours
        IN      NS      ns.net.dlut.edu.cn.
        IN      NS      cedrus.dlut.edu.cn.
        IN      MX      1 ns.net.dlute.du.cn.   
        IN      MX      10 gingko.dlut.edu.cn.  

    MX之變通形式,如在此域名服務器上指定user@net.dlut.edu.cn的郵件由
    ns.net.dlut.edu.cn. 接收,也可使用如下形式之一:
   
    (1)
        net.dlut.edu.cn.   IN   A  202.118.65.1

    (2)
        net.dlut.edcu.cn.  IN   CNAME gw.net.dlut.edu.cn.
    
    但不建議使用上面兩種方式。


4. 建立文件/etc/namedb/db.202.118.65,本文件為進行反向查詢(由IP查找域名)初始化
文件,文件內容列表如下:
   
;
; Data file for reverse address to hostname.
;
@       IN      SOA     ns.net.dlut.edu.cn. hbwork.dlut.edu.cn. (
                        960072601       ; Serial
                        300     ; Refresh - 5 minutes
                        60      ; Retry - 1 minute
                        1209600 ; Expire - 2 weeks
                        43200 ) ; Minimum - 12 hours
        IN      NS      ns.net.dlut.edu.cn.
        IN      NS      cedrus.dlut.edu.cn.
1.65.118.202.in-addr.arpa.      IN      PTR     ns.net.dlut.edu.cn.


5.建立文件/etc/namedb/localhost.rev,內容如下:

;
; BIND data file for local loopback interface.
;
@       IN      SOA     ns.net.dlut.edu.cn. hbwork.dlut.edu.cn. (
                        96072601        ; Serial
                        3600    ; Refresh
                        300     ; Retry
                        3600000 ; Expire
                        3600 )  ; Minimum
        IN      NS      ns.net.dlut.edu.cn.
1       IN      PTR     localhost.

   更改ns.net.dlut.edu.cn.為你的主機名,hbwork.dlut.edu.cn.為你的
Email 地址。

6.創建文件/etc/namedb/root.cache,列出頂級域名服務器,內容如下:

.       99999999  NS      I.ROOT-SERVERS.NET.
.       99999999  NS      F.ROOT-SERVERS.NET.
.       99999999  NS      G.ROOT-SERVERS.NET.
.       99999999  NS      A.ROOT-SERVERS.NET.
.       99999999  NS      H.ROOT-SERVERS.NET.
.       99999999  NS      B.ROOT-SERVERS.NET.
.       99999999  NS      C.ROOT-SERVERS.NET.
.       99999999  NS      D.ROOT-SERVERS.NET.
.       99999999  NS      E.ROOT-SERVERS.NET.

;; ADDITIONAL RECORDS:
I.ROOT-SERVERS.NET.     99999999 A       192.36.148.17
F.ROOT-SERVERS.NET.     99999999 A       192.5.5.241
G.ROOT-SERVERS.NET.     99999999 A       192.112.36.4
A.ROOT-SERVERS.NET.     99999999 A       198.41.0.4
H.ROOT-SERVERS.NET.     99999999 A       128.63.2.53
B.ROOT-SERVERS.NET.     99999999 A       128.9.0.107
C.ROOT-SERVERS.NET.     99999999 A       192.33.4.12
D.ROOT-SERVERS.NET.     99999999 A       128.8.10.90
E.ROOT-SERVERS.NET.     99999999 A       192.203.230.10

  此文件不做任何改動既可使用,當然也可用實用程序dig取得最新頂級
域名服務器列表,方法如下:
   dig @ns.internic.net . ns


7.
(1) Slackware 3.x
    修改系統啟動文件 /etc/rc.d/rc.inet2,去掉named部分的注釋
(2) Redhat 5.x/6.x
    看一下系統中是否有如下文件:
    /etc/rc.d/init.d/named以及/etc/rc.d/rc3.d/S*named
    如果沒有建立文件/etc/rc.d/init.d/named, 文件內容如下:
    
#!/bin/sh
#
# named           This shell script takes care of starting and stopping
#                 named (BIND DNS server).
#
# chkconfig: 345 55 45
# description: named (BIND) is a Domain Name Server (DNS) \
# that is used to resolve host names to IP addresses.

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -f /usr/sbin/named ] || exit 0

[ -f /etc/named.conf ] || exit 0

# See how we were called.
case "$1" in
  start)
        # Start daemons.
        echo -n "Starting named: "
        daemon named
        echo
        touch /var/lock/subsys/named
        ;;
  stop)
        # Stop daemons.
        echo -n "Shutting down named: "
        killproc named
        echo "done"
        rm -f /var/lock/subsys/named
        ;;
  status)
        status named
        exit $?
        ;;
  restart)
        /usr/sbin/ndc restart
        exit $?
        ;;
  *)
        echo "Usage: named {start|stop|status|restart}"
        exit 1
esac

exit 0

#End of /etc/rc.d/init.d/named

在/etc/rc.d/rc3.d/下建立相應的連接(確認沒有文件S*named?)
#cd /etc/rc.d/rc3.d
#ln -s ../init.d/named S98named

(3)Debian 2.x
   如果你用的是Debian 2.x, 我想你肯定能修改相關的系統啟動文件:)

8.確認文件/etc/host.conf文件host行內容如下:
  
   order hosts,bind

9.創建或編輯文件/etc/resolv.conf,指向新的域名服務器,內容如下:

  domain net.dlut.edu.cn
  nameserver 202.118.65.1

  其中domain一行為你的域名,nameserver為你的域名服務器的IP地址。

  如在運行named或系統重新啟動域名不好用,可執行/sbin/netconfig,在域名
服務器配置部分輸入新的域名及域名服務器IP地址,再重新啟動機器。

10. DNS Client的配置
  (1) Unix 操作系統
      編輯/etc/resolv.conf,參見服務器/etc/resolv.conf
  (2) Windows 95 
      更改網絡中TCP/IP的DNS設置
  (3) Novell Lan Workplace 
      Sun PC-NFS
      FTP TCP/IP

      更改響應resolv.cfg 文件即可。
(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
 

★  樊強制作 歡迎分享  ★