目录

安装 BIND

自行管理 DNS (nameserver) 是非常简单的,您只需要几分钟可以完成安装与设定,有大约五个档案需要设定,并且整个操作过程相当的直觉简单。

首先,您需要自己安装 BIND。因为 BIND (Berkeley Internet Name Daemon) 是非常普遍使用的软体,您只需要输入下列指令就可以安装到最新的 BIND 9 在您的伺服器里面。

apt-get install bind9 dnsutils

设定 BIND

这里是最重要的部份。下表的档案就是我们需要修改的设定档:

档案 用途
named.conf.local 设定您的网域与辖区档的位置
named.conf.options BIND 的其他设定,例如额外的 IP 位置
resolv.conf 设定您系统查询的 DNS 主机
zone file 辖区正解档
reverse DNS zone file 辖区反解档

named.conf.local

named.conf.local 这个设定档是 BIND 的重要设定档。您必须将您的网域设定放在这里面。请使用您喜爱的编辑器来修改他,例如您是使用 nano 的话,请输入:

nano /etc/bind/named.conf.local

然后,在这台伺服器增加您的网域设定, 加入如下面的网域设定(请将两个 “whack-a-mole.eu” 都换成您的设定):

zone "whack-a-mole.eu" {
      type master;
      file "/etc/bind/zones/whack-a-mole.eu.db";
};

named.conf.options

请记得要修改 named.conf.options 这个档案:

nano /etc/bind/named.conf.options

如果您要管理很多网域名称的解析,您需要将每个网域名称的设定档都独立放在这个档案内。同时,如果有辖区档传送(Zone transfer)的需求,也请在这边进行设定。

例如,在这里我们使用 ns6.gandi.net 来当作 whack-a-mole.eu 这个网域名称的第二台名称伺服器,所以设定如下:

zone "whack-a-mole.eu" (
        type master;
        allow-transfer {217.70.177.40;};
        file "/etc/bind/db.whack-a-mole.eu";
)

您必须在每个需要辖区传送的网域名称内都加入像这样的设定,并且指定第二台名称伺服器的 IP 位置,主伺服器才会允许其他名称伺服器的辖区传送。

resolv.conf

您将会需要编辑 resolv.conf,并将您的域名伺服器的 IP 加入档案中。注意,这个档案并不是在 BIND 的目录中而是在其他地方,/etc 的资料夹内,透过下列命令编辑他:

nano /etc/resolv.conf  

请输入如下的资料,请记得要将 “whack-a-mole.eu” 修改成您的网域名称,并且要将 “217.70.190.17” 改成您的伺服器 IP 位置(不知道怎么找吗?). 伺服器的排序是有顺序的。在下面的范例中我们使用 Gandi 的 ns6.gandi.net 这台伺服器(IP 217.70.177.40) 来当作第二个名称伺服器。

search whack-a-mole.eu
nameserver 217.70.190.17
nameserver 217.70.177.40

辖区设定档

这个档案纪录了您的网域名称对应到伺服器的解析纪录,或是邮件伺服器的位置,我们称这个档案为 '辖区设定档(zone file)'。如果您使用 Gandi 的(预设辖区档),您可以在 Gandi 的界面看到跟这一样的内容 。(more)

1. 首先建立存放辖区设定档的资料夹: 这个资料夹存放你所有的辖区设定档。

mkdir /etc/bind/zones

2. 帮您的网域名称建立一个辖区设定档

现在您需要建立一个 DNS 使用的辖区设定档来对应您的网域名称与 IP 位置(接下来的范例中,请将 whack-a-mole.eu 替换成您的真实资料)。使用下列指令来建立一个新档案(记得替换 whack-a-mole.eu 为你的网域名称):

nano /etc/bind/zones/whack-a-mole.eu.db

下面是辖区设定档(zone file)中的范例:

whack-a-mole.eu.  IN   SOA   boom.whack-a-mole.eu. admin.whack-a-mole.eu. (

2006081401
28800
3600
604800
38400
)
  
whack-a-mole.eu. IN NS boom.whack-a-mole.eu.

whack-a-mole.eu. 10800 IN MX 10 spool.mail.gandi.net.
whack-a-mole.eu. 10800 IN MX 50 fb.mail.gandi.net.
pop 10800 IN CNAME access.mail.gandi.net.
imap 10800 IN CNAME access.mail.gandi.net.
smtp 10800 IN CNAME relay.mail.gandi.net.
webmail 10800 IN CNAME agent.mail.gandi.net.

www IN A 217.70.190.20
mta IN A 217.70.190.17
boom IN A 217.70.190.17

(您将需要替换上面范例中的值,改成您的设定。这边的范例是使用 Gandi 的 GandiMail 与网页伺服器)

您可以在 Gandi DNS 的管理页面中使用 '专家模式',就可以看到跟第二张图中下半部的部份一样的画面,如您所见,这两个是一样的东西。

DNS 反解辖区档(Reverse DNS zone files)

建立您的反解档(使用您的 IP 位置的反转后来取代 190.70.217)。

nano /etc/bind/zones/rev.190.70.217.in-addr.arpa

请依照下来原则来替换下列范例,修改成您的反解档:

@ IN SOA whack-a-mole.eu. admin.whack-a-mole.eu. (
                      2006081401;
                      28800;
                      604800;
                      604800;
                      86400);

                     IN    NS     boom.whack-a-mole.eu.
17                   IN    PTR    whack-a-mole.eu.

重新启动 Restart

一旦您完成您的 DNS 伺服器设定,请执行:

/etc/init.d/bind9 restart

如果设定都正常,您会看到如下列讯息:

Stopping domain name service... bind                                         [ OK ]
Starting domain name service... bind                                         [ OK ]

安装 BIND Server: 最简单的方式!

Gandi.net 提供 高扩充与独立的代管服务 能依照您的需求建立自己的 网域/网页服务。我们的服务能支援很小的规模,每月只要 $14 元起。十分钟就能使用您自己的伺服器。更多代管伺服器的细节请参考我们的 http://www.gandi.net/hosting/