centos 6.5 DNS服務器 搭建


一、DNS 介紹

  DNS(Domain Name System,域名系統),因特網上作為域名和IP地址相互映射的一個分布式數據庫,DNS協議運行在UDP協議之上,使用端口號53(Domain), 953(mdc)。這兩個端口號。在RFC文檔中RFC 2181對DNS有規范說明,RFC 2136對DNS的動態更新進行說明,RFC 2308對DNS查詢的反向緩存進行說明。

二、安裝

[root@dns ~]# yum install -y bind bind-chroot bind-utils

  DNS的主程序 bind,還有一個是bind-utils。為了DNS安全考慮,引入了bind-chroot.

  chroot是通過將相關文件封裝到一個偽根目錄內,已達到安全防護的目的,一旦該程序被攻破,將只能訪問到偽根目錄內的內容,而並不是真實的根目錄。安裝了chroot這個服務,DNS服務的配置文件都會被安裝到我們的偽根里面,會在里面生成一個與原來服務完全相同的一個目錄體系結構。該服務的根目錄就會把 /var/named/chroot 當成是自己的根目錄,這樣就可以對我們的真實根目錄進行保護,所以建議大家在安裝網絡服務時最好都附帶安裝上chroot這個程序。

三、配置

  BIND 的一些服務文檔位置和模板:

    /usr/share/doc/bind-9.8.2/sample

  BIND的主配置文件通常是保存在兩個位置:

    /etc/named.conf  -BIND服務主配置文件

    /var/named/  -域的zone配置文件

  安裝了 bind-chroot 這個程序以后,BIND的主配置文件存放位置就變了,此時BIND的主配置文件會被封裝到一個偽根目錄內,此時的配置文件位置為:

    /var/named/chroot/etc/named.conf  -BIND服務主配置文件

    /var/named/chroot/var/named  -域的zone配置文件  

  復制模板

[root@dns ~]# cp /etc/named.conf /etc/named.rfc1912.zones /var/named/chroot/etc/
[root@dns ~]# cp -rv /usr/share/doc/bind-9.8.2/sample/var/* /var/named/chroot/var/

  修改配置:

  1、聲明要解析的域名

[root@dns etc]# vim /var/named/chroot/etc/named.conf 

options {
        listen-on port 53 { 192.168.1.200; };     #監聽本地IP的53端口
        //listen-on-v6 port 53 { ::1; };          #取消IPv6的監聽,可以不注釋
        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     { any; };          #接受任何人的DNS解析請求
        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";
};

//This is my DNS configuration zone "123.com" {                  //域名正向解析配置,建議寫在 named.rfc1912.zones 文件中 type master;                // 指定我們要配置的是域主DNS服務器 file "123.com.zone";          // 指定域名的zone文件為123.com.zone ,一般都是以域名.zone 命名 allow-update { none; }; };        // ;號一定要加上,否則會報錯 zone "2.168.192.in-addr.arpa" { //域名反向解析配置,建議寫在 named.rfc1912.zones 文件中,格式一定為 xx.xx.xx.in-addr.arpa type master; file "192.168.2.zone"; allow-update { none; }; }; // End my configuration
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

  2、配置域名和IP的對應關系。

[root@dns etc]# cd /var/named/chroot/var/named
[root@dns etc]# cp named.localhost 123.com.zone
[root@dns etc]# vim 123.com.zone
$TTL 1D
@       IN SOA  @ 123.com. (                                       ; “.”號必須加上
                                        2017012501      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
 IN MX 10 mail.123.com.   ; MX 添加一條 郵件記錄,郵件記錄后面要跟域名,它會遞歸的解析這個域名,所以該域名的資源記錄一定要有,后面的 “.” 一定要寫上 www IN A 192.168.2.10            ;添加A記錄 c1   IN A 192.168.2.11 c2   IN A 192.168.2.12 

  注意:MX記錄一定要定義資源記錄的最前面,否則就會解析不成功

  $TTL = 1D(默認生存時間=1D、緩存服務器保存記錄的時間是1天。也就是告訴緩存服務器保存域的解析記錄為1天)

  serial = 2017012501 (序列號=2017012501、我用配置日期作為序列號。這個序列號的作用是當輔域名服務器來復制這個文件的時候,如果號碼增加了就復制)

  refresh = 1D (刷新=1D、輔域名服務器每隔24小時查詢一個主服務器)

  retry = 1H (1 hour) (重試=3600秒、當輔域名服務試圖在主服務器上查詢更新時,而連接失敗了,輔域名服務器每隔1小時訪問主域名服務器)

  expire = 1W (7 days) (到期=604800秒、輔域名服務器在向主服務更新失敗后,7天后刪除中的記錄。)

  3、配置反向解析

[root@dns etc]# cp named.localhost 192.168.2.zone
[root@dns etc]# vim 192.168.2.zone
$TTL 1D
@       IN SOA  @ 123.com. (
                                        2017012501      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
10       IN      PTR     www.123.com.
11    IN    PTR  c1.123.com.
12    IN    PTR  c2.123.com.

  

  4.啟動DNS服務

    [root@dns etc]# service named restart

    Stopping named:           [ OK ]
    Starting named:            [FAILED]   

  查看日志:

    [root@dns etc]# tail -f /var/log/messages

    權限問題,查看named.rfc1912.zones 發現 其他用戶 沒有 r 權限.

    添加權限   

      [root@dns etc]# chmod o+r /var/named/chroot/etc/named.rfc1912.zones

  

   [root@dns etc]# service named restart

    Stopping named:           [ OK ]
    Starting named:            [ OK ]   

   5.測試,在自己PC上配置DNS,通過nslookup 進行測試。

  






免責聲明!

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



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