====== 安装 BIND ====== 自行管理 DNS (nameserver) 是非常简单的,您只需要几分钟可以完成安装与设定,有大约五个档案需要设定,并且整个操作过程相当的直觉简单。 首先,您需要自己安装 BIND。因为 BIND ([[http://en.wikipedia.org/wiki/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 位置([[en:hosting:manage-server:my-ip-address|不知道怎么找吗?]]). 伺服器的排序是有顺序的。在下面的范例中我们使用 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 的([[zh:dns:zone|预设辖区档]]),您可以在 Gandi 的界面看到跟这一样的内容 。([[en:dns:zone|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 的管理页面中使用 '[[zh:dns:zone#l-interface-expert|专家模式]]',就可以看到跟第二张图中下半部的部份一样的画面,如您所见,这两个是一样的东西。 ===== DNS 反解辖区档(Reverse DNS zone files) ===== 建立您的反解档(使用您的 IP 位置的反转后来取代 190.70.217)。 nano /etc/bind/zones/rev.190.70.217.in-addr.arpa 请依照下来原则来替换下列范例,修改成您的反解档: * 'whack-a-mole.eu.' 改成您的真实网域名称 * 'boom.whack-amole.eu.' 改成您的名称伺服器主机名称 * 数字 '17' 改成您的主机编号(例如,您的 IP 是 190.70.217.**17**,则编号就是 '17') @ 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|http://www.gandi.net/hosting/]]。