DNS系统的作用

正向解析:根据主机名称(域名)查找对应的IP地址

反向解析:根据IP地址查找对应的主机域名

  DNS是域名系统(Domain Name System)的缩写,是一种组织域层次结构的计算机和网络服务命名系统。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与此名称相关的IP 地址信息。
用户在使用网络服务时喜欢在浏览器的地址栏中输入使用主机名和域名组成的名称,如computer.bookshop.com,因为,这样的名 称更容易被用户记住。但是,计算机在网络上是使用IP地址来通信的。为了能够实现网络计算机之间通信,DNS服务器所提供的服务就是将用户所使用的计算机 或服务名称映射为IP地址。

 


DNS服务的工作过程
 
递归查询
 大多数客户机向DNS服务器解析域名的方式
 
迭代查询
 大多数DNS服务器向其他DNS服务器解析域名的方式

 
 
当 DNS 客户机需要查询程序中使用的名称时,它会查询 DNS 服务器来解析该名称。客户机发送的每条查询消息都包括3条信息,以指定服务器应回答的问题。
● 指定的 DNS 域名,表示为完全合格的域名 (FQDN) 。
● 指定的查询类型,它可根据类型指定资源记录,或作为查询操作的专门类型。
● DNS域名的指定类别。
对于DNS 服务器,它始终应指定为 Internet 类别。例如,指定的名称可以是计算机的完全合格的域名,如hosta.hello.company.com,并且指定的查询类型用于通过该名称搜索地址资 源记录。系统将把DNS 查询当作客户机向服务器提出的两部分问题,如“对于名为 hostname.hello.company.com 的计算机,你有没有地址资源记录?”当客户机从服务器接收应答时,它读取并解释应答的地址资源记录,以了解它通过名称提问的计算机的 IP 地址。
DNS 查询以各种不同的方式进行解析。客户机有时也可通过使用从以前查询获得的缓存信息就地应答查询。DNS 服务器可使用其自身的资源记录信息缓存来应答查询,也可代表请求客户机来查询或联系其他 DNS 服务器,以完全解析该名称,并随后将应答返回至客户机。这个过程称为递归。
另外,客户机自己也可尝试联系其他的 DNS 服务器来解析名称。如果客户机这么做,它会使用基于服务器应答的独立和附加的查询,该过程称作迭代。
 
 
 
 
 
BIND(Berkeley Internet Name Daemon)的解释: 伯克利Internet域名服务
 官方站点:https://www.isc.org/

BIND服务器端程序
主要执行程序:/usr/sbin/named
 
服务脚本:/etc/init.d/named
 
默认监听端口:53
 
一 . 安装包
 
1.rpm  -ivh  bind-9.3.3-7.el5.i386.rpm
 
2.rpm -ivh  bind-chroot-9.3.3-7.el5.i386.rpm
 
3.rpm -ivh  caching-nameserver-9.3.3-7.el5.i386.rpm
 
二.主配置文件
 
主配置文件:/var/named/chroot/etc/named.conf
1.cd  /var/named/chroot/etc/
2.cp -p named.caching-nameserver.conf    named.conf
3.vim named.conf    需修改的地方
options {

 15         listen-on port 53 { any; };

 27         allow-query     {any; };

 28         allow-query-cache { any; };

 37         match-clients      { any; };

 38         match-destinations { any; };

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

 41 };

named-checkconf工具
格式:named-checkconf [主配置文件]
[root@localhost etc]# named-checkconf /var/named/chroot/etc/named.conf 
5.rndc reload
 
 三.区域声明
1.vim  named.rfc1912.zones  2.编写辅助区域

 21 zone "liuwei.com" IN {                   

    21 zone "weiliu.com" IN {

 22         type master;  //  表示根区域       22         type slave;

 23         file "liuwei.com.db";                

    23        masters  { 192.168.101.200; }; 

 24         allow-update { none; };               24         file "weiliu.com.db";//设置该区域对应的数据文件

 25 };                                                       25 };

 

四.产生数据库文件

 

保存DNS解析记录的数据文件位于: /var/named/chroot/var/named

1.cd /var/named/chroot/var/named/

2.cp -p localhost.zone  liuwei.com.db

3.vim liuwei.com.db   需修改的地方

 

 1 $TTL    86400

  2 @               IN SOA  ns.liuwei.com.       root (

  3                                         44              ; serial (d. adams)//

更新序列号
  4                                         3H              ; refresh             //刷新时间

  5                                         15M             ; retry               //

重试延时    6                                         1W              ; expiry             // 失效时间
 7                                         1D )            ; minimum        //无效地址解析记录的默认缓存时间
 8 

  9 @               IN NS           ns.liuwei.com.

 10 ns              IN A            192.168.101.200

 13 www             IN A            1.1.1.1

 14 mail            IN A            4.4.4.4

 15 pop3            IN CNAME        mail

 16 smtp            IN CNAME        mail

 17 @               IN MX 10        mail

 18 sh.liuwei.com   IN NS           ns.sh.liuwei.com

 19 ns.sh.liuwei.com IN A           192.168.101.112

named-checkzone工具

格式:named-checkzone <域名> <区域数据文件>
root@localhost ~]# cd /var/named/chroot/var/named/
[root@localhost named]# named-checkzone liuwei.com 
5.rndc reload
五.测试方法
使用方法
1.nslookup    名称 或者地址
nslookup
 set q=ns   
     q=any
     q=mx
2.dig -t  类型  名称 或者 区域
3.host  
 
 配置实例1

一.主域名服务器的配置如上述

二.子域名服务器的配置如下

 

1.vim  named.rfc1912.zones  

 21 zone "bj.liuwei.com" IN {                   

    

 22         type master;  //  表示根区域      

 23         file "bj.liuwei.com.db";                

    

 24         allow-update { none; };             

 25 };                                        

 

2..vim bj.liuwei.com.db

 

 1 $TTL    86400

  2 @               IN SOA  ns.bj.liuwei.com.       root (

  3                                         44              ; serial (d. adams)

  4                                         3H              ; refresh             

  5                                         15M             ; retry               6                                         1W              ; expiry           

 7                                         1D )            ; minimum      
 8 

  9 @               IN NS           ns.bj.liuwei.com.

 10 ns              IN A            192.168.101.111

 13 www             IN A            2.2.2.2

 

三,windows的 Dns的配置略

四.测试

 

 

 

配置实例2:构建分离解析的域名服务器

 

1.来自不同地址的客户机请求解析同一域名时,为其提供不同的解析结果

 

需求描述

公司对外(Internet)的域名解析记录:

 www.liuwei.com 192.168.2.100(网关的公网接口地址)

 ftp.liuwei.com  192.168.2.100 (网关的公网接口地址)

公司对内(局域网)的域名解析记录:

 www.liuwei.com  192.168.101.100 (网站服务器私有地址)

ftp.liuwei.com  192.168.101.100 (网站服务器私有地址)

 

 

 

 

 

在linux1中

一。修改主配置文件

1.cd /var/named/chroot/etc/

2.vim named.conf

view  neiwang  {

        match-clients      {  192.168.101.0/24; };

        zone "liuwei.com" IN {

        type master;

        file "liuwei.com.db";

      };

        recursion yes;

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

};

view  waiwang {

        match-clients      { any; };

         zone "liuwei.com" IN {

         type  master;

        file "liuwei.com.db1";

        }; 

        recursion yes;

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

};

3.rndc reload

二。 产生数据库文件

1.cd /var/named/chroot/var/named/

2.vim liuwei.com.db

3.vim liuwei.com.db1

$TTL    86400

@               IN SOA  ns.liuwei.com.       root (

                                        43              ; serial (d. adams)

                                        3H              ; refresh

                                        15M             ; retry

                                        1W              ; expiry

                                        1D )            ; minimum

 

@               IN NS           ns.liuwei.com.

ns              IN A            192.168.101.200

www             IN A            192.168.2.100

ftp             IN A            192.168.2.100

 

在linux2中

1.vim /etc/sysctl.conf

# Controls IP packet forwarding

  net.ipv4.ip_forward = 1

3.sysctl -p

4.iptables -t nat -A PREROUTING  -d 192.168.2.100 -p udp --dport 53  -j DNAT --to 192.168.101.100

 在PC中

1.ipconfig /flushdns

 

三。测试

 

 2.dns服务器上采用智能解析技术,使不同的用户分别访问不同的代理服务器

 

一 安装包

 

1.rpm  -ivh  bind-9.3.3-7.el5.i386.rpm

 

2.rpm -ivh  bind-chroot-9.3.3-7.el5.i386.rpm

 

3.rpm -ivh  caching-nameserver-9.3.3-7.el5.i386.rpm

 

.主配置文件

 

主配置文件:/var/named/chroot/etc/named.conf

1.cd  /var/named/chroot/etc/

2.cp -p named.caching-nameserver.conf    named.conf

3.vim named.conf    需修改的地方

options {

 15         listen-on port 53 { any; };

 27         allow-query     {any; };

 28         allow-query-cache { any; };

 

 

 

三..产生数据库文件

 

保存DNS解析记录的数据文件位于: /var/named/chroot/var/named

1.cd /var/named/chroot/var/named/

2.cp -p localhost.zone  liuwei.com.db

3.vim liuwei.com.db   需修改的地方

 

 

vim  liuwei.com.db1

 

 

测试