DNS 代理设置 - 如何“重定向”查询?

DNS 代理设置 - 如何“重定向”查询?

我想知道是否有任何方法可以配置 BIND 服务器以根据记录的本地值回答查询,如果不存在,则将请求转发到配置的递归服务器。

例子

test.com保存在本地 BIND DB 文件中,如下所示

...
x      A  1.2.3.4
...

在“公共”DNS上

...
x      A  5.6.7.8
y      A  2.0.0.2
...

如果我要求,x我希望得到答案1.2.3.4,但是如果我要求,y我希望我的服务器响应2.0.0.2

dnsmasq这是向文件添加主机时所包含的功能/etc/hosts,但我想知道:

  1. BIND 可以做到这一点或者...
  2. ...有任何其他 DNS 服务器可以做到这一点。

答案1

如果我理解正确的话你需要使用视图

acl "local_network" {
      192.168.0.0/16;
      127.0.0.0/8;
};

...

view "internal" in {

    match-clients { local_network; };
    recursion yes;
    additional-from-auth yes;
    additional-from-cache yes;

    zone "." in {
        type hint;
        file "named.root";
    };

    zone "test.com" IN {
        type master;
        file "master/test.com_int";
        allow-query { local_network; };
        allow-transfer { none; };
        allow-update { none; };
    };
...
}

view "external" in {

    match-clients { !local_network; any; };
    recursion no;

    zone "test.com" IN {
        type master;
        file "master/test.com_ext";
        allow-query { all; };
        allow-transfer { none; };
        allow-update { none; };
    };
...
};

相关内容