---------------------------------------

一、前言

二、环境

三、案例

四、配置

五、解析测试  

---------------------------------------


一、前言

   DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。

   DNS区域分为两大类:正向查找区域和反向查找区域,其中正向查找区域用于FQDN到IP地址的映射,当DNS客户端请求解析某个FQDN时,DNS服务器在正向查找区域中进行查找,并返回给DNS客户端对应的IP地址;反向查找区域用于IP地址到FQDN的映射,当DNS客户端请求解析某个IP地址时,DNS服务器在反向查找区域中进行查找,并返回给DNS客户端对应的FQDN。由于区域类别、区域类型的不同,在DNS服务器上创建区域时的操作也不同。

   FQDN:(Fully Qualified Domain Name)完全合格域名/全称域名,是指主机名加上全路径,全路径中列出了序列中所有域成员。全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。从全域名中包含的信息可以看出主机在域名树中的位置。DNS解析流程:首先查找本机HOSTS表,有的直接使用表中定义,没有查找网络连接中设置的DNS 服务器由他来解析。

二、环境

1.系统:RedHat6.5 32位   IP:192.168.2.100/24

2.软件包:

bind-9.8.2-0.17.rc1.el6_4.6.i686               bind主程序

bind-chroot-9.8.2-0.17.rc1.el6_4.6.i686        为了提高DNS安全,配置文件限定在一个固定目录中

bind-utils-9.8.2-0.17.rc1.el6_4.6.i686         测试相关命令

bind-libs-9.8.2-0.17.rc1.el6_4.6.i686          bind命令相关函数库

3.配置文档:                                     

/etc/named.conf                                bind主配置文档 

/etc/named.rfc1912.zones                       区域声明文件

/var/named/named.localhost                     区域样例文件

三、案例

www.abc.com     192.168.2.10  要求使用别名www1.abc.com也可以访问

ftp.abc.com     192.168.2.20

四、配置

1.打开防火墙及SELinux

# setup       //在图形界面下配置防火墙

DNS配置 (正向和反向解析)

选中“Firewall configuration”,并进入。

DNS配置 (正向和反向解析)

使用“空格键”,打开防火墙,选中“Customize”,并进入。

DNS配置 (正向和反向解析)

选中DNS并打开,然后选中Close,再选中OK,再选中yes,退出即可。

# iptables -L     //查看防火墙规则,看到以下两条规则。
ACCEPT     tcp  --  anywhere    anywhere    state NEW tcp dpt:domain 
ACCEPT     udp  --  anywhere    anywhere    state NEW udp dpt:domain 
# getenforce      //查看SELinux
Enforcing

2.配置DNS

# yum install bind bind-chroot bind-utils
# service named start                       //如果启动较慢,请稍等片刻
Generating /etc/rndc.key:                   [  OK  ]
Starting named:                             [  OK  ]
# netstat -tupln |grep named                //查看DNS的启动端口
tcp        0      0 127.0.0.1:53     0.0.0.0:*        LISTEN      2229/named          
tcp        0      0 127.0.0.1:953    0.0.0.0:*        LISTEN      2229/named          
tcp        0      0 ::1:53           :::*             LISTEN      2229/named          
tcp        0      0 ::1:953          :::*             LISTEN      2229/named          
udp        0      0 127.0.0.1:53     0.0.0.0:*                    2229/named          
udp        0      0 ::1:53           :::*                         2229/named 
# vim /etc/named.conf                      //编辑主配置文件(只需修改两处)

DNS配置 (正向和反向解析)


# vim /etc/named.rfc1912.zones               //添加区域声明文件

正向区域声明文件

zone "abc.com" IN {
        type master;
        file "abc.com.zone";
        allow-update { none; };
};

反向区域声明文件

zone "2.168.192.in-addr.arpa" IN {
        type master;
        file "abc.com.local";
        allow-update { none; };
};

编写区域文件

# cd /var/named/
# cp -p named.localhost abc.com.zone
# cp -p named.localhost abc.com.local
# vim abc.com.zone                    //编辑正向区域文件

DNS配置 (正向和反向解析)

# vim abc.com.local                   //编辑反向区域文件

DNS配置 (正向和反向解析)

# service named restart                //重启服务
Stopping named: .                      [  OK  ]
Starting named:                        [  OK  ]

五、解析测试

1.本机解析测试

# nslookup 
> server 192.168.2.100             //指定DNS服务器地址
Default server: 192.168.2.100
Address: 192.168.2.100#53
> www.abc.com                      //正向解析  
Server:		192.168.2.100
Address:	192.168.2.100#53

Name:	www.abc.com
Address: 192.168.2.10
> www1.abc.com                     //别名解析
Server:		192.168.2.100
Address:	192.168.2.100#53

www1.abc.com	canonical name = www.abc.com.
Name:	www.abc.com
Address: 192.168.2.10
> ftp.abc.com
Server:		192.168.2.100
Address:	192.168.2.100#53

Name:	ftp.abc.com
Address: 192.168.2.20
> 192.168.2.10                     //反向解析
Server:		192.168.2.100
Address:	192.168.2.100#53

10.2.168.192.in-addr.arpa	name = www.abc.com.
> 192.168.2.20
Server:		192.168.2.100
Address:	192.168.2.100#53

20.2.168.192.in-addr.arpa	name = ftp.abc.com.
> exit

2.客户机解析测试(物理机win7)

C:\Users\Administrator>nslookup
默认服务器:  UnKnown
Address:  fec0:0:0:ffff::

> server 192.168.2.100
默认服务器:  [192.168.2.1
Address:  192.168.2.100

> www.abc.com
服务器:  [192.168.2.100]
Address:  192.168.2.100

名称:    www.abc.com
Address:  192.168.2.10

> www1.abc.com
服务器:  [192.168.2.100]
Address:  192.168.2.100

名称:    www.abc.com
Address:  192.168.2.10
Aliases:  www1.abc.com

> ftp.abc.com
服务器:  [192.168.2.100]
Address:  192.168.2.100

名称:    ftp.abc.com
Address:  192.168.2.20

> 192.168.2.10
服务器:  [192.168.2.100]
Address:  192.168.2.100

名称:    www.abc.com
Address:  192.168.2.10

> 192.168.2.20
服务器:  [192.168.2.100]
Address:  192.168.2.100

名称:    ftp.abc.com
Address:  192.168.2.20

> exit