让Linux的DNS服务器和Windows的DNS服务器交互

理论上来说,Linux平台上的DNS主要区域可以作为Windows平台上DNS的辅助区域,而反之也成立。我不知道是否有人已经做过这样的实验,但是我今天实验了一下,相当成功!结果我得出结论:Linux平台的DNS server可以和Windows平台的DNS交互,而且配置起来也相当简单。

实验拓扑:两台计算机,一台是Red Halt Linux系统,一台是Windows server 2003系统。

一、Linux搭建DNS正向主要区域,Windows作它的辅助区域

Linux做如下配置,IP:192.168.1.11   首选DNS server:192.168.1.11

 

 

 

按/etc/init.d/network restart重启Linux网卡

确保该Linux服务器上安装了BIND软件,然后,cd命令进入

cd /var/named/chroot/etc 

拷贝模板文件,注意加-p参数保证权限

用vim编辑器编辑刚刚拷贝好的named.conf文件,内容如图,注意,一定要有allow-update(允许区域传输),不然,就做不成辅助区域了。大括号内写的是Windows服务器的IP地址(待会,设置Windows服务器IP的时候,一定要和大括号内的IP相同)

 

然后,cd /var/name/chroot/var/named  新建一个benet.com的文件,作为该主要区域的解析文件,然后里面写上主机记录,如下图

 

保存以后,按/etc/init.d/named restart重启DNS服务,然后在Linux上面用nslookup验证,一定要保证成功才能去windows上面做辅助区域,成功后显示下图的样子

 

接下来,到Windows server 2003上面操作了,配置Windows server 2003的IP是192.168.1.1,首选DNS服务器127.0.0.1(本机回环)

 

建立辅助区域benet.com,IP指向Linux(192.168.1.11)

 

 

 

 

指明主DNS服务器的IP,这里指向Linux

完成后,在windows上面用ping来验证,成功后,应该是下面两张图的样子

 

 

 

 

二、让Windows作主DNS服务器,Liunx作辅助DNS服务器

保持刚才的网络配置不变,在windows server 2003上建立主要区域accp.com

 

 

建立一个主机记录,当然,主机对于的IP地址可以瞎写,因为我们的目的仅仅是解析,而非连通它

 

选择“允许区域传输”,到Linux服务器:192.168.1.11

 

 

在“管理工具-服务”里面,找到DNS Client和DNS Server服务,两个都要重启一下

 

 

回到Linux上,用vim /var/named/chroot/etc/named.conf,打开刚才写过的named.conf文件,添加一个slave区域,也就是辅助区域,主服务器是192.168.1.1,在/var/named/chroot/var/name/slaves/文件夹下生成accp.com的辅助区域文件,写法见下图

 

按/etc/init.d/named.restart重启DNS服务,如果能在slaves下面发现accp.com的文件,就是成功了

最后,进行验证

 

非常简单,其实根本就没什么高深的技术啦,只要同时熟练windows平台的DNS服务器和Linux平台的DNS服务器,这个实验根本就没挑战性嘛!呵呵。