我想使用 Zentyal DNS 覆盖公共 URL 以指向内部 IP 地址。目标是将所有对地址(例如 www.example.com)的请求路由到内部服务器,例如http://192.168.1.255。
这在我更改 /etc/bind 中的文件时有效,但每次重新启动时更改都会丢失。我试图为“/etc/zentyal/stubs/bind”中的这些更改创建一个存根,但是在模块重新启动或重新启动时无法识别配置更改。
如何使 BIND/DNS 更改在模块重新启动、重新启动和软件更新时保持不变?
我意识到不存在 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 升级后持续存在。