Dns rndc和手动操作named.conf.local之间有什么区别

Dns rndc和手动操作named.conf.local之间有什么区别,dns,bind,Dns,Bind,我知道rndc意味着我可以从远程控制dns服务器。但是,假设我不需要这种远程功能。我在dns服务器上做所有事情。我想要的是在不影响其他区域的情况下高效地添加/更新/删除区域。我想出了一些使用rndc添加/更新/删除区域的脚本,如下所示: 添加新分区的步骤 rndc addzone mydomain.com '{type master; file "/etc/bind/db.mydomain.com";};' rndc reconfig 重新加载修改区域的步骤 rndc r

我知道rndc意味着我可以从远程控制dns服务器。但是,假设我不需要这种远程功能。我在dns服务器上做所有事情。我想要的是在不影响其他区域的情况下高效地添加/更新/删除区域。我想出了一些使用rndc添加/更新/删除区域的脚本,如下所示:

添加新分区的步骤

rndc addzone mydomain.com  '{type master; file "/etc/bind/db.mydomain.com";};'
rndc reconfig
重新加载修改区域的步骤

rndc reload mydomain.com
删除分区

rndc delzone mydomain.com
它似乎很方便。但是,它似乎没有向命名的.conf.local文件添加任何内容。那么这是否意味着rndc已经从通常命名为.conf.local的方式接管了控制?如果是这样,有什么区别?我应该用哪种方式

谢谢,
Elgs首先,要使用此功能,必须启用它,因此在
/etc/bind/named.conf.options
中的选项块中,我假设您有:

options {
    directory "/var/cache/bind";
    ...
    allow-new-zones yes;
    ...
}
使用
rndc addzone
时,服务器将在上面指定的基本目录中创建一个名为
.nzf
的新文件。是视图名称的哈希。无论如何,在停止或重新启动名称服务器后再次启动名称服务器时,会重新读取此文件,因此更改会持续


如果你对它的工作方式感到满意,那就坚持下去。唯一的缺点是,您的所有区域规范都不在named.conf.local中,因此如果需要修改任何区域选项,您将有两个文件要查看。

首先,要使用此功能,您必须启用它,因此在
/etc/bind/named.conf.options
中的选项块中,我假设您有:

options {
    directory "/var/cache/bind";
    ...
    allow-new-zones yes;
    ...
}
使用
rndc addzone
时,服务器将在上面指定的基本目录中创建一个名为
.nzf
的新文件。是视图名称的哈希。无论如何,在停止或重新启动名称服务器后再次启动名称服务器时,会重新读取此文件,因此更改会持续


如果你对它的工作方式感到满意,那就坚持下去。唯一的缺点是,您的所有区域规范都不在named.conf.local中,因此如果您需要修改任何区域选项,您将有两个文件要查看。

这对于StackOverflow来说有点离题,应该移到SuperUserThank@mili。如果我使用传统的名称.conf.local,这是否意味着每当任何区域文件发生更改时,我都必须重新启动bind9。我知道我可以使用
rndc-reload-mydomain.com
应用更改,而且速度非常快。如果您只是添加/删除区域,请使用
rndc-reconfig
,这比
rndc-reload
快得多。如果更改区域选项,请使用
rndc重新加载
。如果仅更改非动态区域的区域内容,则可以使用
rndc reload
。但是我总是使用
rndc-freeze
,进行记录更改,然后
rndc-thaw
,因为我有很多允许动态更新的区域,还有几个区域是DNSSEC签名的,所以在手动编辑之前需要在磁盘上同步日志。非常感谢。你提供的信息对我来说非常宝贵。谢谢@milli。如果我使用传统的名称.conf.local,这是否意味着每当任何区域文件发生更改时,我都必须重新启动bind9。我知道我可以使用
rndc-reload-mydomain.com
应用更改,而且速度非常快。如果您只是添加/删除区域,请使用
rndc-reconfig
,这比
rndc-reload
快得多。如果更改区域选项,请使用
rndc重新加载
。如果仅更改非动态区域的区域内容,则可以使用
rndc reload
。但是我总是使用
rndc-freeze
,进行记录更改,然后
rndc-thaw
,因为我有很多允许动态更新的区域,还有几个区域是DNSSEC签名的,所以在手动编辑之前需要在磁盘上同步日志。非常感谢。你提供的信息对我来说是无价的。