使用 BIND9 设置自定义名称服务器

Posted

技术标签:

【中文标题】使用 BIND9 设置自定义名称服务器【英文标题】:Setting up a custom nameserver with BIND9 【发布时间】:2011-05-17 13:50:57 【问题描述】:

假设我从域注册商处购买了一个新域 (somedomain.com),我想在具有两个 IP 地址的服务器上设置我自己的域名服务器。

    首先我购买了域名。 我得到了服务器。 安装 BIND9。 我登录服务器并为 NS1.SOMEDOMAIN.COM 和 NS2.SOMEDOMAIN.COM 准备 DNS 记录。

我在 BIND 的什么地方设置这些,我应该怎么做?

下一步: 返回域注册器并将 DNS 设置为指向 NS1.SOMEDOMAIN.COM 和 NS2.SOMEDOMAIN.COM。

如果我要转发的域指向其 OWN 域名服务器域,这是一件坏事吗?我应该改变这个吗?当两个子域都在转发给它们的域之外时,它如何知道 NS1 和 NS2 去了哪里?

我是否应该只使用我的注册商提供的 DNS 并为 NS1 和 NS2 创建两个 CNAME 记录条目以指向新创建的 DNS 服务器的服务器 ips?这行得通吗?

谁能给我解释一下这个过程?谢谢。

【问题讨论】:

【参考方案1】:

请添加以下步骤,这对于在 WHOIS 记录中使用您的域名服务器至关重要:

第 5 步:返回您的注册商(无论您在第 1 步中购买域名的地方)并在其管理控制面板中创建特殊的 NameServer 记录;例如,在 godaddy.com 上,您需要转到高级 > 主机,在那里您可以设置 ns1 以指向您服务器的 IP 地址(第 2 步)。

您需要对 ns2 执行相同操作。

这因注册商而异,请查阅他们的文档或联系客户支持。

第 6 步:更新 WHOIS 记录以反映您的新域名服务器。

我在 BIND 中的什么位置设置这些,我应该怎么做?

您可以在域的区域记录中设置这些,与此类似:

yourdomain.com.   IN    SOA     ns1.yourdomain.com. you.yourdomain.com. (
                        1032789388
                        10800
                        3600
                        604800
                        300 )
yourdomain.com.   IN      NS      ns1.yourdomain.com.
yourdomain.com.   IN      NS      ns2.yourdomain.com.
ns1.yourdomain.com.       IN      A       xxx.xxx.xxx.xxx
ns2.yourdomain.com.       IN      A       yyy.yyy.yyy.yyy
如果我转发的域指向它的 OWN 域名服务器域,这是一件坏事吗?我应该改变这个吗?

从同一个域运行 DNS 很好。

当两个子域都在转发给它们的域之外时,它如何知道 NS1 和 NS2 的去向?

请参阅上面的第 5 步 - 您的注册商会处理这一点,注册您的名称服务器并允许它们参与“网络”。

我是否应该只使用我的注册商提供的 DNS 并为 NS1 和 NS2 创建两个 CNAME 记录条目以指向新创建的 DNS 服务器的服务器 ips?这行得通吗?

这行不通,因为您仍需要执行第 5 步;老实说,如果您不在同一主机上为 ns1 提供 DNS,我不确定会发生什么。

补充说明:

虽然您可以为 ns1 和 ns2 运行一个 DNS 服务器,但不建议这样做。

通常您希望您的辅助(从)DNS 服务器离您的主(主)DNS 服务器尽可能远...最好位于不同的国家/地区。

但是,技术上没有什么可以阻止您在同一物理硬件上使用两个不同的 IP。

【讨论】:

以上是关于使用 BIND9 设置自定义名称服务器的主要内容,如果未能解决你的问题,请参考以下文章

如何为 System.Serializable 类设置自定义 json 字段名称?

我可以使用 IP 地址作为名称服务器而不是创建自定义名称服务器 [关闭]

自定义SpringBoot+Swagger中@ApiModel默认名称

使用不同的参考名称迁移工作项。有没有办法更改工作项类型的字段引用名称或设置自定义引用名称?

如何使用自定义内容定义 UserControl?

EXCEL中图表如何引用自定义的公式名称