推薦-DNS架設實驗

DNS架設實驗


  • 實驗拓撲

  • 實驗準備

  • 流程

  • 測試

  • 總結


實驗拓撲:

DNS實驗拓撲

1.對于來自內網的DNS正反向解析,并實現view選擇指定解析庫解析。
2.對于來自外網的DNS正向解析,并實現view選擇指定解析庫解析。
3.實現主從服務器結構。
4.實現一個完成對一個子域的授權。
5.子域中的所有查詢xiao.com.的信息都轉向192.168.1.1解析。

view

1.根據view,對外網發送的解析請求轉為解析為服務器對外IP。
2.根據view,對內網發送的解析請求轉為解析為服務器內網IP。

實驗準備

由于是虛擬機進行的實驗,所以在網絡架設階段遇到了困難,最后只有妥協下折中將ns1.xiao.com這臺機器增加網卡,配置兩個不同網段地址,開啟路由轉發,當作路由器來連接兩個網絡。

vim /etc/sysctl.conf
    net.ipv4.ip_forward = 1  修改為1
reboot

流程;

1.架設xiao.com的名稱服務器。

[root@xiao.comdns ~]# vim /etc/named.conf   配置named.conf文件。
        acl LAN{ 192.168.1.0/24; };             設置acl,此為內網網段的acl,表示內網網段內的所有IP。
        acl WAN{ ! 192.168.1.0/24 ; any; };     設置acl,此為外網網段的acl,表示除了內網網段外的所有IP。
        options {
                listen-on port 53 { 192.168.1.1; 201.0.0.1;  };     監聽在192.168.1.1和201.0.0.1的53端口上。
                directory       "/var/named";           zone文件存放目錄。
                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;          允許DNS服務器在不知道查詢主機的情況下,去像其他服務器做迭代查詢得到結果。

                dnssec-enable no;       關閉安全審查機制。
                dnssec-validation no;
                dnssec-lookaside no;

                /* Path to ISC DLV key */
        //      bindkeys-file "/etc/named.iscdlv.key";   使用key來加密,注釋不使用。

        //      managed-keys-directory "/var/named/dynamic";    
        };

        logging {
                channel default_debug {
                        file "data/named.run";
                        severity dynamic;
                };
        };

[root@xiao.comdns ~]# vim /etc/named.rfc1912.zones       配置區域文件
    //
    // 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.
    //

    view "LAN" {                view LAN范圍的開始,指定內網的區域設定。
    match-clients { "LAN"; };       view LAN的應用對象,即指定此網段的請求都使用次范圍內的解析庫來解析。
    zone "." IN {               根解析區域設定,一般文件自帶行。
            type hint;
            file "named.ca";
    };

    zone "localhost.localdomain" IN {   本地回環解析區域設定,一般文件自帶行。
            type master;
            file "named.localhost";
            allow-update { none; };
    };

    zone "localhost" IN {       本地回環解析區域設定,一般文件自帶行。
            type master;
            file "named.localhost";
            allow-update { none; };
    };

    zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {   IPV6的本地回環區域設定,一般文件自帶行。
            type master;
            file "named.loopback";
            allow-update { none; };
    };

    zone "1.0.0.127.in-addr.arpa" IN {      本地回環的區域解析庫的反向解析設定,一般文件自帶行。
            type master;
            file "named.loopback";
            allow-update { none; };
    };

    zone "0.in-addr.arpa" IN {      
            type master;
            file "named.empty";
            allow-update { none; };
    };
    zone "xiao.com" IN {            設定xiao.com的區域設定。
            type master;            類型為主服務器。
            file "xiao.com.zone";       解析庫文件為/var/named/xiao.com.zone
            };
    zone "1.168.192.in-addr.arpa" IN {    設定192.168.1.0網段的反向解析區域,格式為 [NETNUMBER反寫.in-addr.arpa]。
            type master;        類型為主服務器。
            file "192.168.1.zone";      解析庫文件為/var/named/192.168.1.zone。
            };

    };  view LAN的范圍的結束

    view "WAN" {            view WAN范圍的開始,指定外網的區域設定。
    match-clients { "WAN"; };       view WAN的應用對象,即指定此網段的請求都使用次范圍內的解析庫來解析。
    zone "." IN {       根解析區域設定。
        type hint;          設定類型為hint,即根區域。
        file "named.ca";        設定解析庫文件為named.ca
        };

    zone "xiao.com" IN {        設定xiao.com區域。
        type master;        類型為主服務器。
        file "wanxiao.com.zone";    文件為wanxiao.com.zone。
        };  
    };

[root@xiao.comdns ~]# vim /var/named/xiao.com.zone  配置LAN的xiao.con.zone的解析庫。
    $TTL 82400      設定TTL變量,指定當前所有的默認TTL(解析緩存存活時間)的值為82400
    @       IN      SOA     xiao.com.  admin.xiao.com. (            設定SOA
                                          1 1H 5M 1W 1M)            
    @       IN      NS      ns1.xiao.com.                   當前域的name server1
    @       IN      NS      ns2.xiao.com.                   當前域的name server2
    ns1     IN      A       192.168.1.1                     NS1的地址,注意,地址與wan區域的IP的不同。
    ns2     IN      A       192.168.1.2                     NS2的地址!。
    www     IN      A       192.168.1.8                     www主機的地址!。

    ops     IN      NS      ns1.ops.xiao.com.               子域的name server,子域授權。
    ns1.ops IN      A       192.168.1.3                     子域的name server地址。

[root@xiao.comdns ~]# vim /var/named/wanxiao.com.zone    配置WAN的xiao.con.zone的解析庫。
    $TTL 82400
    @       IN      SOA     xiao.com. admin.xiao.com. (             設定SOA
                                        0 1H 5M 1W 1D )     
            IN      NS      ns2.xiao.com.                   當前域的name server1
            IN      NS      ns1.xiao.com.                   當前域的name server2
    ns1     IN      A       201.0.0.1                       NS1的地址,注意,地址與lan區域的IP的不同。
    ns2     IN      A       201.0.0.2                       NS2的地址!。
    www     IN      A       201.0.0.3                       www主機的地址!。

    ops     IN      NS      ns1.ops.xiao.com.               子域的name server,子域授權。
    ns1.ops IN      A       192.168.1.3                     子域的name server地址。

[root@xiao.comdns ~]# vim /var/named/192.168.1.zone     配置反向解析庫文件。
    $TTL 824000 
    @       IN      SOA     xiao.com. admin.xiao.com. (         設定SOA
                    3 1H 5M 1W 5M )
            IN      NS      ns1.xiao.com.
            IN      NS      ns2.xiao.com.
    1       IN      PTR     ns1.xiao.com.                   PTR反向解析中的192.168.1.1的對應的域名。
    2       IN      PTR     ns2.xiao.com.                   PTR反向解析中的192.168.1.2的對應的域名。
    8       IN      PTR     www.xiao.com                    PTR反向解析中的192.168.1.8的對應的域名。

[root@xiao.comdns ~]# chmod 640 /var/named/wanxiao.com.zone vim /var/named/192.168.1.zone /var/named/xiao.com.zone      更改權限。
[root@xiao.comdns ~]# chown :named /var/named/wanxiao.com.zone vim /var/named/192.168.1.zone /var/named/xiao.com.zone       更改屬組。

2.架設與xiao.com的從服務器。

[root@salves.dns ~]# vim /etc/named.conf            配置named.conf
    acl LAN{ 192.168.1.0/24; };                     設定acl
    acl WAN{ ! 192.168.1.0/24;any;};                設定acl
    options {                                       與服務器設定基本一致。
    listen-on port 53 { 192.168.1.2; };
    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; };
    recursion yes;

    dnssec-enable no;
    dnssec-validation no;
//  dnssec-lookaside auto;
//  bindkeys-file "/etc/named.iscdlv.key";
//  managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";          
                severity dynamic;
        };
};

[root@salves.dns ~]# vim /etc/named.rfc1912.zones       配置區域文件,只需在結尾加上以下內容。
    view LAN{
    match-clients { "LAN" ;};   view一定要和主服務器保持一致?。?

    ... 

    zone "xiao.com" IN {    配置正向解析xiao.com區域    
            type slave;     指定類型為從服務器。
            masters { 192.168.1.1; };       指定主服務器地址。
            file "slaves/xiao.com.zone";    指定同步后存放的文件路徑。
    };
    zone "1.168.192.in-addr.arpa" IN {  配置反向解析1.168.192.in-addr.arpa的區域。
            type slave;     指定類型為從服務器。
            masters { 192.168.1.1; };       指定主服務器地址。
            file "slaves/192.168.1.zone";   指定同步后存放的文件路徑,不同view需要存放不同的名稱。
    };
    };

    view WAN{                   view一定要和主服務器保持一致??!
    match-clients {"WAN"; };
    zone "." IN {
            type hint;
            file "named.ca";
    };

    zone "wanxiao.com" IN {
    type slave;
    masters { 192.168.1.1;};
    file "slaves/wanxiao.com.zone";     指定同步后存放的文件路徑,不同view需要存放不同的名稱。
    };      
    };

[root@salves.dns ~]# chmod 640 /var/named/wanxiao.com.zone vim /var/named/192.168.1.zone /var/named/xiao.com.zone       更改權限。
[root@salves.dns ~]# chown :named /var/named/wanxiao.com.zone vim /var/named/192.168.1.zone /var/named/xiao.com.zone        更改屬組。

設定完成之后即可通過日志文件查或者指定文件路徑中的/var/named/slaves中看到同步的解析庫文。

[root@salves.dns ~]# ll /var/named/slaves/
    192.168.1.zone  xiao.com.zone           可以看到已經同步到指定路徑下了。

3.架設子域ops.xiao.com名稱服務器,設定轉發服務。

架設子域服務器即和普通的name server一樣即可,下面簡要的略過,僅對轉發功能的設定做解釋。

[root@ops.xiao ~]# vim /etc/named.rfc1912.zones 
    ...
    zone "ops.xiao.com" IN {
            type master;
            file "ops.xiao.com.zone";
    };
    zone "xiao.com" IN {    xiao.com區域的解析設定。
            type forward;   設定為轉發類型。    
            forward only;   設定為only,將所有xiao.com的查詢都轉發。 還可以設置為first,即如果指定dns不回應,則本機去迭代完成查詢。
            forwarders { 192.168.1.1; };
            };
    };

[root@ops.xiao ~]# vim /var/named/ops.xiao.com.zone 
    $TTL 82400
    @       IN      SOA     ops.xiao.com.   admin.ops.xiao.com. (
                            0 1H 5M 1W 5M )
            IN      NS      ns1.ops.xiao.com.
    ns1     IN      A       192.168.1.3
    www     IN      A       192.168.1.4


[root@salves.dns ~]# chmod 640 /var/named/ops.xiao.com.zone     更改權限。
[root@salves.dns ~]# chown :named /var/named/ops.xiao.com.zone  更改屬組。

其實子域就是我們的name server,比如說我們這里的父域xiao.com.其實是.com.的子域,所以如果有需要完全可以在ops.xiao.com這個域上使用其他上述的技術,view,主從等。

測試

通過192.168.1.3測試正向解析。
[root@ops.xiao ~]# host -t A www.xiao.com 192.168.1.1   正向解析測試。
    Using domain server:
    Name: 192.168.1.1
    Address: 192.168.1.1#53
    Aliases: 

    www.xiao.com has address 192.168.1.8        查詢得知www.xiao.com的IP為192.168.1.8

通過192.168.1.3測試反向解析。
[root@ops.xiao ~]# host -t PTR 192.168.1.8 192.168.1.1   反向查詢測試。
    Using domain server:
    Name: 192.168.1.1
    Address: 192.168.1.1#53
    Aliases: 

    8.1.168.192.in-addr.arpa domain name pointer www.xiao.com.1.168.192.in-addr.arpa.  查詢得知192.168.1.8的域名為www.xiao.com

通過192.168.1.3測試主從輪詢。
[root@ops.xiao ~]# dig -t A www.xiao.com @192.168.1.1   dig命令的功能與host類型,但是能夠更加清楚的顯示信息,這里查看主從服務器輪詢情況。

    ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> -t A www.xiao.com @192.168.1.1      
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46131
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.xiao.com.          IN  A

    ;; ANSWER SECTION:
    www.xiao.com.       82400   IN  A   192.168.1.8

    ;; AUTHORITY SECTION:
    xiao.com.       82400   IN  NS  ns2.xiao.com.       輪詢切換NS2
    xiao.com.       82400   IN  NS  ns1.xiao.com.       輪詢切換NS1

    ;; ADDITIONAL SECTION:
    ns1.xiao.com.       82400   IN  A   192.168.1.1
    ns2.xiao.com.       82400   IN  A   192.168.1.2

    ;; Query time: 0 msec
    ;; SERVER: 192.168.1.1#53(192.168.1.1)
    ;; WHEN: 四 4月 14 16:52:17 CST 2016
    ;; MSG SIZE  rcvd: 125

通過192.168.1.1測試子域設定。
[root@xiao.comdns ~]# host -t A www.ops.xiao.com 192.168.1.2: 子域查詢測試。
    Using domain server:
    Name: 192.168.1.2
    Address: 192.168.1.2#53
    Aliases: 

    www.ops.xiao.com has address 192.168.1.4

通過201.0.0.10測試view
[root@wan-test ~]# dig -t A www.xiao.com @201.0.0.1     view測試實現智能DNS測試。

    ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> -t A www.xiao.com @201.0.0.1
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7535
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.xiao.com.          IN  A

    ;; ANSWER SECTION:
    www.xiao.com.       82400   IN  A   201.0.0.3       可以看到返回的ip為201.0.0.3

    ;; AUTHORITY SECTION:
    xiao.com.       82400   IN  NS  ns1.xiao.com.       
    xiao.com.       82400   IN  NS  ns2.xiao.com.

    ;; ADDITIONAL SECTION:
    ns2.xiao.com.       82400   IN  A   201.0.0.2       NS1的ip 201.0.0.2
    ns1.xiao.com.       82400   IN  A   201.0.0.1       NS2的ip  201.0.0.1

    ;; Query time: 0 msec
    ;; SERVER: 201.0.0.1#53(201.0.0.1)
    ;; WHEN: Thu Apr 14 20:05:50 CST 2016
    ;; MSG SIZE  rcvd: 125

通過192.168.1.4測試forward
[root@wan-test ~]# dig -t A www.xiao.com @192.168.1.3       forward測試

    ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> -t A www.xiao.com @192.168.1.3
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40723
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.xiao.com.          IN  A

    ;; ANSWER SECTION:
    www.xiao.com.       71029   IN  A   192.168.1.8     查詢結果。

    ;; AUTHORITY SECTION:
    xiao.com.       71029   IN  NS  ns2.xiao.com.       通過轉發到了192.168.1.1查詢
    xiao.com.       71029   IN  NS  ns1.xiao.com.

    ;; ADDITIONAL SECTION:
    ns1.xiao.com.       71029   IN  A   192.168.1.1
    ns2.xiao.com.       71029   IN  A   192.168.1.2

    ;; Query time: 1 msec
    ;; SERVER: 192.168.1.3#53(192.168.1.3)      使用的DNS地址
    ;; WHEN: Thu Apr 14 20:12:38 CST 2016
    ;; MSG SIZE  rcvd: 125

總結

問題解決:

1.在搭建中遇到了死活無法通過192.168.1.2查詢到子域,先確定是由于主從同步沒有進行的問題,然后發現view在從服務器上沒有配置,接著發現由于是內網環境不能上網,不知道什么原因導致時間不一致,而無法同步,解決以上問題解決無法同步。
2.出現無法使用指定DNS查詢,但是在DNS服務器上卻可以,最后發現是因為iptables沒有配置而造成的問題。
3.出現了各種錯誤,通過查詢日志可以得到很好的線索和答案,大部分都是因為語法或者不注意而造成的。

未解決問題:

因為此實驗是在虛擬機的環境下搭建的,所以基于網絡架設比較不便,就將子域設為了內網下的一個子域,在做子域的view時遇到了由于是內網子域,所以導致外網訪問子域下的域名主機時,無法識別,但是如果不設定,返回的只能是內網下的192.168.1.0網段的IP,很樂意有有人能幫助我解答這個疑問。

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

(0)
Net18_肖肖Net18_肖肖
上一篇 2016-04-19 11:11
下一篇 2016-04-19 11:37

相關推薦

  • Linux系統啟動流程、內核及模塊管理、linux啟動故障排除和自制linux

    Linux系統啟動流程、內核及模塊管理 Linux系統的組成部分組成:內核+根文件系統(kernel+rootfs)內核(kernel): 進程管理(創建、調度、銷毀等)、內存管理、網絡管理(網絡協議棧)、驅動程序、文件系統、安全功能IPC:Inter Process Communication機制本地進程間通信機制:消息隊列、semerphor、shm(共…

    2016-09-29
  • LAMP系列之(php-fpm模式)分布三臺機器部署

    LAMP系列之(php-fpm模式)分布三臺機器部署 現在我們需要做一個實驗,就是把apache , php-fpm , mariadb ,分別安裝在3臺機器上,協同工作具體如下: 192.168.42.150 apache 192.168.42.151 php-fpm 192.168.42.152 mariadb 關閉防火墻 關閉selinux 分別給這3…

    Linux干貨 2017-06-03
  • linux文件管理命令及用法

    Linux目錄和路徑   說到linux的文件管理,就不得不說文件的路徑,在linux系統中,路徑分為絕對路徑和相對路徑:絕對路徑是從根目錄/開始的,相對路徑是以 . 或 ..開始的.  .  :表示當前目錄; ..  :表示當前目錄的上一級目錄; –   :表示前一個工作目錄; ~ &…

    Linux干貨 2016-11-06
  • 獲取linux命令幫助的方法

    1.help command 適用于內建命令。 2.command -hlep 適用于外部命令。 3.info command 適用于外部命令。 4.man command 適用外部命令和內建命令。     man幫助命令分章節             centos7:man 1…

    Linux干貨 2017-08-19
  • 文件通配符練習

    課后資料補充 * : 通配符,代表任意字符(0到多個)? : 通配符,代表一個字符# : 注釋/ : 跳轉符號,將特殊字符或通配符還原成一般符號| : 分隔兩個管線命令的界定; : 連續性命令的界定~ : 用戶的根目錄$ : 變量前需要加的變量值! : 邏輯運算中的&q…

    Linux干貨 2016-08-08
  • 實現軟RAID0的方法

    實驗利用三個分區分別為10G組成一個RAID0 分區時要注意ID的轉換 創建RAID的設備名稱為md0 通過mdadm -D /dev/md0可以查看md0的信息 創建配置文件: mdadm -Ds > /etc/mdadm.conf(為了系統啟動時自動加載) 給RIAD0創建文件系統: 創建掛載目錄mkdir /mnt/raid0 掛載: 同步: m…

    2017-12-11

評論列表(1條)

  • stanley
    stanley 2016-04-19 11:36

    有實戰,有總結,贊,圖很專業

欧美性久久久久