domain-name-system – 来自不同服务器的内部和外部DNS,同一区域

前端之家收集整理的这篇文章主要介绍了domain-name-system – 来自不同服务器的内部和外部DNS,同一区域前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我要么无法理解DNS的工作原理,要么我无法正确配置DNS(任何一个都不好).我目前正在使用一个域名,我将其称为webdomain.com,我需要允许所有内部用户通过dotter来获取我们的公共DNS条目,就像世界其他地方一样.然后,最重要的是,我希望能够提供一些覆盖DNS条目来测试不公开可用的服务器和设备.举个例子:

> public.webdomain.com – 应该从dotter得到这个
> outside.webdomain.com – 也应该从dotter得到这个
> testing.webdomain.com – 应该从我的内部dns控制器获取

我似乎每次都遇到的问题是,如果我有一个包含webdomain.com区域的内部DNS控制器,那么我可以获取我指定的内部条目但从未从公共DNS服务器获取任何内容.无论我使用的DNS服务器的类型如何,这都适用 – 我已经尝试过Linux Bind9和Windows 2008域控制器.

我想我的一个大问题是:我认为系统应该能够检查我指定的内部DNS是不合理的,并且在请求的条目不存在的情况下,它应该故障转移到指定的公共DNS服务器 – 或 – 这是不是DNS工作的方式,我迷失了酱油?

看起来它应该像告诉我的内部DNS服务器将任何无法满足的请求转发给dotter一样简单,但这似乎不起作用.这可能是防火墙问题吗?

提前致谢

EXTENDED

好的,所以我做了一堆研究,并且已经插入了几个小时.我在我的named.conf中有这个,我仍然看到相同的结果.内部呼叫被馈送,但外部(在区域控制域中)的任何东西都被转储.任何帮助都会很棒!此外,这是我正在使用的Ubuntu 9.04操作系统.

Code removed because it was wrong.

正确的方式 – 在问题结束后添加

好吧,多亏了服务器故障中的人们,我现在可以在我的服务器上以更加简洁的方式完美地运行.这是你如何做到的.从bind9的基本安装中编辑named.conf.local文件,并为要重定向的EACH子域添加区域:

/etc/bind/named.conf

// WEBDOMAIN.COM ENTRIES
    zone "test.webdomain.com" {
            type master;
            file "/etc/bind/zones/test.webdomain.com";
    };

    zone "alpha.webdomain.com" {
            type master;
            file "/etc/bind/zones/alpha.webdomain.com";
    };

    zone "beta.webdomain.com" {
            type master;
            file "/etc/bind/zones/beta.webdomain.com";
    };

// INTERNETSITE.COM ENTRIES
    zone "internal.internetsite.com" {
            type master;
            file "/etc/bind/zones/internal.internetsite.com";
    };

    zone "dev.internetsite.com" {
            type master;
            file "/etc/bind/zones/dev.internetsite.com";
    };

编辑/etc/bind/named.conf.options文件,并将要使用的所有转发器添加到正确的位置:

/etc/bind/named.conf.options

options {
        directory "/var/cache/bind";

        forwarders {
                208.67.222.222;
                208.67.220.220;
                8.8.8.8;
                8.8.4.4;
        };

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

在/ etc / bind / zones /创建一个名为zones的新文件夹,并为上面创建的与上面的’file’属性匹配的EACH区域添加一个新文件.以test.webdomain.com为例:

/etc/bind/zones/test.webdomain.com

$TTL    604800
@       IN      SOA     test.webdomain.com. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@                       IN      NS      test.webdomain.com.
test.webdomain.com.    IN      A       10.0.1.20

其中10.0.1.20是您希望此(子)域转发到的A记录IP地址.通过这种方式,test.webdomain.com的记录仅对子域具有权威性,并且全局DNS将像往常一样提供任何其他子域或根域.

解决方法

您要做的是在内部DNS服务器上为testing.webdomain.com创建DNS区域.这样,webdomain.com DNS不是由您的内部服务器托管,而是由dotster托管.

当有人查询www.webdomain.com时,请求将被转发到dotster进行查找(因为您的本地DNS服务器对该区域不具有权威性),而对test.webdomain.com的请求将由您的内部DNS服务器处理.

猜你在找的HTML相关文章