作者更多RHEL6.5资料请点击这里互相交流参考

点击这里查看我的sina博客同时关注一下,此处为完整版


<由于字数太多此处只黏贴了一部分,详细请下载附件pdf文件>

本节内容介绍


一、DNS简介

查看named端口号监听状态

二、DNS解析的方式

DNS解析的方式分为4种

三、bind安装

四、配置文件详细解析

1、主配置文件

语句解析:

2、域数据文件

常见的记录类型和描述

正向解析区域文件

反向解析区域文件

五、案例分析:

1、部署主域名服务器

经典案例背景

(1)、安装软件

(2)、修改配置文件named.conf

(3)、创建区域数据文件

(4)、网络配置禁用防火墙selinux

(5)、测试验证主服务器是否正常

2、部署从域名服务器

(1)、安装软件

(2)、修改配置文件

(3)、测试验证

3、view视图+主从+密钥认证案例分析

案例背景

(1)、配置主服务器

(2)、修改配置文件named.conf

(3)、创建区域文件

(4)、测试验证

(5)、配置从服务器

(6)、修改从服务器上的配置文件

(7)、验证测试

(8)、最后来一个主从密钥认证



一、DNS简介

名称解析的方法在计算机系统中分为三种:host表、网络信息服务系统(NIS)以及域名服务系统DNS(Domain Name System),DNS是一种主机名和IP地址转换的机制,由三部分组成分别是域名空间、DNS服务器和解析器,它是分布式的数据库,网络服务和计算命名系统,域名被解析成IP地址,通过复制技术与缓存技术拥有良好的性能。DNS软件最知名的就是bind,能够实现DNS协议的各种功能,bind英文名为Berkeley Internet Name Domain,端口号为53和953端口

查看named端口号监听状态

  1. [root@PAN-Server ~]# netstat -antup | grep named

  2. tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      14298/named        

  3. tcp        0      0 127.0.0.1:953               0.0.0.0:*                   LISTEN      14298/named        

  4. tcp        0      0 ::1:53                      :::*                        LISTEN      14298/named        

  5. tcp        0      0 ::1:953                     :::*                        LISTEN      14298/named        

  6. udp        0      0 127.0.0.1:53                0.0.0.0:*                               14298/named        

  7. udp        0      0 ::1:53                      :::*                                    14298/named        

  8. [root@PAN-Server ~]#

二、DNS解析的方式

DNS解析的方式分为4种

本地解析:利用以前客户端查询的缓存进行解析
直接解析:使用DNS资源记录缓存或者其管辖区内的权威回答
递归解析:DNS服务器代表客户端向其他服务器查询,直到完全解析后给客户端
迭代解析:DNS服务器向客户端解析该域名的其他服务器(DNS),客户端在继续向这个服务器查询

三、bind 安装

  1. [root@PAN-Server ~]# rpm -qa | grep bind

  2. bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64

  3. PackageKit-device-rebind-0.5.8-21.el6.x86_64

  4. ypbind-1.20.4-30.el6.x86_64

  5. rpcbind-0.2.0-11.el6.x86_64

  6. samba-winbind-clients-3.6.9-164.el6.x86_64

  7. bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64

  8. samba-winbind-3.6.9-164.el6.x86_64

[root@PAN-Server ~]# yum install -y bind bind-chroot#yum 安装

解析:bind-chroot 软件包的主要功能是使BIND软件运行在chroot模式下,这样的话,BIND运行在相对路径的根目录下而不是真正的根目录路径,这是为了提高系统的安全性,即使对BIND攻击破坏也不会影响操作系统虚拟根路径为/var/named/chroot目录,如此一来/etc/name.conf 文件的绝对路径就为/var/named/chroot/etc/named.conf ,chroot的功能要开启named服务之后才能生效

1. [root@PAN-Server ~]#service named start

2. Generating /etc/rndc.key:                                  [  OK  ]

3. Starting named:                                            [  OK  ]

1. [root@PAN-Server ~]# mount |grep named  #挂载路径如下所示

2. /etc/named on /var/named/chroot/etc/namedtype none (rw,bind)

3. /var/named on /var/named/chroot/var/namedtype none (rw,bind)

4. /etc/named.conf on /var/named/chroot/etc/named.conftype none (rw,bind)

5. /etc/named.rfc1912.zones on/var/named/chroot/etc/named.rfc1912.zones type none (rw,bind)

6. /etc/rndc.key on /var/named/chroot/etc/rndc.keytype none (rw,bind)

7. /usr/lib64/bind on /var/named/chroot/usr/lib64/bindtype none (rw,bind)

8. /etc/named.iscdlv.key on /var/named/chroot/etc/named.iscdlv.keytype none (rw,bind)

9. /etc/named.root.key on /var/named/chroot/etc/named.root.keytype none (rw,bind)

10.[root@PAN-Server ~]#

四、配置文件详细解析

1、主配置文件

named.conf配置文件由配置语句和注释组成,每条配置语句都会以作为结束符号,多个语句组成一个语句块注释可以为// //注释 
下面介绍一下namad.conf 所支持的所有语句 
Options
定义全局选项 
Logging
定义日志信息 
Acl
定义主机匹配列表用于访问控制 
Controls
定义rndc工具与远程bind服务通信 
Include
把其他文件的内容调入(可以做加密) 
Key
定义加密密钥 
Lwres
配置为轻量级解析器 
Statistics-channels
定义与bind的统计信息的通信通道 
Server
定义服务器属性 
Trusted-keys
定义信任的DNSSEC密钥 
Masters
定义主域名列表 
View
定义视图 
Zone
定义区域

语句解析:

1)、options 全局配置 
格式:

1. options {

2.         listen-on port 53 { 127.0.0.1; }; //监听端口号和IP地址 IPV4地址

3.         listen-on-v6 port 53 { ::1; }; //监听IPV6地址和端口号

4.         pid-file    “name.pid”; //进程文件

5.         directory       "/var/named"; #工作目录写绝对路径

6.         allow-query     { localhost; }; #允许为哪些客户机提供DNS服务,这里可以写定义的acl

7.         blackhole           { shudaipiaoling;}拒绝哪些主机查询请求

8.         dump-file           运行rndcdumpdb 备份缓存资料后保存的文件路径与名称

9.         statistics-file     运行rndcstats后,统计信息的保存路径与名称

10.        allow-query-cache   指定哪些主机通过服务器查询非权威解析数据,如递归查询数据

11.        recursion yes; //支持递归查询

12.        forwarders         //设定转发使用的IP ,所有对本服务器的查询转发给该IP

13.        max-cache-size      //设置缓存文件的最大容量

14.};

2)、acl语句(定义一个可以访问的IP或者IP集合) 
格式:

1. acl “shudaipiaoling” {  //定义一个名为“shudaipiaoling”的acl语句

2.     192.168.15.10;

3.     192.168.20.10;

4.     Localhost;  //包括本地网络接口IP 和127.0.0.1

5. }

6. acl “shudaipiaoling2” { //可以定义多个acl语句

7.     “shudaipiaoling”;// 把上面那个语句加进来

8.     !192.168.100.1/24; //排除子网

9. }

10.其中内定的关键字有

11.“any” // 表示任何主机

12.“none” //没有主机

13.“localhost” //本地网络接口IP

14.“localnets” //本地子网IP

3)、controls (定义本地域名服务器操作的控制通道,被rndc用来发送控制命令)

语法格式:

1. Controls{

2.     inet 192.168.15.254 port 953   //在192.168.15.254接口的953端口监听

3.     allow { 192.168.15.254;  } ;//只接受192.168.15.254的连接 ,只能此IP使用rndc才能对named控制

4.     key { “rndckey”;  }; //使用密钥rndckey才能访问

5. }

4)、key语句

格式:

1. Key “rndckey” { //定义一个密钥名称为rndckey

2.     algorithm hamc-md5; //算法为hmac-md5

3.     secret “ ***************************”;//密钥数据***************

4. }

5)、view语句(一台主机上运行多个形式上独立的DNS服务器有用)

格式

1. view "localhost_resolver"{

2.  

3.         match-clients           { localhost; };

4.         recursion yes;

5.  

6.         # all views must contain the root hintszone:

7.         zone "." IN {

8.                 type hint;

9.                 file "/var/named/named.ca";

10.        };

11. 

12. 

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

14.};

6zone语句

格式:

1. zone "localhost"IN {

2.         type master; //设定域类型包括以下几种类型

3.                         hint:当本地找不到解析可以查询根域名服务器

4.                         master:定义权威域名服务器

5.                         slave:定义辅助域名服务器

6.                         forward:定义转发域名服务器

7.         file "named.localhost"; //定义域数据文件,文件保存在directory所定义的目录下

8.         allow-update { none; };允许哪些主机动态更新域数据信息

9.         allow-transfer { localhost; };     哪些从服务器可以从主服务器下载数据

2、域数据文件

域数据文件默认存储在/var/named目录下由主配置文件中的Directory制定目录,zone语句中的file定义域数据文件的名称,域数据文件分为正向解析文件(域名到IP的解析)和反向解析文件(IP到域名的解析)。反向解析域时,需要将网络地址段反过来写,并以固定的.in-addr.arpa格式结尾

常见的记录类型和描述

SOA记录域权威记录说明此服务器为管理服务器 
NS
记录域名服务器记录 
MX
记录邮件记录,指定域内的邮件服务器需要指定优先级 
A
记录正向解析记录 
CNAME
记录别名记录添加别名 
PTR
记录反向解析记录

正向解析区域文件

1. $TTL 1D

2. @       IN SOA root.example.com. shudaipiaoling.163.com (

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

解析:

1. @代表zone所定义的域名称这里是SOA的域名

2. TTL值为其他域名服务器将数据放在缓存中的时间

3. IN 定义网络的地址类型,对于TCP/IP而言设置为IN(INERNET)

4. root.example.com.代表了主域名服务器的主机名以.结束

5. shudaipiaoling.163.com 代表了DNS邮件管理员的地址,用.代替@

6. serial:定义这个区域文件的版本号,为整数,每次更改加1,这样的话bind可以确定这个文件的更改时间

7. refresh:从服务器检查主服务器应等待的时间默认秒为单位

8. retry:重新尝试应等待的时间,发生在主服务器不能使用时

9. expire:主从无法通信,区域信息保存时间

10.minimum:上面第一行$TTL值没有设置时,默认最小值为3小时

11.***注意:如果数据文件中记录没有以“.”结尾,那么系统将自动加上域名城,如果某条记录名称为空或者制表符,那么BIND也会直接使用上一条记录的名称***

反向解析区域文件

1. 这里不再赘述了,跟正向解析区域文件类似,只是A记录变成了PTR记录,把IP地址解析成域名