如何在Ubuntu上设置Bind9作为域名服务器?

我想设置我自己的DNS服务器ns1.myhostingdomain.com和ns2.myhostingdomain.com
我有两个单独的服务器使用,一个作为主,另一个作为奴隶。 我的目标是将其设置为虚拟主机设置。 我希望能够添加新的域(区域),然后将新购买(托pipe)的域指向ns1.myhostingdomain.com和ns2.myhostingdomain.com

我想我会开始主要的第一个没有奴隶添加,然后一旦我的主要工作,我会努力让奴隶工作。 我已经bind9安装在Ubuntu 9.10(karmic)
它是部分configuration我猜。 到目前为止我已经完成了以下工作:

已修改:/etc/bind/named.conf.options – 将转发器更改为位于我的ns1.myhostingdomain.com服务器上方的名称服务器(主机名实际上不是ns1,它是poseidon。*,如果这很重要的话)

options { directory "/var/cache/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 { 69.20.95.4; 65.61.188.4; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; }; 

我添加了一个区域到/etc/bind/named.conf.local

 #start_zone myhostingdomain.com zone "myhostingdomain.com" { type master; file "/etc/bind/zones/myhostingdomain.com.db"; }; 

然后我创build了区域文件/etc/bind/zones/myhostingdomain.com.db

 ; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ns1.myhostingdomain.com. dnsadmin.myhostingdomain.com. ( 20100809001 ; Serial 1H ; Refresh 15M ; Retry 4W ; Expire 1H ; Negative Cache TTL ) ; @ IN NS ns1.myhostingdomain.com. @ IN NS ns2.myhostingdomain.com. @ IN A 184.106.207.45 ns1 IN A 184.106.207.45 ns2 IN A 184.106.229.136 

有什么我失踪或我做这个完全错误?

您是否在注册商一级将该区域指向了您的DNS服务器? dig +trace ns1.myhostingdomain.com应该给你一些更多的信息,以及cat /etc/resolv.conf的输出cat /etc/resolv.conf

重新启动绑定,检查系统日志的错误,你应该完成。

作为保护系统的一个步骤,您应该将recursion限制在您的地址空间。

 options { ... // uncomment this section to limit recursion to internal hosts allow-recursion { localhost; 10.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16; }; ... };