我有一台专用服务器,并且在同一台服务器上有 DNS 和 Web 服务器。要配置 DNS,我已使用BIND
... BIND 附带 localhost 的默认配置,例如127, 0 , 255 and localhost
。我已删除type:hint
用于缓存的部分。
我怀疑的是
- 我是否真的需要这些配置,就像我的 DNS 一样
Authorative Only
?如果我需要这些配置,它们是仅用于授权的,还是用于缓存服务器? - 如果我需要这些配置文件,那么它们是否只能在内部使用,还是可以被外部使用
以下是我要求的配置文件:
命名的.conf.选项:
options {
directory "/etc/bind";
version "Hello";
recursion no;
allow-transfer{none;};
managed-keys-directory "/etc/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// forwarders {
// 0.0.0.0;
// };
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
命名的.conf.默认区域
// prime the server with knowledge of the root servers
zone "example.com" {
type master;
file "/etc/bind/master/master.example.com";
};
zone "X.X.X.in-addr.arpa" {
type master;
file "/etc/bind/master/master.X.X.X.X";
};
// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
我的named.conf.local是空白的,所以我没有添加它,并且区域文件正常且正常工作
答案1
默认绑定配置启用了大量内置空白区域当启用递归时。此操作无需手动定义任何区域,也就是说,您之前在配置文件中定义的区域可能完全是多余的。
根提示区(type hint
区for .
) 仅在递归时才需要,但它也具有内置默认值,无需在配置文件中手动指定即可工作。
对于仅授权服务器,您需要确保完全禁用递归或限制递归访问。请参阅recursion
和allow-recursion
选项(以及其他allow-*
选项,当您开始覆盖其中一些选项时,它们会在某种程度上进行交互)。
答案2
您确实需要发布您的配置信息,以便我们能够回答这个问题。仅授权服务器不需要本地主机等的默认配置,只需要其授权的区域。