Linux DNS安裝配置

  1. 安裝DNS(bind軟件)

    [root@webserver ~]# yum -y install bind bind-utils bind-libs

  2. 配置DNS服務

    bind安裝完畢,主程序目錄默認爲/var/named,而bind的主配置文件named.conf路徑爲/etc/named.conf,還有默認自帶的一些配置文件/etc/named.rfc1912.zones、/etc/named.root,key等

    1.)named.conf文件詳解

    默認情況下,named.conf文件權限設置爲root:named,不要隨意修改此文件的權限,否則DNS無法正常工作。

    [root@webserver ~]# 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.
    //
    // See the BIND Administrator's Reference Manual (ARM) for details about the
    // configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
    再named.conf配置文件中主要使用“//”和“/**/”來進行註釋
    options {
            listen-on port 53 { 127.0.0.1; };    //指定ipv4監控的端口和IP,默認端口53,IP爲127.0.0.1,其中0.0.0.0/0,表示監控所有IP
            listen-on-v6 port 53 { ::1; };   //指定IPv6監聽的端口和IP
            directory       "/var/named";  //指定named從/var/named目錄讀取DNS數據文件,用戶可以自定義,指定後所有的DNS數據文件都存放此目錄
            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; };    //設定允許DNS查詢的客戶端地址,any表示所有,192.168.0.0/24表示網段,

            /*
             - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
             - If you are building a RECURSIVE (caching) DNS server, you need to enable
               recursion.
             - If your recursive DNS server has a public IP address, you MUST enable access
               control to limit queries to your legitimate users. Failing to do so will
               cause your server to become part of large scale DNS amplification
               attacks. Implementing BCP38 within your network would greatly
               reduce such attack surface
            */
            recursion yes;   //用來設置遞歸查詢,yes表示允許,no表示不允許,默認是允許

            dnssec-enable yes;  //用來設置是否啓動DNSSEC支持,DNSSEC用來驗證DNS數據的有效性,該選項有yes和no,默認yes
            dnssec-validation yes;       //是否啓用DNSSEC確認                                                                
            /* Path to ISC DLV key */
            bindkeys-file "/etc/named.iscdlv.key";  //用來設置內置信任的祕鑰文件

            managed-keys-directory "/var/named/dynamic";  //指定目錄中的文件存儲位置,跟蹤管理DNSSEC祕鑰

            pid-file "/run/named/named.pid";   //
            session-keyfile "/run/named/session.key";
    };

    logging {
            channel default_debug {   //channel用來定義日誌輸出方式,有syslog、文本文件、標準錯誤輸出或/dev/null多種方式
                    file "data/named.run";  //file 表示輸出到純文本文件
                    severity dynamic;  //消息的嚴重性等級,有critical、error、warning、notice、info、debug[level]、dynamic多種級別可選,對於系統管理員來說,一般設置爲info
            };
    };

    zone "." IN {
            type hint;
            file "named.ca";
    };

    zone "flypie.cc" IN {  //定義正向區域

             type master;  //三種類型master主域名服務器  slave輔助域名服務  hint 互聯網中根域名服務器

             file "flypie.cc";   //指定存放DNS記錄的數據文件名稱,對於這裏指定的文件,默認的路徑爲/var/named

             allow-update { none; };  //定義是否允許客戶主機或服務器自行更新DNS記錄,none表示不允許更新DNS記錄

    };

    zone "0.168.192.in-addr.arpa" IN {

                 type master;

                     file "0.168.192.zone";

                     allow-update { none; };

         };

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

vim /var/named/flypie.zone

$TTL 86400
@            IN SOA  ns.flypie.cc.   andy.flypie.cc. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                IN NS     ns.flypie.cc.
                IN MX 10  mail
                IN A      192.168.0.112
ns            IN A      192.168.0.112

www       IN A      192.168.0.112

linux       IN CNAME  www

第1行 TTL設定  默認86400  缺少此行不影響使用,但是會出現警告消息

第2行是一個SOA記錄的設定 其中@代表相應的域名,也就是再named.conf中設定zone,如在這裏表示flypie.cc  IN表示後面的數據使用的是Internet標準。在SOA後面分別指定了這個區域的授權主機名稱和管理者的郵箱

serial  表示配置文件的修改版本

refresh 用來設定輔助DNS與主DNS進行同步的間隔時間

retry  如果輔助DNS在進行更新失敗後,要隔多久再進行重試

expiry 設定輔助DNS在與主DNS同步失敗後,多長時間後清除對應的記錄

minimum 這是默認的最小TTL值,如果沒有指定TTL值,就以這個爲基準

以上數字都是以秒爲單位

IN後面指令的含義

NS  用來定義這個主機是個域名服務器

MX  定義一個郵件交換器

A     定義一個A記錄    即 域名到IP

CNAME  定義域名的別名


vim 0.168.192.zone

$TTL 86400
@                           IN SOA      ns.flypie.cc.   andy.flypie.cc. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                            IN NS       ns.flypie.cc.
112                         IN PTR      www.flypie.cc.

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