<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-179  評論-666  文章-29  trackbacks-0

    DNS是域名系統(Domain Name System)的縮寫,它的作用是將主機名解析成IP(正向解析),從IP地址查詢其主機名(反向解析)。

    DNS的工作原理
    (1)客戶機發出查詢請求
    當被詢問到有關本域中的主機名稱的時候,DNS服務器會直接做出回答。如果所查詢的主機名稱屬于其它域的話,則會檢查緩存中有沒有相關資料,如果沒有發現則會轉向root服務器查詢,然后root服務器會將該域名的授權(authoritative)服務器(可能會超過一臺)的地址告知本地服務器,然后會向其中的一臺服務器查詢,并將這些服務器名單存到緩存中以備將來之需(省去再向root查詢的步驟)。

    (2)遠方服務器回應查詢
    將查詢結果回應給客戶,并同時將結果存儲一個備份在自己的緩存里面,如果在存放時間尚未過時之前再接到相同的查詢,則以存放于緩存里面的資料來做回應。

    DNS服務器分類
    1.主域名服務器(master)
    主域名服務器是一個域或區域的管理權威。這個服務器的主要責任就是解析域或區域內的所有主機的名稱。可以使用一個或多個輔域名服務器作為主域名服務器的備份。

    2.輔域名服務器(slave)
    輔域名服務器是備份服務器。它們不是域區源數據存放的地方,但它們也授權響應域名的查詢。輔域名服務器通常從域的主域名服務器獲得域區數據。輔服務器也被稱為從屬服務器。

    3.唯高速緩存服務器(hint)
    緩存服務器負責臨時存儲主域名服務器己解析過域名記錄。

    打算用兩個vps,一個做主域名服務器,一個做輔助域名服務器。系統用的是CentOS5.6(32bit)。

    Linux上常用的是bind,包括以下軟件包:
    bind bind-libs bind-utils bind-chroot caching-nameserver

    bind是DNS服務器軟件
    bind-libs是bind使用的庫
    bind-utils是bind查詢工具
    caching-nameserver唯高速緩存服務器

    一、安裝DNS服務器

    1.開始安裝DNS服務器:

    yum install bind bind-libs bind-utils bind-chroot

    這里更新源上的版本是bind 9.3.6-16.P1.el5,DNS的配置文件放在/var/named/chroot目錄下。

    2.復制配置規范文件:

    cp /usr/share/doc/bind-9.3.6/sample/etc/* /var/named/chroot/etc
    cp -a /usr/share/doc/bind-9.3.6/sample/var/named/* /var/named/chroot/var/named

    相關配置文件說明:
    主配置文件:/var/named/chroot/etc/named.conf 設置一般的named參數,指向該服務器使用的域數據庫的信息源。
    根域名服務器指向文件:/var/named/chroot/var/named/named.root 指向根域名服務器,用于唯高速緩存服務器的初始配置。
    正向解析文件:/var/named/chroot/var/named/localhost.zone localhost區文件,用于將名字localhost轉換為本地回送IP地址(127.0.0.1),正向解析。
    反向解析文件:/var/named/chroot/var/named/named.local localhost區文件,用于將本地回送IP地址(127.0.0.1)轉換成名字localhost,反向解析。

    3.嘗試啟動DNS服務器:

    service named restart

    顯示:

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

    查看系統日志:

    cat /var/log/messages |grep named

    發現錯誤:

    my named[1384]: /etc/named.conf:100 configuring key ‘ddns_key’: bad base64 encoding

    是沒有ddns_key造成的,執行/usr/sbin/dns-keygen來生成TSIG keys。然后替換named.conf中
    secret “use /usr/sbin/dns-keygen to generate TSIG keys”;引號內的內容。

    /usr/sbin/dns-keygen
    5L6JQccNVZ53CHA3iW4VnPgDZXdcX3U3pnhL2txKUsaPqwBRddE58LpA7uiI

    編輯/var/named/chroot/etc/named.conf文件,添加ddns_key:

    vim /var/named/chroot/etc/named.conf

    修改如下:

    key ddns_key
    {
    algorithm hmac-md5;
    secret “5L6JQccNVZ53CHA3iW4VnPgDZXdcX3U3pnhL2txKUsaPqwBRddE58LpA7uiI”;
    };

    添加好ddns_key后,重啟named服務成功,但是DNS服務器還不能使用,需要進行其他配置。

    4.我們看到在named.conf文件中有這樣幾個區塊:
    options //設置data相關文件,對data/目錄要有寫的權限
    logging //debug log
    view “localhost_resolver” //本地解析,caching only nameserver
    view “internal” //限定同一個局域網的內部用戶使用
    key ddns_key //設置ddns key
    view “external” //限制外部用戶請求這個DNS服務器

    5.首先設置/var/named/chroot/var/named/data目錄的用戶和組為named:named:

    cd /var/named/chroot/var/named
    chown named:named data

    6.為/var/named/chroot/var/named目錄添加寫權限:

    cd /var/named/chroot/var
    chmod g+w named

    如果這個目錄沒有寫權限的話,named服務可以啟動,但是系統日志里會有,”the working directory is not writable”錯誤。

    7.修改name.conf中view “external”區域內設置:

    vim /var/named/chroot/etc/named.conf
    recursion yes; //打開遞歸
    allow-query-cache { any; }; //允許查詢緩存

    8.再重啟DNS服務器:

    service named restart
    Stopping named: [ OK ]
    Starting named: [ OK ]

    啟動成功。

    此時查看日志:

    tail -30 /var/log/messages |grep named

    沒有報錯即可。

    9.設置開機自啟動:

    chkconfig –level named 345 on

    此時這個DNS服務器就可以使用了。
    windows系統下修改網絡連接里的DNS服務器地址用ping、nslookup命令測試。
    linux系統修改/etc/resolv.conf里的nameserver地址,使用host、dig、nslookup命令測試。

    二、配置區域主域名服務器
    以test.com域為例子:
    www.test.com 192.168.1.100 //web服務
    ns.test.com 192.168.1.101 //域名服務
    work.test.com 192.168.1.100
    mail.test.com 192.168.1.103 //郵件服務
    ftp.test.com 192.168.1.104 //文件服務

    1.編輯/var/named/chroot/etc/named.rfc1912.zones文件:

    vim /var/named/chroot/etc/named.rfc1912.zones

    在最后添加正向解析區域test.com:

    zone “test.com” IN {
    type master;
    file “test.com.zone”;
    allow-update { none; };
    };

    然后添加反向解析區域1.168.192.in-addr.arpa:

    zone “1.168.192.in-addr.arpa” IN {
    type master;
    file “test.com.resv”;
    allow-update { none; };
    };

    2.創建正向解析數據文件/var/named/chroot/var/named/test.com.zone:

    cd /var/named/chroot/var/named
    cp localhost.zone test.com.zone

    3.編輯test.com.zone文件:

    vim test.com.zone

    修改如下

    $TTL  86400
    @    IN SOA @  root (
    42     ; serial (d. adams)
    3H     ; refresh
    15M     ; retry
    1W     ; expiry
    1D )     ; minimum

    IN NS     ns.test.com.
    www   IN A     192.168.1.100
    ns    IN A     192.168.1.101
    work   IN CNAME   www
    mail    IN A     192.168.1.103
    @     IN MX 10   mail.test.com.
    ftp     IN A     192.168.1.104

    4.創建反向解析數據文件/var/named/chroot/var/named/test.com.resv:

    cp named.local test.com.resv

    5.編輯test.com.resv文件:

    vim test.com.resv

    修改如下

    $TTL  86400
    @  IN  SOA  localhost. root.localhost. (
    1997022700 ; Serial
    28800  ; Refresh
    14400  ; Retry
    3600000 ; Expire
    86400 ) ; Minimum
    IN  NS  ns.test.com.
    100  IN  PTR  www.test.com.
    101  IN  PTR  ns.test.com.
    103  IN  PTR  mail.test.com.
    104  IN  PTR  ftp.test.com.

    6.編輯named.conf,將test.com區域加入到view “external”中:

    vim /var/named/chroot/etc/named.conf

    由于zone “test.com”是寫在named.rfc1912.zones文件中的,在view “external”中添加:

    include “/etc/named.rfc1912.zones”;

    7.重啟服務:

    service named restart

    此時客戶端請求解析test.com域會直接使用設置的參數,不會向根去詢問。

    三、配置輔域名服務器
    配置輔域名服務器相對來說簡單不少,只要主配置文件中加入一個區域,然后指定可以更新信息的主域名服務器就可以了,無需配置區域數據庫文件。

    1.編輯/var/named/chroot/etc/named.rfc1912.zones文件:

    vim /var/named/chroot/etc/named.rfc1912.zones

    在最后添加正向解析區域test.com:

    zone “test.com” IN {
    type slave;
    file “slaves/test.com.hosts”;
    masters { 1.1.1.1; }; //這里填主DNS服務器IP
    };

    然后添加反向解析區域1.168.192.in-addr.arpa:

    zone “1.168.192.in-addr.arpa” IN {
    type slave;
    file “slaves/test.com.resv”;
    masters { 1.1.1.1; }; //這里填主DNS服務器IP
    };

    2.編輯named.conf,將named.rfc1912.zones文件加入到view “external”中:

    vim /var/named/chroot/etc/named.conf

    在view “external”中添加:

    include “/etc/named.rfc1912.zones”;

    3.設置/var/named/chroot/var/named/slaves目錄用戶和組為root:named:

    cd /var/named/chroot/var/named
    chown root:named slaves

    為/var/named/chroot/var/named/slaves添加寫權限:

    chmod g+w slaves

    named用戶對slaves目錄沒有寫權限會同步不了主域名服務器上的解析數據文件。

    4.重啟DNS服務:

    service named restart

    5.查看/var/named/chroot/var/named/slaves目錄:
    產生test.com.hosts test.com.resv文件,說明更新成功。

    需要注意:
    1)主從服務器中正/反向zone名稱必須一致。
    2)從服務器中file可指定相對路徑,也可指定絕對路徑。
    3)需將輔助DNS服務器的首選DNS服務器指向為主DNS服務器。

    參考資料:
    http://www.cnblogs.com/cabin/archive/2010/10/18/1848168.html
    http://www.linux.gov.cn/netweb/


    http://blog.iuhux.com/2011/08/11/%E5%9C%A8centos%E7%9A%84vps%E4%B8%8A%E5%AE%89%E8%A3%85dns%E6%9C%8D%E5%8A%A1%E5%99%A8/


    posted on 2011-11-21 16:25 Alpha 閱讀(3635) 評論(1)  編輯  收藏 所屬分類: Linux Nginx

    評論:
    # re: 在CentOS的VPS上安裝DNS服務器 2012-08-27 23:50 | moper
    這個好像蠻不錯的,學習了  回復  更多評論
      
    主站蜘蛛池模板: 成人亚洲网站www在线观看| 亚洲国产另类久久久精品| 337p欧洲亚洲大胆艺术| 另类图片亚洲校园小说区| 69成人免费视频| 亚洲成a人片在线观看无码| 国产亚洲男人的天堂在线观看| 91久久精品国产免费直播| 久久亚洲AV无码西西人体| 亚洲精品av无码喷奶水糖心| h片在线免费观看| 国产亚洲精品一品区99热| 免费一级特黄特色大片| 在线免费一区二区| 亚洲人成综合在线播放| 久久国产精品免费观看| 久久精品国产精品亚洲下载| 日韩成人精品日本亚洲| 成人午夜18免费看| 亚洲国产日韩在线成人蜜芽| 男女作爱在线播放免费网站| 激情97综合亚洲色婷婷五| 黄色大片免费网站| 国产大片51精品免费观看| 亚洲www77777| 一本岛高清v不卡免费一三区| 亚洲一区中文字幕久久| 国色精品va在线观看免费视频| 亚洲欧洲中文日韩久久AV乱码| 国产成人亚洲综合在线| 免费看美女让人桶尿口| 中文字幕精品三区无码亚洲| 动漫黄网站免费永久在线观看| 亚洲色欲或者高潮影院| 99精品国产成人a∨免费看| 亚洲自偷自偷图片| 岛国精品一区免费视频在线观看| 亚洲午夜成人精品电影在线观看| 深夜久久AAAAA级毛片免费看| 免费99热在线观看| 免费很黄无遮挡的视频毛片|