<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[[实践Ok]在CentOS6.2下安装DNS服务软件Bind并快速配置简单实例]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[系统架构与硬件]]></category>
<pubDate>Sun, 17 Jun 2012 12:04:17 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	[实践Ok]在CentOS6.2下安装DNS并快速配置实例，共八步，心路历程如下：<br/>背景介绍：<br/>在日常的开发中，往往会在测试机和外网的Http的Url实际接口是不一样的，在测试机一个Url地址，在外网中又是一个地址。<br/>这样在我们在开发时，在上线时就会去修改一下接口，在线下测试时用线下的Url接口，最后的情况是，在SVN的管理中会变得<br/>很混乱，也就是在上线上的版本和线下测试的版本在改动上来回切换，版本号不段的切换，为此，为了解决这个问题，必须引入<br/>自己建立一套内网测试系统的DNS来实现其和外网一样的环境，进而在实际开发中就不会出现因URL的接口包含的不同域名而导致<br/>了代码版本管理的版本号不段攀升。<br/><br/>实际操作：<br/>在Linux下尤其是CentOS这样的免费系统上有Yum这样的包管理工具来安DNS服务器，但是我在实践中发现其并不理想，可能是打出的Rpm包多少有些<br/>不太让人满意，我试过用直接运行：yum install bind bind-utils bind-libs bind-chroot caching-nameserver，但后来在配置DNS时出现这样那样的问题.<br/>找不到配置文件?（loading from master file 225.168.192.in-add.arpa failed: file not found）我X,什么权限问题都试了，但就是搞不定，于是否，<br/>改用源码安装，这样来得更保险此些，操控性也强很多，有人问我，你的人生由谁来操盘：我操！<br/><br/>我的上手安装和配置如下：<br/>一：开始安装DNS服务器Bind：<br/>下载 bind&nbsp;&nbsp;http://www.isc.org,解压bind-9.9.1-P1.tar.gz。<br/>tar -zxvf bind-9.9.1-P1.tar.gz<br/>进入 bind-9.9.1-P1.tar.gz文件夹<br/>cd bind-9.9.1-P1<br/>创建安装目录，我是安装在 /usr/local/named<br/>mkdir /usr/local/named<br/>编译,指定安装目录，指定man目录，开启多线程支持（测试环境也就没有必要搞多线程了，要整看帮助。）<br/>./configure --prefix=/usr/local/named<br/>Make 大约需要几分钟，只要不报错就继续下去。<br/>make<br/>Make install 安装<br/>make install<br/>没有报错，就表示安装成功了。<br/>创建以下目录以备用<br/>mkdir /usr/local/named/namedb<br/><br/>二：开始配置bind<br/>创建 rndc.conf文件，用bind自带程序生成<br/>cd /usr/local/named/<br/>sbin/rndc-confgen &gt; etc/rndc.conf&nbsp;&nbsp; //一直死在这儿了，只得强制终止。<br/>查原因，在网上搜索：linux安装dns，rndc-confgen没反应，哈，有一篇文章说到点上了，<br/>Url：http://www.nginxs.com/linux/43.html，他说是，摘录如下：<br/>在官方网站上看到这么一条信息<br/>You must use the keyboard to create entropy, since your system is lacking<br/>/dev/random (or equivalent)<br/><br/>start typing:<br/>rndc-confgen: generate key: out of entropy<br/><br/>大概意思就是服务器上没有random产生器，这种情况下我们就手动伪造一个文件代替/dev/random的功能<br/>###新建一个 random 文件随即输入一串数字“记得要长~~<br/>shell $&gt; vim random<br/>asdkfjalsjdflajsldfjlasjdflajsldfjalsjdflajslfjalsjflasjfl<br/>###查看 rndc-confgen 帮助<br/>shell $&gt; ../sbin/rndc-confgen –help<br/>rndc-confgen: invalid argument –<br/>Usage:<br/> rndc-confgen [-a] [-b bits] [-c keyfile] [-k keyname] [-p port] [-r randomfile] [-s addr] [-t chrootdir] [-u user]<br/>&nbsp;&nbsp;-a:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; generate just the key clause and write it to keyfile (/usr/local/named/etc/rndc.key)<br/>&nbsp;&nbsp;-b bits:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;from 1 through 512, default 128; total length of the secret<br/>&nbsp;&nbsp;-c keyfile:&nbsp;&nbsp; specify an alternate key file (requires -a)<br/>&nbsp;&nbsp;-k keyname:&nbsp;&nbsp; the name as it will be used&nbsp;&nbsp;in named.conf and rndc.conf<br/>&nbsp;&nbsp;-p port:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the port named will listen on and rndc will connect to<br/>&nbsp;&nbsp;-r randomfile: a file containing random data<br/>&nbsp;&nbsp;-s addr:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the address to which rndc should connect<br/>&nbsp;&nbsp;-t chrootdir: write a keyfile in chrootdir as well (requires -a)<br/>&nbsp;&nbsp;-u user:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the keyfile owner to “user” (requires -a)<br/><textarea name="code" class="html" rows="15" cols="100">
shell $&gt; ../sbin/rndc-confgen -r random &gt; rndc.key
</textarea>,上面这一句是核心，自己整个Random文件是桥梁。<br/>tail -10 rndc.key &#124; head -9 &#124; sed &#039;s/# //g&#039; &gt; named.conf<br/>把这个named.conf放在etc的文件夹子下：/usr/local/named/etc/named.conf。<br/>ok 问题解决了，接下来我们配置 我们的 域名服务器吧。<br/><br/>三：配置篇<br/>编辑named.conf<br/># vi&nbsp;&nbsp;/usr/local/named/etc/named.conf<br/>写入以下内容：我的Ip：192.168.225.128 ，注意：225.168.192.in-add.arpa是Ip的反解，刚好倒过来。<br/><textarea name="code" class="html" rows="15" cols="100">
key &quot;rndc-key&quot; &#123;
&nbsp;&nbsp;algorithm hmac-md5;
&nbsp;&nbsp;secret &quot;SnK8Ph1zCAnnykZ07qt+TQ==&quot;;
&#125;;

controls &#123;
&nbsp;&nbsp;inet 127.0.0.1 port 953
&nbsp;&nbsp;&nbsp;&nbsp;allow &#123; 127.0.0.1; &#125; keys &#123; &quot;rndc-key&quot;; &#125;;
&#125;;

options &#123;
&nbsp;&nbsp;Directory &quot;/usr/local/named&quot;;
&nbsp;&nbsp;Pid-file &quot;named.pid&quot;;
&nbsp;&nbsp;Allow-query &#123; any ;&#125;;
&nbsp;&nbsp;Dump-file &quot;/usr/local/named/data/cache_dump.db&quot;;
&nbsp;&nbsp;Statistics-file &quot;/usr/local/named/data/named_stats.txt&quot;;
&#125;;
Zone &quot;localhost&quot; in &#123;
&nbsp;&nbsp;Type master;
&nbsp;&nbsp;File &quot;localhost.zone&quot;;
&#125;;
Zone &quot;0.0.127.in-addr.arpa&quot; in &#123;
&nbsp;&nbsp;Type master;
&nbsp;&nbsp;File &quot;localhost.rev&quot;;
&#125;;

zone &quot;51test.com&quot; &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type master;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file &quot;51test.com.zone&quot;;
&#125;;zone &quot;225.168.192.in-add.arpa&quot; IN &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type master;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file &quot;225.168.192.in-add.arpa&quot;;
&#125;;

</textarea><br/><br/>退出，保存。<br/>创建并编辑 localhost.zone 文件<br/>vi&nbsp;&nbsp;/usr/local/named/localhost.zone<br/>写入以下内容：<br/><textarea name="code" class="html" rows="15" cols="100">
$TTL 3600
$ORIGIN 127.0.0.1.
@&nbsp;&nbsp;1D IN SOA localhost. root.localhost. (
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 42&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15M&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1W&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3600);
&nbsp;&nbsp; 1D IN NS&nbsp;&nbsp;127.0.0.1
&nbsp;&nbsp; 1D IN A&nbsp;&nbsp; 127.0.0.1

</textarea><br/><br/>创建并编辑 localhost.rev 文件<br/># vi /usr/local/named/localhost.rev<br/><textarea name="code" class="html" rows="15" cols="100">
$TTL 3600
@&nbsp;&nbsp;IN SOA&nbsp;&nbsp;localhost.&nbsp;&nbsp;root.localhost. (
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1; serial
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3600; refresh every hour
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;900;&nbsp;&nbsp;retry every 15 minutes
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3600000; expire 1000 hours
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3600); minimun 1 hour
&nbsp;&nbsp; IN NS localhost.
1&nbsp;&nbsp;IN PTR localhost.

</textarea><br/><br/>因前面在，51test.com这个是在其他网页上抄过来的简单示例，于是也就顺便把文件也贴上：<br/>vi&nbsp;&nbsp;/usr/local/named/51test.com.zone<br/><textarea name="code" class="html" rows="15" cols="100">
$TTL 86400
@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SOA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;www.51test.com.&nbsp;&nbsp;root.localhost (
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 ; serial
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;28800 ; refresh
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7200 ; retry
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;604800 ; expire
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;86400 ; ttl
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;www.51test.com.

www&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.225.128
admin&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;192.168.225.128

</textarea><br/><br/>再不是51test.com的反解配置文件：<br/>vi /usr/local/named/225.168.192.in-add.arpa<br/><textarea name="code" class="html" rows="15" cols="100">
$TTL&nbsp;&nbsp;&nbsp;&nbsp;86400
@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SOA&nbsp;&nbsp;&nbsp;&nbsp; 51test.com.&nbsp;&nbsp;root.51test.com.&nbsp;&nbsp;(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1997022700 ; Serial
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;28800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; Refresh
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14400&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; Retry
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3600000&nbsp;&nbsp;&nbsp;&nbsp;; Expire
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;86400 )&nbsp;&nbsp;&nbsp;&nbsp;; Minimum
@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;51test.com.
128&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PTR&nbsp;&nbsp;&nbsp;&nbsp;www.51test.com.
128&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PTR&nbsp;&nbsp;&nbsp;&nbsp;admin.51test.com.

</textarea><br/>配置注意事项：<br/>配置文件中的 &quot;@&quot; 符号前不能有任何空白字符<br/>配置文件中的 &quot;IN&quot; 字符前必须有空格或TAB<br/>到此，配置大功告成。<br/><br/>四：<br/>下载一个named.root 到/usr/local/named/下<br/>ftp://ftp.rs.internic.net/domain/named.root<br/>Ftp失效，从这儿下载：<br/>http://www.smth.edu.cn/bbsgcon.php?board=FreeBSD&amp;num=1209<br/>特别注意：bind的配置文档是区分大小写的,因现在那个FTP好像下载不了，于是我也贴下面。<br/>vi /usr/local/named/named.ca<br/><textarea name="code" class="html" rows="15" cols="100">
more named.root
; This file holds the information on root name servers needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the &quot;cache . &lt;file&gt;&quot;
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC
; under anonymous FTP as
; file /domain/named.root
; on server FTP.INTERNIC.NET
;
; last update: Nov 5, 2002
; related version of root zone: 2002110501
;
;
; formerly NS.INTERNIC.NET
;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; formerly NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
;
; formerly C.PSI.NET
;
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
;
; formerly TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
;
; formerly NS.NASA.GOV
;
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
;
; formerly NS.ISC.ORG
;
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
;
; formerly NIC.NORDU.NET
;
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
;
; operated by VeriSign, Inc.
;
. 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
;
; housed in LINX, operated by RIPE NCC
;
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
;
; operated by IANA
;
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
;
; housed in Japan, operated by WIDE
;
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
; End of File

</textarea><br/><br/>五：运行Bind程序，如下方式加载配置文件启动，加上调试信息参数：<br/><textarea name="code" class="shell" rows="15" cols="100">
 /usr/local/named/sbin/named -gc /usr/local/named/etc/named.conf
</textarea><br/>如果运行结果最后一行显示Running<br/>表明安装并启动成功。<br/><br/>最后需要注意的内容是不要忘了是否真正的开启服务器端口（以下是named.conf文件中端口的设置语句，可以看到端口号是 53：telnet x.x.x.x 53）<br/>当然也可以用：nmap localhost ，没有yum安装，这种小工具问题不大用yum来做。<br/>yum install nmap<br/>Total download size: 2.3 M<br/>Installed size: 7.5 M<br/>Is this ok [y/N]: y<br/>Downloading Packages:<br/>root@192.168.225.128:/usr/local/named# nmap localhost<br/>Starting Nmap 5.21 ( http://nmap.org ) at 2012-06-18 03:09 CST<br/>Nmap scan report for localhost (127.0.0.1)<br/>Host is up (0.000033s latency).<br/>Hostname localhost resolves to 2 IPs. Only scanned 127.0.0.1<br/>Not shown: 994 closed ports<br/>PORT&nbsp;&nbsp;&nbsp;&nbsp; STATE SERVICE<br/>22/tcp&nbsp;&nbsp; open&nbsp;&nbsp;ssh<br/>53/tcp&nbsp;&nbsp; open&nbsp;&nbsp;domain<br/>80/tcp&nbsp;&nbsp; open&nbsp;&nbsp;http<br/>111/tcp&nbsp;&nbsp;open&nbsp;&nbsp;rpcbind<br/>3306/tcp open&nbsp;&nbsp;mysql<br/>9000/tcp open&nbsp;&nbsp;cslistener<br/><br/>端口号是 53就是DNS Bind的端口。<br/><br/>六：停止及启动：<br/>root@192.168.225.128:/usr/local/named# ps aux&#124;grep name<br/>root&nbsp;&nbsp;&nbsp;&nbsp; 19024&nbsp;&nbsp;0.0&nbsp;&nbsp;1.2&nbsp;&nbsp;10624&nbsp;&nbsp;6216 pts/0&nbsp;&nbsp;&nbsp;&nbsp;T&nbsp;&nbsp;&nbsp;&nbsp;03:00&nbsp;&nbsp; 0:00 /usr/local/named/sbin/named -gc /usr/local/named/etc/named.conf<br/>root@192.168.225.128:/usr/local/named# kill -9 19024<br/>root@192.168.225.128:/usr/local/named# ps aux&#124;grep name<br/>[2]+&nbsp;&nbsp;已杀死&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/local/named/sbin/named -gc /usr/local/named/etc/named.conf<br/><br/>七：本机测试，外部机器测试是否dns生效：<br/> vi /etc/resolv.conf<br/> 加上，去掉注释其他Dns的Ip值：<br/>nameserver 192.168.225.128<br/>启动Dns后，清楚Bind服务器上的Dns缓存：<br/>root@192.168.225.128:/usr/local/named# ./sbin/rndc flush<br/><br/>root@192.168.225.128:/usr/local/named# ping www.51test.com<br/>PING www.51test.com (192.168.225.128) 56(84) bytes of data.<br/>64 bytes from 192.168.225.128: icmp_seq=1 ttl=64 time=0.025 ms<br/>64 bytes from 192.168.225.128: icmp_seq=2 ttl=64 time=0.058 ms<br/><br/>八：将服务设置为开机自启,把named 添加到启动项，随操作系统一起启动即可：<br/><textarea name="code" class="shell" rows="15" cols="100">
root@192.168.225.128:/usr/local/named# chkconfig --list named 
named&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:关闭&nbsp;&nbsp;1:关闭&nbsp;&nbsp;2:关闭&nbsp;&nbsp;3:关闭&nbsp;&nbsp;4:关闭&nbsp;&nbsp;5:关闭&nbsp;&nbsp;6:关闭
root@192.168.225.128:/usr/local/named# chkconfig --level 345 named on
root@192.168.225.128:/usr/local/named# chkconfig --list named&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
named&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:关闭&nbsp;&nbsp;1:关闭&nbsp;&nbsp;2:关闭&nbsp;&nbsp;3:启用&nbsp;&nbsp;4:启用&nbsp;&nbsp;5:启用&nbsp;&nbsp;6:关闭
</textarea><br/>但是，我们现在是源码的安装，So，得这样子喔。<br/>修改来自Apache里的启动shell（参看一下自启动的标准），也可以不用修改，直接如下也成，内容如下：<br/><textarea name="code" class="shell" rows="15" cols="100">
#!/bin/bash&nbsp;&nbsp;
#chkconfig:345 61 61&nbsp;&nbsp;
#description: dns start shell&nbsp;&nbsp;
echo &quot;Starting DNS daemon...&quot;
pkill -9 named&nbsp;&nbsp;
ulimit -SHn 51200&nbsp;&nbsp;
nohup&nbsp;&nbsp;/usr/local/named/sbin/named -gc /usr/local/named/etc/named.conf &gt; /dev/null 2&gt;&amp;1 &amp;&nbsp;&nbsp;
</textarea><br/>1）保存为/etc/init.d/dns<br/>脚本执行权限添加：<br/>2）chmod -R a+x /etc/init.d/dns&nbsp;&nbsp;//env: /etc/init.d/dns: 权限不够 ,必须给加上。<br/>3）把脚本拷贝至/etc/init.d/目录下,执行命令:<br/>ln -s /etc/init.d/dns /etc/rc.d/rc3.d/S61dns<br/>ln -s /etc/init.d/dns /etc/rc.d/rc4.d/S61dns<br/>ln -s /etc/init.d/dns /etc/rc.d/rc5.d/S61dns<br/>再执行：<br/>chkconfig --add dns&nbsp;&nbsp;//解释：相当于Windows下的自动启动服务，特别要注意：chkconfig –add dns的时候，出现dns服务不支持chkconfig。<br/>如果想让服务支持chkconfig，必须定义服务的启动级，启动优先级，关闭优先级，还有描述，如上，必须得加上描述等。<br/>chkconfig --levels dns345 on //也成<br/>开机启动设置完毕：<br/>service dns start <br/>-----------------------------------------------<br/><textarea name="code" class="shell" rows="15" cols="100">
;特别要注意：chkconfig –add dns的时候，出现dns服务不支持chkconfig。
chkconfig --add dns
service dns start
Starting DNS daemon...
ps aux&#124;grep named
root&nbsp;&nbsp;&nbsp;&nbsp; 19441&nbsp;&nbsp;0.0&nbsp;&nbsp;1.1&nbsp;&nbsp;10364&nbsp;&nbsp;5872 pts/2&nbsp;&nbsp;&nbsp;&nbsp;S&nbsp;&nbsp;&nbsp;&nbsp;04:29&nbsp;&nbsp; 0:00 /usr/local/named/sbin/named -gc /usr/local/named/etc/named.conf
</textarea><br/>下次一开机也就会运行这个脚本，以启动自己定义的Dns服务器。<br/><textarea name="code" class="html" rows="15" cols="100">
reboot
</textarea><br/>启动后，查看是否自己就启动了呢？如下：<br/><textarea name="code" class="html" rows="15" cols="100">
root@192.168.225.128:~# ps aux&#124;grep named
root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1272&nbsp;&nbsp;0.0&nbsp;&nbsp;1.1&nbsp;&nbsp;10232&nbsp;&nbsp;5680 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S&nbsp;&nbsp;&nbsp;&nbsp;05:20&nbsp;&nbsp; 0:00 /usr/local/named/sbin/named -gc /usr/local/named/etc/named.conf
root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2039&nbsp;&nbsp;0.0&nbsp;&nbsp;0.1&nbsp;&nbsp; 5956&nbsp;&nbsp; 756 pts/0&nbsp;&nbsp;&nbsp;&nbsp;S+&nbsp;&nbsp; 05:22&nbsp;&nbsp; 0:00 grep named
</textarea><br/>果然，又启动起来了，大功告成，整完收工。<br/>Dns服务器从安装到调试配置并测试完成，Eof。Write and Opt&nbsp;&nbsp;By:jackxiang 2012/06/17 20:30:00<br/><br/><br/>后来，我自己配置了一个新的域名：naimanqi.com.cn ，我的Linux机器IP是：192.168.1.105<br/>修改配置文件：<br/>1）共用如下：<br/><textarea name="code" class="php" rows="15" cols="100">
options &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Directory &quot;/usr/local/named&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pid-file &quot;named.pid&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allow-query &#123; any ;&#125;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dump-file &quot;/usr/local/named/data/cache_dump.db&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Statistics-file &quot;/usr/local/named/data/named_stats.txt&quot;;
&#125;;
2）添加如下两个正向解析和反向解析的配置文件：
</textarea><br/><textarea name="code" class="php" rows="15" cols="100">
vi&nbsp;&nbsp;/usr/local/named/etc/named.conf

zone &quot;naimanqi.com.cn&quot; &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type master;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file &quot;naimanqi.com.cn.zone&quot;;
&#125;;zone &quot;1.168.192.in-add.arpa&quot; IN &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type master;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file &quot;1.168.192.in-add.arpa&quot;;
&#125;;
</textarea><br/><br/>3）反向解析文件：<br/><textarea name="code" class="php" rows="15" cols="100">
vi /usr/local/named/1.168.192.in-add.arpa
$TTL&nbsp;&nbsp;&nbsp;&nbsp;86400
@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SOA&nbsp;&nbsp;&nbsp;&nbsp; naimanqi.com.cn.&nbsp;&nbsp;root.naimanqi.com.cn.&nbsp;&nbsp;(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1997022700 ; Serial
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;28800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; Refresh
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14400&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; Retry
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3600000&nbsp;&nbsp;&nbsp;&nbsp;; Expire
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;86400 )&nbsp;&nbsp;&nbsp;&nbsp;; Minimum
@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;naimanqi.com.cn.
128&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PTR&nbsp;&nbsp;&nbsp;&nbsp;www.naimanqi.com.cn.
128&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PTR&nbsp;&nbsp;&nbsp;&nbsp;admin.naimanqi.com.cn.
</textarea><br/>4)正向解析的文件：<br/><textarea name="code" class="php" rows="15" cols="100">
vi&nbsp;&nbsp;/usr/local/named/naimanqi.com.cn.zone

$TTL 86400
@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SOA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;naimanqi.com.cn.&nbsp;&nbsp;root.localhost (
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 ; serial
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;28800 ; refresh
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7200 ; retry
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;604800 ; expire&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;86400 ; ttl
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;naimanqi.com.com.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.1.105
www&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.1.105
admin&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;192.168.1.105
</textarea><br/>注意这一行：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.1.105<br/>这个目的是把浏览器访问：naimanqi.com.cn这个域名也给解析到IP: 192.168.1.105上来，跟在后面的www&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.1.105 这个是对www解析的，其实它是一个二级域名和admin 这种二级域名是一个意思：admin&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;192.168.1.105 。。。EOF。<br/><br/>最后，可以这样玩这个DNS，这个CentOs6.3的Linux 不是建立在这个NAT下的嘛，后修改为Bridge（桥连），这样后，反正是在一个网段内（路由器下），把自己外网的这台Windows下的机器的DNS由192.168.1.1修改为：192.168.1.105，这样既可以调试刚才配置的内部DNS进行调试，也可 以访问外网，为什么呢？是因为：<br/><textarea name="code" class="php" rows="15" cols="100">
C:&#92;Documents and Settings&#92;Administrator&gt;nslookup jackxiang.com
DNS request timed out.
&nbsp;&nbsp;&nbsp;&nbsp;timeout was 2 seconds.
*** Can&#039;t find server name for address 192.168.1.105: Timed out
*** Default servers are not available
Server:&nbsp;&nbsp;UnKnown
Address:&nbsp;&nbsp;192.168.1.105

Non-authoritative answer:
Name:&nbsp;&nbsp;&nbsp;&nbsp;jackxiang.com
Address:&nbsp;&nbsp;72.46.128.86
</textarea><br/>是因，内部DNS没有找到那个地址后，它自动转给上一级DNS去了，后得到那个外部网站的IP地址了。但修改为NAT后，好像启动Centos里的DNS后，再在Windows上修改IP为桥连后的IP好像DNS解析不了，在Linux自己修改 /etc/resolve.conf后是可以的，所以，建议用桥连方式来开发，少用NAT方式，这样可以在一个路由器下的电脑都可以配置上这个Dns来访问该网站和开发网部（samba），很是方便，而DNS设置后，如果没有这个网站在内网，它便会访问外网，这种机制也是很好的。
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践Ok]在CentOS6.2下安装DNS服务软件Bind并快速配置简单实例]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>