辅助区域

Designate v2 API 引入了允许 Designate 作为 DNS 从服务器,而不是区域的主服务器的功能。这是通过从 Designate 外部管理的 DNS 服务器完成区域传输 (AXFR) 来实现的。

记录集 / 记录

辅助区域的更改在 Designate 外部管理。用户必须进行他们希望的更改,并提示新的区域传输 (AXFR) 到 Designate,以便在 Designate 管理的任何 DNS 服务器上使这些更改生效。

设置

要将辅助区域添加到 Designate,必须存在该区域的 DNS 主服务器,Designate 可以作为其从服务器。对于本指南,我们假设您已经设置好了这一点。

剩余的 Designate 设置将类似于非辅助区域的设置。您需要一个主 DNS 服务器供 Designate 管理并传输辅助区域到该服务器。

在我们的示例中,我们将使用以下值

名称 - example.com。

主服务器 - 192.168.27.100

设置 - 示例 NSD4

如果您已经有可用的主服务器,请跳过此部分。

注意

在此处,我们假设您正在运行 Ubuntu。

安装

由于某种原因,nsd 包存在一个错误,导致它无法创建安装所需的用户名。因此,我们将先创建它,然后再安装该包。

$ sudo apt-get install nsd

配置

$ sudo zcat /usr/share/doc/nsd/examples/nsd.conf.sample.gz >/tmp/nsd.conf
$ sudo mv /tmp/nsd.conf /etc/nsd/nsd.conf

将以下内容添加到 /etc/nsd/nsd.conf

注意

如果您想知道为什么我们将 notify 设置为 192.168.27.100:5354,那是因为 MDNS 默认在 5354 上运行。

$ sudo vi /etc/nsd/nsd.conf

添加内容

pattern:
    name: "mdns"
    zonefile: "%s.zone"
    notify: 192.168.27.100@5354 NOKEY
    provide-xfr: 192.168.27.100 NOKEY
    allow-axfr-fallback: yes

添加区域文件

在 NSD 中创建一个名为 example.com. 的新区域

/etc/nsd/example.com.zone

$ sudo vi /etc/nsd/example.com.zone

并添加内容

$TTL 1800 ;minimum ttl
example.com.         IN      SOA     ns1.example.com. admin.example.net. (
                        2014111301      ;serial
                        3600            ;refresh
                        600             ;retry
                        180000          ;expire
                        600             ;negative ttl
                        )

                TXT             "v=spf1 +a +mx ~all"
                SPF             "v=spf1 +a +mx ~all"

                NS              ns1.example.com.
                NS              ns2.example.com.
                NS              ns3.example.com.

                MX      0       mail1.example.com.
                MX      5       mail2.example.com.
                MX      10      mail3.example.com.

                A               10.0.0.1
                A               10.0.0.2
                A               10.0.0.3


ns1             A               172.16.28.100
ns2             A               172.16.28.101
ns3             A               172.16.28.103

mail1             A               10.0.10.1
mail2             A               10.0.10.2
mail3             A               10.0.10.3

google          CNAME           google.com.

重启 NSD

$ sudo service nsd restart

检查它是否正常工作

$ sudo nsd-control status

在 NSD 中激活该区域

$ sudo nsd-control addzone example.com mdns

创建区域

在 Designate 中创建域时,有两种可能的初始操作

  • 如果主服务器上尚不可用,则创建域但传输失败,然后通常会在主服务器发送第一个 NOTIFY 时完成初始传输。

  • 创建域并立即传输。

在两种情况下,主服务器和 Designate之间的交互都由 Designate 侧的 MDNS 实例处理。

值定义

  • email 设置为 Designate 配置的central 部分的managed_resource_email 选项的值。

  • 由于区域尚未传输,transferred_atnullversion1

$ openstack zone create --type secondary --masters 192.168.27.100 example.com.