以前教授给我们的理念是把域名作为倒置树,从根节点开始解析,直到叶节点。 在下图中更明确。
从图中的说明可以看出,根域用“点(.)”表示。 理解这个非常重要。 因为Zone文件中会出现那个意思。
此外,添加客户端请求解决流程图可以使整个过程更清晰。
详细的请求顺序如下。
1 .标识客户端主机文件
2 .客户缓存
3 .服务器区域设置
4 .服务器缓存
5 .其他服务器
知道了概念后,我们开始了服务器的配置历史。
首先,让我们看一下安装的bind程序。
$ rpm-qbindbind-9.7.1-2.p2.fc13.i686 $ rpm-qbind-chrootbind-ch root-9.7.1-2.p2.fc13.i686是差速器
//named.conf////providedbyredhatbindpackagetoconfiguretheiscbindnamed (8) DNS//serverasachingonlynameserververved 定义forexamplenamedconfigurationfiles.//options {//全局变量listen-on port 53 { 127.0.0.0.1 } (; //ipv4侦听端口listen-on-v6port53{:1; (; //ipv6侦听端口directory'/yqdxxm/named '; zone挂载区域文件的目录dump-file '/yqdxxm/named/data/cache _ dump.db '; //cache statistics-file '/yqdxxm/named/data/named _ stats.txt '; //statisticsmemstatistics-file '/yqdxxm/named/data/named _ mem _ stats.txt '; allow-query{localhost; (; //权限列表recursionyes; dnssec-enableyes; dnssec-validationyes; dnssec-lookasideauto;/* pathtoiscdlvkey */bindkeys-file '/etc/named.isc dlv.key '; (; //'} '后也用分号键入logging { channel default _ debug } file ' data/named.run '; 安全动态; (; (; zone'.'IN{//'.'表示根区域typehint; //根区域的类型为hintfile'named.ca '; 指定zone文件,缺省情况下已生成}; include '/etc/named.RFC 1912.zones '; 请注意,最后一行还包含了本地地址映射到的conf文件。
需要修改option的内容并添加新zone :
option { listen-on port 53 } 127.0.0.1; 192.168.60.14;//要向LAN上的其他设备提供命名服务,必须侦听对本地IP的请求}; forwarders{//添加指向其他DNS服务器202.106.196.115的forwarders; (; allow-query{any; (; //开放存取. zone ' Groupon.cn ' in {//Groupon.cntype master的分析; file'named.groupon.cn '; //自定义域名到IP的前向解析配置; zon
e "60.168.192.in-addr.arpa" IN { // 本地内网为192.168.60.x type master; file "named.192.168.60"; // 自定义的IP到域名的反向解析配置 };
至此看来,named.conf的配置并不复杂,不过接下来的zone文件的配置就会改变你的看法。
熟悉默认配置/yqdxxm/named/named.localhost
现在开始建立正向解析文件: /yqdxxm/named/named.groupon.cn
$TTL 1D @ IN SOA @ root.groupon.cn. ( 2010110901 28800 14400 3600000 86400 ) IN NS @ ; 直接输入域名,访问@ IN A 221.123.177.226 ; 直接输入域名(www),解析到的外网IP store IN A 192.168.60.42 ; 输入子域名,解析到的内网IP img IN A 192.168.60.43建立反向解析文件:/yqdxxm/named/named.192.168.60
$TTL 1D @ IN SOA 60.168.192.in-addr.arpa. root.groupon.cn. ( 2010110901 28800 14400 3600000 86400 ) @ IN NS www.groupon.cn. 42 IN PTR store.groupon.cn. ; 192.168.60.42 -> store 43 IN PTR img.groupon.cn. ; 192.168.60.43 -> img
配置完毕,检查配置文件的正确性:
看来一切正常, 这时就可以启动named服务器了。
# /sbin/service named start Starting named: [ OK ]还要做的就是开通端口,并在客户端设定DNS地址为该服务器地址,强制刷新dns和测试:
> ipconfig /flushdns Windows IP Configuration Successfully flushed the DNS Resolver Cache. > nslookup *** Can't find server name for address 192.168.60.36: Non-existent domain *** Default servers are not available Default Server: UnKnown Address: 192.168.60.36 > groupon.cn Server: UnKnown Address: 192.168.60.36 Name: groupon.cn Address: 221.123.177.226 > store.groupon.cn Server: UnKnown Address: 192.168.60.36 Name: store.groupon.cn Address: 192.168.60.42 > 192.168.60.42 Server: UnKnown Address: 192.168.60.36 Name: store.groupon.cn Address: 192.168.60.42大功告成!
参考:
文件:/etc/named.rfc1912.zones
文件:/yqdxxm/named/named.loopback
$TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 PTR localhost.
文件:/yqdxxm/named/named.empty