如何使用 BIND DNS 和多个域名?

如何使用 BIND DNS 和多个域名?

我正在尝试设置一个简单的本地 DNS 服务器,以便在开发/测试环境(Web 服务器)中的多台虚拟机上使用。虽然我只想设置一个带有 DNS 的 Windows 服务器,但我的可用内存有限,所以我宁愿在我的主机操作系统(Widows XP Pro)上运行 BIND。

我发现这个很棒的教程这让我能够在单个域上启动并运行 BIND。设置完成后,我能够利用我熟悉的 DNS 控制面板知识来设置一些记录。不幸的是,本教程中的假设是我只想管理一个域的 DNS,而我有两个域。

我查阅了大量文档,也尝试过复制区域文件并复制和粘贴 named.conf 中的“zone”部分,但都没有成功。我还尝试将其他域的记录直接放入我的原始区域文件中,但没有成功。按照示例,我的区域文件目前如下所示:

$TTL 6h
@   IN SOA  ns1.mydomain.com.   info.mydomain.com. (
            2011052302
            10800
            3600
            604800
            86400 )

@       NS  ns1.mydomain.com.

ns1 IN A    10.225.0.51

test    IN A    10.225.0.1

$ORIGIN test.mydomain.com.
www IN A    10.225.0.1
www2    IN A    10.226.0.66

当前已解决:

  1. 测试.mydomain.com
  2. www.test.mydomain.com
  3. www2.test.mydomain.com

我还需要让服务器解析:

  1. test.myotherdomain.com
  2. www.test.myotherdomain.com
  3. ftp.test.myotherdomain.com

我对实现该功能的方法或最佳实践不感兴趣(这是一个测试环境),我只是试图找到一种方法来让它解析 mydomain.com 和 myotherdomain.com 的记录。如果可以在 1 个区域文件中完成,那就没问题。如果需要多个区域文件,请说明如何配置它们(按照我链接的教程),以便 BIND 可以读取它们。

更新

通过更多的修改和你们的帮助,我发现了自己犯下严重错误的地方——我与公共 DNS 发生了冲突,因为 mydomain.com 和 myotherdomain.com 都在线。我之前已经正确设置了文件结构和 named.conf。但是,我必须将我的本地 DNS 设置为对 test.mydomain.com 和 test.myotherdomain.com(而不是 mydomain.com 和 myotherdomain.com)具有权威性,然后仅为“test”子域添加 A 记录。

$TTL 6h

@   IN SOA  ns1.test.mydomain.com.  info.mydomain.com. (
            2011052304
            10800
            3600
            604800
            86400 )

@       NS  ns1.test.mydomain.com.

ns1 IN A    10.225.0.51
www IN A    10.225.0.171
db  IN A    10.225.0.171
ftp IN A    10.225.0.171

答案1

添加另一个区域条目,类似于 named.conf 文件中的现有条目,并使用第二个域的 DNS 名称和文件名。

答案2

当您在 Bind 中创建另一个区域时,您会向 named.conf 添加另一个部分并将其指向另一个数据文件 (db.test.myotherdomain.com)。

相关内容