×

Named服务配置

hqy hqy 发表于2019-01-18 11:38:09 浏览2299 评论0

抢沙发发表评论

Named服务配置

搜索Linux DNS,映入眼帘的是鸟哥的文章:linux.vbird.org/linux_server/0350dns.php" target="_blank" style="padding: 0px; margin: 0px; text-decoration: none; color: rgb(94, 170, 228);">http://linux.vbird.org/linux_server/0350dns.php
这篇长达11节的文章,看到Zone文件时就开始晕菜了。
继续寻找下一篇文章,来自于安全中国的:http://www.anqn.com/os/linux/2010-03-30/a09125458.shtml
在战胜了瞌睡虫的同时,DNS服务器终于跑上来了。
http://leitelyaya.iteye.com/blog/808266


以前教授给我的理念就是将域名作为一棵倒挂的树,从根节点开始解析,直至叶子节点。通过下图更明确一下:

从图的描述可以得知, 根域是以“点(.)”表示。明了这一点非常重要,因为它的意义会在Zone文件中得到体现。

再加上客户端的请求解析流程图,会让整个流程更加清晰明了:

详细的请求的顺序为:

  1. 客户端Host文件标识

  2. 客户缓存

  3. 服务器区域设定

  4. 服务器缓存

  5. 其它服务器

理念明白后,就开始服务器的配置历程了。
首先,看看已经安装好的bind程序。

Sh代码  收藏代码
  1. $ rpm -q bind

  2. bind-9.7.1-2.P2.fc13.i686

  3. $ rpm -q bind-chroot

  4. bind-chroot-9.7.1-2.P2.fc13.i686

熟悉默认配置/etc/named.conf

Conf代码  收藏代码
  1. //

  2. // named.conf

  3. //

  4. // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS

  5. // server as a caching only nameserver (as a localhost DNS resolver only).

  6. //

  7. // See /usr/share/doc/bind*/sample/ for example named configuration files.

  8. //


  9. options {  // 定义全局变量

  10.         listen-on port 53 { 127.0.0.1; }; // ipv4 监听端口

  11.         listen-on-v6 port 53 { ::1; };    // ipv6 监听端口

  12.         directory       “/var/named”;     // 制定装载zone区域文件的目录

  13.         dump-file       “/var/named/data/cache_dump.db”;    // cache

  14.         statistics-file “/var/named/data/named_stats.txt”;  // statistics

  15.         memstatistics-file “/var/named/data/named_mem_stats.txt”;

  16.         allow-query     { localhost; };   // 允许访问列表

  17.         recursion yes;


  18.         dnssec-enable yes;

  19.         dnssec-validation yes;

  20.         dnssec-lookaside auto;


  21.         /* Path to ISC DLV key */

  22.         bindkeys-file “/etc/named.iscdlv.key”;

  23. }; // “}”后也得分号结束


  24. logging {

  25.         channel default_debug {

  26.                 file “data/named.run”;

  27.                 severity dynamic;

  28.         };

  29. };


  30. zone “.” IN {            // “.”代表根区域

  31.         type hint;       // 根区域的类型就为hint

  32.         file “named.ca”; // 指定zone文件,默认已经生成

  33. };


  34. include “/etc/named.rfc1912.zones”;

注意,在最后一行还include一个conf文件,将本地地址都进行了映射。

我们需要修改option的内容,并且添加新的zone:

Zone代码  收藏代码
  1. option {

  2.         listen-on port 53 {

  3.                127.0.0.1;

  4.                192.168.60.14; // 为局域网其它机器提供Named服务,必须监听向本机IP发出的请求

  5.         };

  6.         …

  7.         forwarders {          // 添加forwarders,指向其它DNS服务器

  8.                202.106.196.115;

  9.         };

  10.         allow-query{ any; };  // 开放访问权限

  11.         …

  12. };


  13. zone “groupon.cn” IN {               // 解析groupon.cn

  14.         type master;

  15.         file “named.groupon.cn”;     // 自定义的域名到IP的正向解析配置

  16. };


  17. zone “60.168.192.in-addr.arpa” IN {  // 本地内网为192.168.60.x

  18.         type master;

  19.         file “named.192.168.60″;     // 自定义的IP到域名的反向解析配置

  20. };

至此看来,named.conf的配置并不复杂,不过接下来的zone文件的配置就会改变你的看法。
熟悉默认配置/var/named/named.localhost

Zone代码  收藏代码
  1. ; 注意,zone文件的注释是以分号”;”开始的。


  2. $TTL 1D     ; 生存期, 默认单位为秒,另可设定为[W|D|H|M]


  3. ; [zone] IN SOA [主机名] [管理员email] ([五组更新时间参数])

  4. ; @=>zone IN SOA @=>主机名 rname.invalid.=>email

  5. ; @代表根域

  6. ; rname.invalid.解析为rname@invalid,第一个”.”为”@”的替代,尾部的”.”为根域,表明其为绝对URL。

  7. @       IN SOA  @ rname.invalid. (

  8.                                         0       ; serial

  9.                                         1D      ; refresh

  10.                                         1H      ; retry

  11.                                         1W      ; expire

  12.                                         3H )    ; minimum

  13.         NS      @          ; 直接输入域名,访问@

  14.         A       127.0.0.1  ; 直接输入域名,解析到的IPV4的IP

  15.         AAAA    ::1        ; 直接输入域名,解析到的IPV6的IP

现在开始建立正向解析文件: /var/named/named.groupon.cn

Zone代码  收藏代码
  1. $TTL 1D

  2. @ IN SOA @ root.groupon.cn. (

  3.         2010110901

  4.         28800

  5.         14400

  6.         3600000

  7.         86400

  8. )


  9.         IN NS @               ; 直接输入域名,访问@

  10.         IN A 221.123.177.226  ; 直接输入域名(www),解析到的外网IP

  11. store   IN A 192.168.60.42    ; 输入子域名,解析到的内网IP

  12. img     IN A 192.168.60.43

建立反向解析文件:/var/named/named.192.168.60

Zone代码  收藏代码
  1. $TTL 1D

  2. @ IN SOA 60.168.192.in-addr.arpa. root.groupon.cn. (

  3.         2010110901

  4.         28800

  5.         14400

  6.         3600000

  7.         86400

  8. )


  9. @ IN NS www.groupon.cn.

  10. 42 IN PTR store.groupon.cn.  ; 192.168.60.42 -> store

  11. 43 IN PTR img.groupon.cn.    ; 192.168.60.43 -> img

配置完毕,检查配置文件的正确性:

Sh代码  收藏代码
  1. # /usr/sbin/named-checkconf -z

  2. zone localhost/IN: loaded serial 0

  3. zone 60.168.192.in-addr.arpa/IN: loaded serial 2010110901

  4. zone groupon.cn/IN: loaded serial 2010110901

看来一切正常, 这时就可以启动named服务器了。

Sh代码  收藏代码
  1. # /sbin/service named start

  2. Starting named:                                            [  OK  ]

还要做的就是开通端口,并在客户端设定DNS地址为该服务器地址,强制刷新dns和测试:

Cmd代码  收藏代码
  1. > ipconfig /flushdns


  2. Windows IP Configuration


  3. Successfully flushed the DNS Resolver Cache.


  4. > nslookup

  5. *** Can’t find server name for address 192.168.60.36: Non-existent domain

  6. *** Default servers are not available

  7. Default Server:  UnKnown

  8. Address:  192.168.60.36


  9. > groupon.cn

  10. Server:  UnKnown

  11. Address:  192.168.60.36


  12. Name:    groupon.cn

  13. Address:  221.123.177.226


  14. > store.groupon.cn

  15. Server:  UnKnown

  16. Address:  192.168.60.36


  17. Name:    store.groupon.cn

  18. Address:  192.168.60.42


  19. > 192.168.60.42

  20. Server:  UnKnown

  21. Address:  192.168.60.36


  22. Name:    store.groupon.cn

  23. Address:  192.168.60.42

大功告成!

参考:
文件:/etc/named.rfc1912.zones

Conf代码  收藏代码
  1. // named.rfc1912.zones:

  2. //

  3. // Provided by Red Hat caching-nameserver package

  4. //

  5. // ISC BIND named zone configuration for zones recommended by

  6. // RFC 1912 section 4.1 : localhost TLDs and address zones

  7. // and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt

  8. // (c)2007 R W Franks

  9. //

  10. // See /usr/share/doc/bind*/sample/ for example named configuration files.

  11. //


  12. zone “localhost.localdomain” IN {

  13.     type master;

  14.     file “named.localhost”;

  15.     allow-update { none; };

  16. };


  17. zone “localhost” IN {

  18.     type master;

  19.     file “named.localhost”;

  20.     allow-update { none; };

  21. };


  22. zone “1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa” IN {

  23.     type master;

  24.     file “named.loopback”;

  25.     allow-update { none; };

  26. };


  27. zone “1.0.0.127.in-addr.arpa” IN {

  28.     type master;

  29.     file “named.loopback”;

  30.     allow-update { none; };

  31. };


  32. zone “0.in-addr.arpa” IN {

  33.     type master;

  34.     file “named.empty”;

  35.     allow-update { none; };

  36. };

文件:/var/named/named.loopback

Zone代码  收藏代码
  1. $TTL 1D

  2. @   IN SOA  @ rname.invalid. (

  3.                     0   ; serial

  4.                     1D  ; refresh

  5.                     1H  ; retry

  6.                     1W  ; expire

  7.                     3H )    ; minimum

  8.     NS  @

  9.     A   127.0.0.1

  10.     AAAA    ::1

  11.     PTR localhost.

文件:/var/named/named.empty

Zone代码  收藏代码
  1. $TTL 3H

  2. @   IN SOA  @ rname.invalid. (

  3.                     0   ; serial

  4.                     1D  ; refresh

  5.                     1H  ; retry

  6.                     1W  ; expire

  7.                     3H )    ; minimum

  8.     NS  @

  9.     A   127.0.0.1

  10.     AAAA    ::1

  • 大小: 14.2 KB


打赏

本文链接:https://www.kinber.cn/post/61.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客