BIND配置疑问:是否需创建domain.tld服务器区域及是否会覆盖服务商设置
BIND配置疑问:是否需创建domain.tld服务器区域及是否会覆盖服务商设置
嗨,我来帮你理清这个BIND配置的问题,先拆解下你的场景和核心疑问:
先明确当前的解析逻辑
你现在的设置是:
- 三个业务域名:把它们的NS记录指向了你自己的
ns1.domain.tld和ns2.domain.tld,所以这三个域名的解析权已经完全交给你的BIND服务器了,这三个域名的zone必须在你的BIND里创建,用来解析它们到srv1.domain.tld的IP。 domain.tld本身:你是在服务商的DNS面板里设置了它的A记录(对应ns1、ns2、srv1的IP),这说明domain.tld的权威DNS还是服务商的服务器,外界查询domain.tld相关记录时,只会找服务商的DNS,不会找你的BIND。
核心问题解答:要不要在BIND里创建domain.tld的zone?
答案是不需要,原因如下:
- 你没把
domain.tld的NS记录改成自己的服务器,所以你的BIND里就算创建了domain.tld的zone,外界也不会访问到这个zone的配置,等于白做。 - 如果你现在强行在BIND里加了
domain.tld的zone,只会影响你的BIND服务器自身对domain.tld的解析(比如你在ns1/ns2上pingdomain.tld会用自己的zone记录),但外界的解析依然走服务商的DNS,不会覆盖服务商的设置。
什么时候需要创建domain.tld的zone?
只有当你想把domain.tld本身的解析权也转到自己的BIND服务器时,才需要这么做,步骤是:
- 先在服务商的域名管理面板里,把
domain.tld的NS记录改成ns1.domain.tld和ns2.domain.tld - 然后在你的BIND里创建
domain.tld的zone,配置好SOA、NS、A等必要记录 - 这时候你的BIND配置才会覆盖服务商的
domain.tld解析设置,但你目前的场景不需要这么做。
当前正确的操作
- 保持服务商的
domain.tld解析设置不变(这个设置是让外界能找到你的NS服务器的关键,必须保留) - 在你的BIND服务器上,只创建那三个业务域名的zone,每个zone里配置:
- SOA记录(指定主NS和管理员邮箱)
- NS记录指向
ns1.domain.tld和ns2.domain.tld - A记录指向
srv1.domain.tld的IP
备注:内容来源于stack exchange,提问作者Dark Corner




