在 CentOS 5.9 上设置 Bind9 DNS 服务器

在 CentOS 5.9 上设置 Bind9 DNS 服务器

我有一台安装了 CentOS 5.9 32 位的 OpenVZ VPS 服务器。我还从本地提供商 (masterwebnet.com) 购买了域名 sehattotal.com。目前 sehattotal.com 托管在 hostgator.com 上。

我的目的是在 VPS 服务器中创建 DNS 服务器并将我的域名指向它。

因此我尝试在我的服务器中像这样配置 Bind9:

/etc/named.conf:

options {
  directory   "/var/named";
  dump-file   "/var/named/data/cache_dump.db";
  statistics-file "/var/named/data/named_stats.txt";
  memstatistics-file "/var/named/data/named_mem_stats.txt";
  allow-query { any; };
  allow-transfer     { localhost; 0.0.0.0; };
  recursion no;

  dnssec-enable yes;
  dnssec-lookaside . trust-anchor dlv.isc.org.;
};

logging 
{
 channel default_debug {
        file "data/named.run";
        severity dynamic;
 };  
};

zone "." IN {
 type hint;
 file "named.root";
};

zone "localdomain." IN {
type master;
file "localdomain.zone";
allow-update { none; };
};

zone "localhost." IN {
 type master;
 file "localhost.zone";
 allow-update { none; };
};

zone "0.0.127.in-addr.arpa." IN {
 type master;
 file "named.local";
 allow-update { none; };
};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa." IN {
  type master;
  file "named.ip6.local";
  allow-update { none; };
 };

zone "255.in-addr.arpa." IN {
  type master;
  file "named.broadcast";
  allow-update { none; };
};

zone "0.in-addr.arpa." IN {
   type master;
   file "named.zero";
   allow-update { none; };
};

zone "sehattotal.com" IN {
  type master;
  file "sehattotal.com.zone";
  allow-update { none; };
};

include "/etc/rndc.key";

/var/named/chroot/var/named/sehattotal.com.zone:

$TTL 86400
@   IN    SOA   ns1.sehattotal.com. root.sehattotal.com. (
  2013122901  ;Serial
  21600       ;Refresh
  1800        ;Retry
  604800      ;Expire
  86400 )     ;Minimum TTL

@ IN NS  ns1.sehattotal.com.
ns1 IN A  116.251.208.167

当我尝试启动命名服务时没有错误。

问题我认为它不起作用,因为我无法 ping ns1.sehattotal.com。

有什么建议吗?

笔记: 目前 sehattotal.com 有 NS2227.HOSTGATOR.COM 和 NS228.HOSTGATOR.COM 我仍然无法将其更改为 NS1.SEHATTOTAL.COM,因为当我 ping 到 NS1.SEHATTOTAL.COM 时它返回:

Ping 请求无法找到主机 ns1.sehattotal.com。请检查名称并重试。

答案1

您的提供商尚未正确委派区域:

[me@risby tmp]$ whois sehattotal.com
[Querying whois.verisign-grs.com]
[Redirected to whois.tucows.com]
[Querying whois.tucows.com]
[whois.tucows.com]
Domain Name: SEHATTOTAL.COM
[...]
Name Server: NS2227.HOSTGATOR.COM
Name Server: NS2228.HOSTGATOR.COM

[root@bill ~]# dig  NS2227.HOSTGATOR.COM
[...]
;; ANSWER SECTION:
NS2227.HOSTGATOR.COM.   43200   IN  A   192.254.235.98
[...]
[root@bill ~]# dig  NS2228.HOSTGATOR.COM
[...]
;; ANSWER SECTION:
NS2228.HOSTGATOR.COM.   43200   IN  A   192.254.235.99
[...]

由于这两者都不是您为 设置的 IP 地址ns1,即116.251.208.167,我认为委派是不正确的。

仅仅注册域名和设置名称服务器并不能神奇地将两者联系起来:必须告诉全世界,当它查找域名时,它应该使用您的名称服务器(是的,即使您只是两次列出相同的地址,也需要两个名称服务器)。这是您的注册商(在本例中为 tucows)提供的粘合剂。

我会把这个问题投票否决为“没有表现出任何研究努力“,但您很好地给出了完整的域名和地址,并且没有在问题中隐晦任何内容。谢谢您 - 这并没有让回答变得更容易。

答案2

似乎你缺少反向 DNS 区域,

还要在 resolve.conf 文件中添加 dns 服务器的 ip

不要忘记在防火墙中允许 DNS 流量

iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

将 eth0 更改为监听 ip 的接口,或者只是为了测试目的,使用以下命令停止防火墙

 service iptables stop  

然后启动命名的服务。

下面有一个很好的指南,您只需要设置主 DNS 部分。

http://www.unixmen.com/dns-server-installation-step-by-step-using-centos-6-3/

相关内容