私有 VPN 中的 BIND9

私有 VPN 中的 BIND9

假设有一个私人 VPN(examplevpn.org)并且有多个内部网络连接到它(net1.examplevpn.org、net2.examplevpn.org 等)。

  1. 所有邮件都经过 examplevpn.org 中的中继(传入或传出)。所有网络都有自己的邮件服务器。
  2. 所有 Web 访问都通过 examplevpn.org 中的代理服务器。没有 NAT,只有 Web 代理。
  3. examplevpn.org 有两个 DNS,一个是外部的,一个是内部的。内部的 DNS 只能从 VPN 内部访问,并且只回复对 *.examplevpn.org 域的查询,其余的将被忽略。
  4. 每个内部网络都有自己的 DNS 服务器。

我在 net1.examplevpn.org 工作,我想配置 BIND(版本 9.9.5)来

  1. 直接回复对 *.net1.examplevpn.org 的查询。(简单,区域,我正在说明此完成要求)
  2. 将 *.examplevpn.org 查询转发到内部 examplevpn.org DNS 服务器。所有这些都是递归查询。
  3. 忽略互联网其余部分的其余查询,我的意思是,我不希望这些查询转发到内部 examplevpn.org DNS 服务器。examplevpn.org 的内部 DNS 服务器已经忽略了它们,而且,由于没有 NAT,我无法连接到 IP。

这是 2 和 3 的组合,我不知道如何同时进行。

我想做 3 有两个原因:

  • 这毫无理由地浪费了带宽(查询无论如何都会失败)
  • 延迟。我希望查询快速失败。我把问题过于简单化了。现实生活中有 3 个内部 DNS,我的 DNS 服务器(位于 net1.examplevpn.org)尝试了其中三个,然后失败了……大多数情况下,一件本应立即完成的事情需要 5 秒钟。

答案1

解决方案很简单,虽然有点晦涩,但forward指令在区域条款也一样。

因此,禁用所有现有的转发器和递归(要求 3),定义一个本地区域(要求 1)并将另一个特定区域的所有内容转发到另一个名称服务器(要求 2),您将获得类似以下内容:

options {
        recursion no;
        ...
};

zone "net1.example.org." IN {
        type master;
        file "zone.net1.example.org";
};
zone "example.org." IN {
        type forward;
        forward only;
        forwarders { 10.9.8.7; };
};

相关内容