打算建立一个lnsjb.com的网站,首先要先去ISP申请一个公网IP地址,假设申请到的这个地址是172.16.0.1。有了IP地址之后去某个域名服务商那里申请lnsjb.com域名,如果审核通过了,那么服务商会提供管理员一套账号和密码来管理网站,与此同时,域名服务商还会提供两个DNS服务器专门用来面对公网用户解析lnsjb.com的地址。流程图如下:
如果公司比较壕,自己购置了DNS服务器,这样可以让公司内部人员实用递归查询解析lnsjb.com(外来用户必须使用迭代查询,因为递归查询很占内存),同时也可以公司内部的pop和mail域也可以使用这个私用DNS解析(但是这两个域是不能上公网的),整个规划图如下:
这里看到,原本域名服务商指向的仅仅是lnsjb.com,但是现在指向了企业内部的dns服务器。这里示范如何配dns这台企业dns服务器,ns2的配置方法是一模一样的。
#yum install bind -y,安装完成之后,#vim /etc/named.conf,建立一个主配置文件。named.conf的样子如下:
先将目录文件夹定位/var/named,保存这个主配置文件并退出之后。然后就对应写里面三个红名的文件。
named.ca很简单,这是设定全球根服务器,#dig -t NS . > /usr/named/named.ca即可。
localhost.zone的写法如下(这里添加的注释在实际操作的时候是不能有的,文件并不认识#):
named.local的写法如下(这里添加的注释在实际操作的时候是不能有的,文件并不认识#):
完事之后,用chown命令把这三个文件加上面的named.conf的属组都要改成named。
然后就可以启动服务,#service named start,回车一下。然后可以正向解析验证,#dig -t A localhost,反向解析验证命令就是#dig -x 127.0.0.1。此时应该能看到localhost与127.0.0.1正反解析都已经对应了。
如第二个手绘图那样,现在已经将域名服务商的NS记录指向了我们公司内部的DNS主服务器和DNS从服务器,此时就可以建立企业内部的名称服务器了。重新#vim /etc/named.conf,刚刚只是把named.conf实现最基本的dns解析功能,也就是仅仅是一台缓存服务器而已,现在是lnsjb.com加入进去,使这个文件具体化,丰富化。于是在我们刚刚建立的named.conf结尾处加上这样的内容:
然后就是写上面的“lnsjb.com.zone”和“172.16.zone”了,他们的长相跟上面的localhost.zone差不多,毕竟都是zone描述文件。
lnsjb.com.zone下面除了www域还有pop域和mail域,于是它的写法如下:
注意,上面的文件我虽然写了CNAME,只是说明CNAME的用法,实际的文件里,有A就不能有CANME,有CNAME就不能有A。所以说,应该把CNAME那一行删除掉。
172.16.zone的写法如下,做到一一对应:
保存退出之后,使用#named-checkzone “域名” 域名文件 来分别检查正反解析文件的语法错误。
然后#service named restart,重启dns服务。然后可以测试,比如#dig -t A www.lnsjb.com,看一下是不是说好的172.16.0.1。或者是#dig -t A www.lnsjb.com @127.0.01,指定是使用本机来解析www.lnsjb.com。
#dig -t MX lnsjb.com @127.0.0.1,这是测试邮件交换器。
结果输出里有一个flags,flags里有一项aa,这个aa代表“权威答案”,即@后面指定的DNS服务器正好是负责你要查询的域名。如果flags没有aa,代表反馈的内容不是权威答案,是从缓存得来的,或者是访问而来的。
本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1752351