【DNS】named服务的安装与配置

一、安装DNS服务器端

# yum -y install bind  bind-chroot


二、概念理解

将域名作为一棵倒挂的树,从根节点开始解析,直至叶子节点。

通过下图更明确一下:

从图的描述可以得知, 根域是以“点(.)”表示。

明了这一点非常重要,因为它的意义会在Zone文件中得到体现。

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


详细的请求的顺序为:

客户端host文件标识

客户缓存

服务器区域设定

服务器缓存

其它服务器


三、修改配置文件

默认配置/etc/named.conf

# vim  /etc/named.conf

##############################

//

// named.conf

//

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

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

//

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

//

options {  // 定义全局变量

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

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

directory       "/var/named";  // 指定装载zone区域文件的目录

        dump-file       "/var/named/data/cache_dump.db";          // cache

        statistics-file "/var/named/data/named_stats.txt";          // statistics

        memstatistics-file "/var/named/data/named_mem_stats.txt";

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

        recursion yes;

        dnssec-enable yes;

        dnssec-validation yes;

        dnssec-lookaside auto;

        /* Path to ISC DLV key */

        bindkeys-file "/etc/named.iscdlv.key";

};   // "}"后也得分号结束

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};

zone "." IN { // "."代表根区域

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

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

};

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

############################################ 

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

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

#############################

option {

        listen-on port 53 { 

               127.0.0.1;

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

        };

        ...

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

202.106.196.115;

        };

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

        ...

};

zone "groupon.cn" IN {                          // 解析groupon.cn

        type master;

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

};

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

        type master;

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

};

##########################################

named.conf的配置并不复杂,接下来我们来看zone文件:

$TTL 1D

@       IN SOA@ rname.invalid. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

NS  @

        A       127.0.0.1

        AAAA    ::1

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

[zone] IN SOA [主机名] [管理员email] (

 [五组更新时间参数]

)

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

 @代表根域

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

NS        @ 直接输入域名,访问@

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

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


# cp  -p/var/named/named.localhost/var/named/named.groupon.cn

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

# vim  /var/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              // 输入子域名,解析到的内网IP

#####################################

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

# cp  -p  /var/named/named.localhost    /var/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

########################################## 

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

# /usr/sbin/named-checkconf  -z

zone localhost/IN: loaded serial 0

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

zone groupon.cn/IN: loaded serial 2010110901

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

# systemctl start named.service


四、测试解析验证

在服务端开通端口:

# iptables -A INPUT -p udp --dport 53 -j ACCEPT

# iptables -A INPUT -p tcp --dport 53 -j ACCEPT


在客户端设定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


五、参考

http://leitelyaya.iteye.com/blog/808266

https://blog.csdn.net/weiyongle1996/article/details/73302458

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,980评论 0 7
  • 一、BIND是什么 BIND是互联网应用最为广泛的DNS软件。 二、BIND的安装与使用 以下内容转自 http:...
    0_0啊阅读 3,169评论 0 0
  • 一、实现从根,com,rj.com 模拟互联网的DNS架构 DNS(Domain Name System,域名系统...
    ssjinyao阅读 1,533评论 0 7
  • DNS简介DNS解析关键概念BIND 一、DNS简介: (一)DNS服务 DNS:Domain Name Serv...
    哈喽别样阅读 1,817评论 0 2
  • 精简物品:留下常用可持久用的,可用于多种场合和容易百搭的,丢掉其余的。 精简人际关系:和能够双赢关系的人相处。 精...
    ya20阅读 159评论 0 0