免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1848 | 回复: 0
打印 上一主题 下一主题

主从DNS Viwe [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-06-23 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-17 19:51 |只看该作者 |倒序浏览

       
       
       
       
       
       
     带主从设置的DNS
View
的实现

  Bind的简介

  
DNS系统是个多级别的、分布的数据库系统。它保存互连网主机名和IP址的对应关系,也保存IP地址和主机名的对应关系,邮件路由信息,和其一些互连网程式用到的信息。
DNS中客户程序查找的信息叫解析库(
resolver
library),
他发送
一个查询到一个或多个服务器并等待回应,BIND
9包含了域名服务和解析库。
DNS中的数据是按树型结构存储的,或者说是按树型管理的。树的每个节
点,称为一个域,由一个库文件标示。表示节点的域名相互串联直到根域
(root
node)。他从右到左写成字符串,中间用“点”(.)分隔。一个域名
只需要在他的父域中名字唯一就可以了。
例如在Uplooking公司中
一个主机的名字是mail.uplooking.com,这
里com
是最高级的域名,mail.uplooking.com
属于这个域,uplooking
是com的的子域,
mail 是主机的名字。
为了管理方便,名址空间被分隔成一些区,这些区叫做区域(zones)。
每一个从一个节点开始,并且延伸至一个叶子节点,或延伸到另一个区域的开
始。每一个区域的数据都存在DNS中,他通过DNS协议应答本区域的DNS查
询。相关的域名数据存储在资源记录中(resource
records (RRs)
)。
正确的操作域名服务器,很重要的一点是理解区域(zone)和域domain)的区别。区域(
zone)是DNS树中一个节点的代表。一个区域(zone)包含个
域树(domain
tree)相邻近的部分,对他来说,一个域名服务器拥有他完
整的信息,并拥有管理权。他包含从某一节点以下任何的域名,除了那些连接
到其他区的部分(那些部分可能由其他更低级的服务器管理)。一个节点会被
带主从复制的DNS
view
实现
一个或多个父区域的NS
记录(NS
records
)标,他被从根区域始逐层匹配。
例如,
uplooking.com 域中有host1.stu1.uplooking.com

host2.stu2.uplooking.com两台主机,但uplooking.com
区域中只有
stu1.example.com

stu2.example.com
两个区域。一个区域
(zone)能够精确的映射一个域(domain),
也能够只包含一个域的部分,
其他部分由另一个域名服务器解释。DNS中每一个名字都是个域,即使他是个
终点(terminal),没有子域(subdomains)。
每一个子域都是个域,除
了根域外任何的域也都是子域。这些术语的意义都不但是字面能够理解的,建
议阅读RFCs
1033, 1034 and 1035来完整理解这些难点和细节。
虽然BIND
叫作
"域名服务软件",他主要处理“区域”。named.conf

使用“主”(master)或从(slave)声明区域,而不是域,假如请求一个域的
从服务器,实际是请求这个区域信息的一种“收集”(collection
of
zones)。每个区都至有一个主域名服务器(authoritative
name

server),他包含了本区域完整的数据,
为了使DNS服务更稳定,很多区域
有两个或两个以上的主域名服务器。主域名服务器的应答含有"authoritative
answer" (AA)
位,这使对DNS配置进行排错时更容易。排错工具能够如dig。主域名服务器是区域数据保存的地方,这个服务器也叫“管理服务器”
(primary
master server),
或简称“管理服务器”(primary),他从
本地文档中读入数据,这些数据可能是手工输入的,也可能是由某些本地文档
生成的,然后再由人来编辑的,这些文档叫“区域数据文档”(
zone
file)
或“主数据文档”
(master
file )。其他的主服务器,从属服务器,也叫第二服务器,从其他服务器中获取区域数据信息,这个过程叫“区域数据传送”(
zone
transfer
)。型的传送
是从管理服务器传送到从属服务器,但也可能是从另外一个从属服务器中获得
数据。也就是说,一个从属服务器对另外一个从属服务器来说,也可能是管理
服务器角色。通常区域任何的主域名服务器都监听父区域的NS记录,这些N记录包含父区域的一个授权,主域名服务器也会把自己列在区域文档中,作为最高层或叫顶层。能够在区域的顶层服务器的NS记录中列出不在父NS记录的其他服务器,
但是不能列出不在顶级区域文档中而只在父域中的服务器。
一个秘密的服务器(stealth
server )是个主服务器,但没有列在区
域的NS记录中。他能够用于保存一个区域的本地文档,他能够加速区域记录
的存取,即使任何官方的DNS都失效。一个管理服务器配置成秘密服务器经常会在配置文档中有"hiddenprimary"
,使用这个配置常常是因为管理服务在防火墙后,因此不能直接和外网通讯。由大多数操作系统提供的解析库(resolver
libraries)是很少的,意味着不能通过和管理DNS服务器通就完成完整的DNS解析,相的,他
们依靠的是本地DNS解析。这个服务器叫递归查询服务器(
recursive
name
server),他为本地客户执行递归查询。
为了提高性能,递归查询服
务器会存下查询到的结果,递归查询服务器和缓存服务器通常都是个意思。

存中保存一个DNS记录的时间由(TTL)字段规定。
即使一个缓存服务器无需执行完整的递归查询,假如他对自己的缓存不满
意,他也能够转发部分或任何的查询,通常这时服务器叫转发器
(forwarder)。
可能有一个或多个转发器,查询在转发器中查找,直到任
何的转发器都找遍了,或找到了答案。转发器典型的应用是,不希望任何的服
务器和其他的互连网服务器相互作用。典型环境包括一组互连网服务器和防火
,服务器不能通过防火墙数据包,转发器,那个服务器将使用内网服务器行为查询互连网服务器,另一个好处是,使用转发器特性本地电脑将会有一个很完整的缓存信息BIND域名服务器能够作为区域的管理服务器,从属服务器或缓存服务器。然而,虽然主服务器服务和缓存/递归服务器从逻辑上是不同的,也经常在不同的服务器上运行,一个主服务器能够禁止递归
(an
authoritativeonlyserver),来提高可靠性和安全性。不作为任何区域的主服务器,只为本地客户提供递归查询
(a
cachingonlyserver) 则无需暴露在互连网上,因而能够放在防火墙后面。
Bind
的安装

   rpm
-ivh  bind-9.3.3-10.el5.i386.rpm

   rpm
-ivh bind-chroot-9.3.3-10.el5.i386.rpm

  
   rpm
-ivh caching-nameserver-9.3.3-10.el5.i386.rpm

vim
/var/name/chroot/etc/named.conf  
添加:
include
"/etc/dx.cfg";

include
"/etc/wt.cfg";

   
view
dx {

   match-clients
{ dx ; } ;

zone
"zhang.com" {

      type
master;

      file
"dx/zhang.com.zone";

};
};
view
wt {

   
  match-clients
{ wt ; } ;

      zone
"zhang.com" {

      type
master;

      file
"wt/zhang.com.zone";

};
};
view
other {

   match-clients
{ any ; } ;

zone
"zhang.com" {

      type
master;

      file
"wt/zhang.com.zone";

};
};
  
/var/n        amed/chroot/etc

  vim
dx.cfg

  acl
dx  { 192.168.1.16/32 ; };

vim
wt.cfg

acl
wt  { 192.168.1.13/32 ; };


/var/named/chroot/var/named

  mkdir
dx

  mkdir
wt

  vim
dx/zhang.com.zone

  
                IN
NS           ns.zhang.com.

ns.zhang.com.
  IN A           192.168.1.189

zhang.com.
     IN A           192.168.1.189

vim
wt/zhang.com.zone

                    IN
NS           ns.zhang.com.

ns.zhang.com.
  IN A           192.168.1.189

zhang.com.
     IN A           192.168.1.189

zhang.com.zone
文件的
U
G
的权限更改为
named

chown
named. * zhang.com.zone

重启Bind
    service named restart

#ifconfig
查看本机的IP
192.168.1.19

#vim
/etc/resolv.conf

nameserver
192.168.1.19

测试

#nslookup

>zhang.com
Server:                192.168.1.18
Address:        192.168.1.18#53
#ssh
192.168.1.16

#nslookup
>zhang.com
Server:
      192.168.1.189

Address:        192.168.1.189#53
#ssh
192.168.1.13

#nslooking
>zhang.com
Server:
      192.168.1.18

Address:
    192.168.1.18#53

成功
  !

实践

   
一个公司在互联网上架设一个WEB服务器给全中国的用户来访问,为了提高用户的访问体验度,在中国存在网通和电信两大不同的网络运营商,他们之间的网络接口带宽只有10G
,不同网络之间访问会很慢,所以在两个网络上分别架设两台服务器,让不同的网络用户去分别去访问相对应的网络上的服务器,而对用户来说要是透明的!Bind
9
为这个提供了很好的解决方案!
   Master

Slave

master
的配置

vim
/var/named/chroot/etc/named.conf  
添加
include
"/etc/dx.cfg";

include
"/etc/wt.cfg";

view
dx {

match-clients
{ dx;192.168.1.254;!192.168.1.251; };

allow-transfer
192.168.1.254;

zone
"zhang.com" {

      type
master;

      file
"dx/zhang.com.zone";

};
};
view
wt {

   match-clients
{ wt;192.168.1.251;!192.168.1.254; };

   allow-transfer
192.168.1.251;

zone
"zhang.com" {

      type
master;

      file
"wt/zhang.com.zone";

};
};
slave:
include
"/etc/dx.cfg";

include
"/etc/wt.cfg";

            
view
dx {

        match-clients
{ dx;192.168.1.254;!192.168.1.251; };

        transfer-source
192.168.1.254;

        zone
"zhang.com" {

        type
slave;

        masters
{ 192.168.1.19; };

        file
"dx/zhang.com.zone";

};
};

   
   
view
wt {

        match-clients
{ wt;!192.168.1.254;192.168.1.251; };

        transfer-source
192.168.1.251;

        zone
"right.com" {

        type
slave;

        masters
{ 192.168.1.19; };

        file
"wt/zhang.com.zone";

};
};

/var/named/chroot/etc
下面

vim
dx.cfg

acl
dx  { 192.168.1.0/24; };

vim
wt.cfg

acl
wt  { 192.168.0.0/24; };

/var/named/chroot/var/named
下面mkdir
dx wt

要在slave
上面虚拟一个网卡并指定IP地址

ifconfig
eth0:0 192.168.1.251 netmask 255.255.255.0

#ifconfig


两个
IP地址
分别是:
192.168.1.251

192.168.1.254
分别启动服务
service
named restart

同步了

意义:
一台
DNS服务器是很“危机”的,要有至少两台服务器。当一台
DOWN
了另一台顶上去
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/94517/showart_1902900.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP