本站推荐

Ubuntu 9.10 Server中利用Bind9搭建DNS服务器

来 源:gavntery.com 作 者:Gavntery 时间:2010-03-20 点击:
loading...

DNS(域名服务器)的作用是把域名转换成IP地址,或反过来。更详细的信息:维基百科。

此实验,将在局域网的一台主机上用Bind9搭建DNS服务器,提供域名解析服务。另有两台HTTP服务器,设定域名为www.my.com和abc.my.com(随便取一个域名)。网络结构图:

 

4210959320_28e964dfa9

 上图中两台服务器Server0和Server1是在VirtualBox下虚拟的,网卡类型用桥接,怎么安装请见这里。根据我的实际情况,宿主系统(WinXP)ip地址是192.168.1.99,Server0是 192.168.1.98,Server2是192.168.1.97,网关(路由)是192.168.1.1,接电信ISP。

Server0 上安装HTTP服务器和DNS服务器,Server1上安装HTTP服务器。上面的网络搭建好之后,三台机器之间能够互ping得通。

先为两台服务器安装HTTP服务器,如果在安装Ubuntu已选择安装LAMP,则跳过这步。否则,执行sudo apt-get install nginx安装nginx,它是一个小巧的HTTP 服务器,安装完它会自动启动,在浏览器测试一下http://192.168.1.97,看到"Welcome to nginx!"即成功。

实验目的是使得三台电脑都能用www.my.com访问server0,abc.my.com访问server1.

安装Bind9:

   sudo apt-get install bind9 dnsutils bind9-doc

其中只需bind9就可,后面两个是dns的测试工具和bind9的文档,hiweed推荐。

DNS记录类型请看维基百科,常用有A记录、CNAME记录、MX记录和NS记录。

转发配置:是当本地的DNS服务器在本地数据文件里找不到对应网站后,移交给下一步查询的DNS服务器(递推)。编辑/etc/bind/named.conf.options文件,取消 forwarders{}的注释,在{}加入8.8.8.8; 这是Google的DNS服务器。

Zone概念:zone即域的意思,像g.cn、 twitter.com这样的形式就是域,www.g.cn,ditu.g.cn这些就是子域。Bind9的配置文件中,一个域用一个文件来存放,在文件中指明每个子域对应的IP地址。

主DNS服务器配置:编辑/etc/bind/named.conf.local文件,添加域my.com:

   zone "my.com"{
         type master;
         file "db.my.com";
   };

注意别漏了分号,type指定这台DNS服务器为主服务器,file指定该域的解析文件,默认路径在/etc/var/cache/bind/etc/bind/db.local是bind自带的模板文件,复制一份到 /etc/var/cache/bind ,并改名成db.my.com:

   sudo cp /etc/bind/db.local /var/cache/bind/db.my.com

然后编辑/var/cache/bind/db.my.com,最终如下:

$TTL    604800
@       IN      SOA     my.com. root.my.com. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.
@       IN      A       127.0.0.1
;@      IN      AAAA    ::1
www     IN      A       192.168.1.98
abc     IN      A       192.168.1.97
server  IN      CNAME   abc

从上往下看,$TTL设置记录在DNS缓存服务器上的生存周期(秒)。SOA记录定义了my.com这个域,以及相关参数,默认就行。最后三行,添 加A记录,www指向server0的IP,abc指向server1的IP,server则CNAME到abc(这一行非必须,仅演示CNAME)。

修改完成后重启bind:

   sudo /etc/init.d/bind9 restart

此时DNS服务器已经开始工作了,要使用该DNS服务器,以XP为例,到"控制面板"–"网络连接",找到上网的网卡,右键选择"属性",如图设置:

2009-12-24
19-13-11.png

然后打开浏览器,访问www.my.com,abc.my.com,server.my.com吧。

Linux 修改DNS,请修改/etc/resolv.conf文件。

关于反向解析:即从IP解析到域名。本实验中,该功能没什么用途。在反垃圾邮件方面,它很有作用,由于邮件的协议,伪装域名发送邮件是可能的,这时候,邮件服务器端收到邮件后,根据邮件的IP地址反解析,得到域名,如果域名和邮件的发信人域名一致,则收下,否则拒绝。

来源:http://www.2ky.cn/h/Linux/5783.htm
转载要求注明来源,请尊重作者版权!

关键字: 

会员登陆close X