我的DNS工作! 但是,添加什么东西最简单的方法是什么?

这是我当前的DNS example.com.db区域文件。 我跟着一个教程。 这是有效的,因为当我通过resolve.conf从另一台服务器指向这个DNS时,当我执行“ping example.com”时,它实际上会将我转到正确的IP。

; ; BIND data file for example.com ; $TTL 604800 @ IN SOA example.com. info.example.com. ( 2007011501 ; Serial 7200 ; Refresh 120 ; Retry 2419200 ; Expire 604800) ; Default TTL ; @ IN NS ns1.example.com. @ IN NS ns2.example.com. example.com. IN MX 10 mail.example.com. example.com. IN A 192.168.254.1 www IN CNAME example.com. mail IN A 192.168.254.1 ftp IN CNAME example.com. example.com. IN TXT "v=spf1 ip4:192.168.254.1 a mx ~all" mail IN TXT "v=spf1 a -all" 

马上,

 ping example.com....goes to 192.168.254.1. That's great!!! it works! 

我的问题是 – 如何添加一些东西做这个文件,以便当我的其他服务器:

 ping dbserver1....goes to 44.245.66.222 ping cacheserver1 ....goes to 38.221.44.555 

我想要像我的机器通用主机文件一样使用它。

如果要使用example.com作为所有机器的基本域,则必须将其添加到所有机器的/etc/resolv.conf文件中:

searchexample.com

然后按照Schof的build议,把这个条目分成两行(他的post中的小格式化问题):

 dbserver1 IN A 44.245.66.222 cacheserver1 IN A 38.221.44.555 

然后增加该区域文件中的序列号(非常重要)。 例如从2007011501到2009091000(今天的date+ 00,或者01在下次更新等等)。

然后重新加载bind9并尝试从您的机器ping dbserver1。

如果我正确地理解了你的问题,你就非常接近你想去的地方:

假设您需要dbserver1.example.com,而不是dbserver1.otherdomain.com,请执行以下操作:

 dbserver1 IN A 44.245.66.222 cacheserver1 IN A 38.221.44.555 

如果你想去其他的领域(如你的评论所示),那么你会想要:

 dbserver1.otherdomain.com. IN A 44.245.66.222 cacheserver1.otherdomain.com. IN A 38.221.44.555 

(注意上面域名的终止时间,非常重要,否则你会得到dbserver1.otherdomain.com.example.com。)

从BINDconfiguration文件的特定主题转移到DNS的一般主题,我不确定你想要做什么,但这听起来不是一个好主意。

互联网从主机文件迁移到DNS,因为维护一堆主机文件迅速变得非常艰难。 如果您使用DNS来创build自己的主机文件,我会build议:

  1. 使用实际的主机文件。
  2. 根本没有这样做,并使用DNS作为DNS。

如果你只是想通过input“ping dbserver1”来访问dbserver1.example.com,那么你需要遵循Yves的build议,并将“search example.com”添加到你的/etc/resolv.conf中。 这是完全独立于您的DNS服务器 – 每台机器上的本地设置,告诉它将“example.com”附加到无效地址。

为您的Linux DNS服务器添加其他DNS条目

vi /etc/named.caching-nameserver.conf

并添加下面的DNS服务器IP

forwarders { 0.0.0.0; };

:wq

service named restart

并检查它。