0

我想使用 Zentyal DNS 覆盖公共 URL 以指向内部 IP 地址。目标是将所有对地址(例如 www.example.com)的请求路由到内部服务器,例如http://192.168.1.255

这在我更改 /etc/bind 中的文件时有效,但每次重新启动时更改都会丢失。我试图为“/etc/zentyal/stubs/bind”中的这些更改创建一个存根,但是在模块重新启动或重新启动时无法识别配置更改。

如何使 BIND/DNS 更改在模块重新启动、重新启动和软件更新时保持不变?

4

1 回答 1

0

我意识到不存在 BIND 存根,/etc/bind 中的配置是从 /usr/share/zentyal/stubs/dns/ 中的 DNS 存根创建的。我从-> https://www.redpill-linpro.com/sysadvent/2015/12/08/dns-rpz.html借用了一个解决方案

在那里创建一个名为 db.rpz 的文件,其内容如下:

$TTL 60
@            IN    SOA  localhost. root.localhost.  (
                          2015112501   ; serial
                          1h           ; refresh
                          30m          ; retry
                          1w           ; expiry
                          30m)         ; minimum
                   IN     NS    localhost.

localhost       A   127.0.0.1

www.some-website.com    A        127.0.0.1

www.other-website.com   CNAME    fake-hostname.com.

在 /etc/zentyal/stubs 中创建一个“dns”目录

sudo mkdir /etc/zentyal/stubs/dns

将“named.conf.local.mas”和“named.conf.options.mas”从“/usr/share/zentyal/stubs/dns/”复制到“etc/zentyal/stubs/dns”到cd /usr/share /zentyal/存根/dns/

sudo cp named.conf.local.mas /etc/zentyal/stubs/dns
sudo cp named.conf.options.mas /etc/zentyal/stubs/dns

编辑 named.conf.local.mas(在 /etc/zentyal/stubs/dns 内)并添加此部分:

zone "rpz" {
  type master;
  file "/etc/bind/db.rpz";
};

编辑 named.conf.options.mas(在 /etc/zentyal/stubs/dns 内)并在 options { } 部分的某处添加响应策略选项:

options {
  // bunch
  // of
  // stuff
  // please
  // ignore

  response-policy { zone "rpz"; };
}

在 Zentyal 中重新启动 DNS 模块。

sudo sudo zs dns restart

这将在每次重新启动模块时(例如在重新启动或模块重新启动时)重写“/etc/bind”侧的“named.conf.options”和“named.conf.local”文件。这些更改应该在重新启动和 Zentyal 升级后持续存在。

于 2019-05-11T11:57:08.730 回答