Linux搭建DNS(1)

DNS查询方式:

  1. 递归查询:当DNS服务器接收到查询请求时,要么做出查询成功响应,要么做出查询失败的响应。递归查询一般发生在DNS客户端与DNS服务器之间
  2. 迭代查询:DNS服务器根据自己的告诉缓存或区域的数据,以最佳结果响应。如果DNS服务器无法解析,它可能返回一个指针。指针指向有下级域名的DNS服务器,继续该过程,直到找到拥有所查询名字的DNS服务器,或直到出错,超时为止。迭代查询一般发生在DNS服务器之间。

下面通过一个查询www.redhat.com的例子来了解DNS查询的基本工作原理

(1)客户端将www.redhat.com的查询提交给本地DNS服务器(递归查询)。

(2)本地DNS服务器检查区域数据库,由于此服务器没有redhat.com的授权,因此,它将查询传递到根服务器,请求解析主机名称。根名称服务器把"com"DNS服务器IP地址返回给本地DNS服务器(迭代查询)。

(3)本地DNS服务器将请求发送给“com”DNS服务器,此服务器根据请求将"redhat.com"DNS服务器IP地址返回给本地DNS服务器(迭代查询)

(4)本地DNS服务器向“redhat.com”DNS服务器发送请求,由于此服务器具有www.benet.com记录,因此它将www.redhat.com的IP地址返回给本地DNS服务器。

(5)本地DNS服务器将www.redhat.com的IP地址发送给客户端。

环境:Red hat linux 5.5

软件包

bind-libs-9.3.6-4.P1.el5_4.2

bind-utils-9.3.6-4.P1.el5_4.2

bind-chroot-9.3.6-4.P1.el5_4.2

bind-9.3.6-4.P1.el5_4.2

caching-nameserver-9.3.6-4.2.1.i386.rpm

rpm -ivh /media/Server/caching-nameserver-9.3.6-4.2.1.i386.rpm

BIND全局配置文件为named.conf。若果未使用chroot机制位于/etc/目录下,如果使用chroot机制位于/var/named/chroot/etc目录下。

vi /var/named/chroot/etc/named.conf      //手动建立,文件所数组改为named

options {                                                  //options用于指定BIND服务的参数

       listen-on port 53 { 192.168.1.1; };                 //指定BIND侦听的DNS查询请求的本机IP地址及端口,如不定义                                                      

 

      表示侦听本机所有IP地址收到的DNS查询请求

#       listen-on-v6 port 53 { ::1; };

        directory       "/var/named";              //区域数据文件的默认存放位置

        dump-file       "/var/named/data/cache_dump.db";        //当执行rndc dumpdb命令时,DNS服务器存放数据库文件的路径名

        statistics-file "/var/named/data/named_stats.txt";       //当执行rndc  stats命令时,服务器会将统计信息追加到的文件路径名。

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

        query-source port                             //指定客户端在提交DNS查询时必须使用的源端口

        allow-query     { any; };                  //指定接收DNS查询请求的客户端

        Allow-transfer  {192.168.1.2 };             //指定允许区域传输的辅助区域

       forwarders:                                  //指定转发服务器,当指定多个时,会依次尝试,知道获得查询信息为止。

};

 //主配置文件中通过zone定义当前BIND可管辖的所有区域

zone "benet.com"  IN {                      

 type master;                       

 file "benet.com.zone";

 

};

 

zone "accp.com"  IN {

        type master;

        file "accp.com.zone";

 

};

zone "0.168.192.in-addr.arpa" IN {

type master;

file "192.168.0.arpa";

allow-transfer { 192.168.1.10; };             

 

}

loging块,用于指定BIND服务的日志参数

view块,用于指定主配置文件存放路径及名称,实现不同的客户端请求,通过不同的主配置文件解析

Zone{}模块

Type  master;

在BIND中的区域会根据作用划分为以下几种类型:

master:主要区域,拥有该区域数据文件,并对此区域提供管理数据;

slave辅助区域,拥有主要区域数据文件的完整只读副本,从主要区域同步所有区域数据,同步过程被称为区域传输

Forward:转发区域,用于转发DNS客户端的递归查询。

Hint:用于查找根域名服务器

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值