Chinaunix首页 | 论坛 | 博客
  • 博客访问: 136091
  • 博文数量: 24
  • 博客积分: 2022
  • 博客等级: 大尉
  • 技术积分: 300
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-21 01:00
文章分类
文章存档

2010年(1)

2009年(23)

我的朋友

分类: LINUX

2009-10-23 09:15:00

(七)DNS服务器配置实例
举例一:
使用view语句搭建具有内外视图功能的DNS服务器,并能够根椐不同的客户端地址实现不同的解析结果,假设局域网地址为192.168.255.0/24,局域网内各主机分别为rhel1:192.168.255.128; rhel2:192.168.255.12rhel3:192.168.255.129; rhel4:192.168.255.120; rhel5:192.168.255.4为从DNS服务器;以及一个提供DNS服务的主机(主机名:dns,局域网内IP地址:192.168.255.3,外网IP地址:101.25.67.89);此外还有三个应用服务器:www服务器(主机名:www;IP地址:101.25.67.5),邮件服务器(主机名:mail;IP地址:101.25.67.2),FTP服务器(主机名:ftp;IP地址:101.25.67.1),要实现的功能是:局域网内的主机可以解析到外网;外网用户可以解析到内网的WWW服务器,邮件服务器和FTP服务器,但不可以解析到局域网内的主机;不允许外网用户反向解析内网地址,不允许外网用户采用递归查询方式使用该DNS服务器。配置步骤如下:
(1)需安装以下两个软件包:
  #rpm ivh bind-9.3.3-7.el5.i386.rpm(第二张光盘) ; #rpm ivh bind-chroot-9.3.3-7.el5.i386.rpm(第二张光盘)
(2)编辑/var/named/chroot/etc/named.conf文件内容如下:
(此文件需用户自己创建,可从/usr/share/doc/bind-9.3.3/sample/etc中复制到/var/named/chroot/etc/目录下,并在/etc/下创建一个链接)
option  {
directory  /var/named;          //默认路径
dump-file  /var/named/data/cache_dump.db;
startistice-file  /var/named/data/named_stats.txt0;
};
acl  my  lan  {                //创建一个访问控制列表,其中127.0.0.1是本机,192.168.255.0/24表示本地局域网               
127.0.0.1;  192.168.255.0/24;   //地址列表可以用any , none , localnets , localhost
};                              //any:任何主机;none:不匹配任何主机;localhost:本地主机;localnets:本地网络所有主机
 
view  internal  {             //定义内部视图
match-clients  {  “my  lan”  };
recursion  yes;                 //表示在这个view中的所有请求都使用递归查询
zone  .  IN  {                //IN为地址类型,可以不写,默认的就是IN类
type  hint;                     //根服务器的特殊类型
file  name.root;              //文件在name.ca下
};                             //每个view必须有zone .
//设置正向解析
zone  mydomain.com  {
type  master;
file  mydomain.com.internal.db;
allow-transfer  { 192.168.255.4 }; //设置域传输控制选项
};
 
//设置反向解析
zone     255.168.192.in-addr.arpa  IN  {
type  master;
file  255.168.192.in-addr.arpa.internal.db;
};
};
view  external  {
match-clients  {  any; };      //any表示external视图对任何主机开放,但一定要放在internal视图的后面,这样acl中定义的主机就会首先使用internal视图里面的zone
recussion  no;                 //关闭递归,使DNS服务器忽略外部用户的非本地解析请求
zone  .  IN  {              //每个view必须有zone .
type  hints;
file  name.root;
};
//该zone与internal视图中的设置类似,由于外网用户不允许反向解析到内网,因此没有设置反向解析zone
zone  mydomain.com  {
type  master;
file  mydomain.com.external.db;
allow-transfer  {  123.66.88.2;  };
}:
};
其中name.root可以从ftp://ftp.rs.internal.net下载,不需要自己编写
(3)编辑区域文件mydomain.com.internal.db(位于/var/named/chroot/var/named/目录下),如下所示:
$TTL   86400
@   IN   SOA  dns.mydomain.com.   admin.mydomain.com.  ( 2007060901;28800;14400;3600000;86400; )   //主授权记录,@表示mydomain.com域,admin.mydomain.com.是用户admin在mydomain.com域下的邮箱地址//
@   IN   NS   dns.mydomain.com.        //@域的DNS服务器是dns.mydomain.com
@   MX   10   mail.mydomain.com.       //@域的邮件投递到mail.mydomail.com
dns    IN   A   192.168.255.3          //DNS服务器的地址是192.168.255.3
mail   IN   A   101.25.67.2            //mail服务器的地址是101.25.67.2
ftp    IN   A   101.25.67.1            //ftp服务器的地址是101.25.67.1
www    IN   A   101.25.67.5            //www服务器的地址是101.25.67.5
rhel1  IN   A   192.168.255.128        //rhel1.mydomain.com的IP地址是192.168.255.128
rhel2  IN   A   192.168.255.12         //rhel2.mydomain.com的IP地址是192.168.255.12
rhel3  IN   A   192.168.255.129        //rhel3.mydomain.com的IP地址是192.168.255.129
rhel4  IN   A   192.168.255.120        //rhel4.mydomain.com的IP地址是192.168.255.120
rhel5  IN   A   192.168.255.4          //rhel5.mydomain.com的IP地址是192.168.255.4
(4)编辑区域文件 mydomain.com.external.db(同样位于/var/named/chroot/var/named/目录下),如下所示:
@   IN   SOA  dns.mydomain.com.   admin.mydomain.com.  ( 2007060901;28800;14400;3600000;86400; )   //主授权记录,@表示mydomain.com域,admin.mydomain.com.是用户admin在mydomain.com域下的邮箱地址//
@   IN   NS   dns.mydomain.com.        //@域的DNS服务器是dns.mydomain.com
@   MX   10   mail.mydomain.com.       //@域的邮件投递到mail.mydomail.com
dns    IN   A   192.168.255.3          //DNS服务器的地址是192.168.255.3
mail   IN   A   101.25.67.2            //mail服务器的地址是101.25.67.2
ftp    IN   A   101.25.67.1            //ftp服务器的地址是101.25.67.1
www    IN   A   101.25.67.5            //www服务器的地址是101.25.67.5
//由于该视图对应外网的查询,不希望外部用户知道本地局域网的IP地址,所以没有添加本地主机信息
(5)编辑反向解析区域文件255.168.192.in-addr.arpa.internal.db(同样位于/var/named/chroot/var/named/目录下),如下所示:
$TTL   86400
@   IN   SOA  dns.mydomain.com.   admin.mydomain.com.  ( 2007060901;28800;14400;3600000;86400; )  
@   IN   NS   dns.mydomain.com.
3   IN   PTR   dns.mydomain.com.
128  IN  PTR   rhel1.mydomain.com.
12   IN  PTR   rhel2.mydomain.com.
129  IN  PTR   rhel3.mydomain.com.
120  IN  PTR   rhel4.mydomain.com.
4    IN  PTR   rhel5.mydomain.com.
举例二:
1构建单纯的缓存域名服务器--RHEL5系统专门为配置缓存域名服务器提供了名为caching-nameserver-9.3.3-7.el5.i386.rpm的软件包,而且缓存域名服务器安装完caching-nameserver软件包后不需要修改任何其它的配置工作就可以启动运行,并实现域名查询和缓存的功能,但该服务器主机需要能够访问互联网,因为缓存服务器应能够与互联网中的其他DNS服务器进行网络连接,以查询DNS客户机的域名解析请求,在局域网内部构建缓存域名服务器的主要目的是提高域名解析的速度和节约对互联网访问的出口带宽。
(1)需安装以下两个软件包
#rpm ivh bind-9.3.3-7.el5.i386.rpm(被依赖,第二张光盘) ;#rpm -ivh caching-nameserver-9.3.3-7.el5.i386.rpm(第四张光盘)
 
 
安装生成了以下主要的配置文件:
配置文件: /etc/named.caching-nameserver.conf   /etc/named.rfc1912.zones
正向和反向区域文件:/var/named/localdomain.zone  /var/named/localhost.zone  /var/named/named.ca   /var/named/named.broadcast   /var/named/named.local    /var/named/named.ip6.local    /var/named/named.zero
缓存域名服务器的主配置文件named.caching-nameserver.conf内容如前面所示,不需要进行任何修改。在缓存域名服务器启动后就可以使用nslookup等域名查询命令对缓存域名服务器进行测试。
2构建主域名服务器----假设要构建的主域名服务器的IP地址是192.168.1.2,并且在主域名服务器中设置从域名服务器地址为192.168.1.3,需要在主域名服务器中添加名为1test.com的域名区域,该域名中主机的网络地址为192.168.1.0/24。在1test.com区域中需要设置地址记录,别名记录,域名服务器记录和邮件交换记录等基本的域名资源记录,本例不涉及互联网中DNS服务器对1test.com域名的指向,即1test.com域只在局域网内部的主,从域名服务器中有效。
1)建立主配置文件:在上面构建好的缓存域名服务器的基础上,由named.caching-nameserver.conf复制一份名为named.conf的主配置文件(如果没有创建named.conf文件时,则系统在启动named进程时,默认读取的配置文件为named.caching-nameserver.conf.如果存在named.conf文件,则不再读取named.caching-nameserver.conf文件)。
2)修改配置文件:在/etc/named.conf配置文件的未尾添加1test.com域的正向区域和反向区域设置。正向区域的区域名称为1test.com,类型为主域名服务器,区域文件名称为1test.com.zone,设置内容如下:
   zone  “1test.com” {
           type  master;
           file  “1test.com.zone”;
};
1test.com域中所有主机都在子网192.168.1.0中,因此反向解析区域的名称是1.168.192.in-addr.arpa,类型为主域名服务器,区域文件名是192.168.1.rev:
   zone   “1.168.192.in-addr.arpa” {
            type  master;
            file  “192.168.1.rev”;
};
3)在/var/named目录中建立正向和反向区域文件:根据主配置文件named.conf中的设置,正反向区域文件须保存在工作目录/var/named下,可用vi编辑器建立。
1test.com.zone区域文件中按照如下要求添加地址记录:
名为ns1的主机,IP地址为192.168.1.2,该主机将作为主域名服务器使用;
名为ns2的主机,IP地址为192.168.1.3,该主机将作为从域名服务器使用;
名为host1的主机,IP地址为192.168.1.11,该主机将作为邮件服务器使用;
名为host2的主机,IP地址为192.168.1.12,该主机将作为网页服务器使用;
设置别名:别名记录又称CNAME记录,用于在区域文件中对主机名称设置别名。通过设置别名记录,具有多种功能的同一个服务器可以具有多个域名。在1test.com域中为host1主机设置别名为mailhost1主机将使用别名mail.1test.com作为邮件服务器使用;为host2主机设置别名为wwwhost2主机将使用别名作为网页服务器使用。
添加邮件交换记录:邮件交换记录又称MX记录,用于设置当前域中提供邮件服务的服务器名称。1test.com域名需要设置使用mail.1test.com主机作为邮件服务器。设置了邮件交换记录后,所有发向XXX@1test.com邮箱的电子邮件都将发往mail.1test.com服务器主机。
完整的正向区域文件内容如下:
#cat  /var/named/1test.com.zone
$TTL   86400
@      IN    SOA    ns1.1test.com.    hostmaster.1test.com.  (
                                        42               ;serial (d. adams)
                                        3H               ;refresh
                                        15M              ;retry
                                        1W               ;expiry
                                        1D )              ;minimum
@      IN     NS     ns1.1test.com.
@      IN     NS     ns2.1test.com.
 
ns1      IN    A     192.168.1.2
ns2      IN    A     192.168.1.3
host1     IN    A     192.168.1.11
host2     IN    A     192.168.1.12
 
mail     IN    CNAME   host1
www    IN    CNAME   host2
 
@       IN    MX    5    mail.1test.com.
建立对应的反向区域文件
#cat  /var/named/192.168.1.rev
$TTL   86400
@       IN    SOA    ns1.1test.com.    hostmaster.1test.com.  (
                                        42               ;serial (d. adams)
                                        3H               ;refresh
                                        15M              ;retry
                                        1W               ;expiry
                                        1D )              ;minimum
 
 
@       IN     NS     ns1.1test.com.
@       IN     NS     ns2.1test.com.
 
2        IN    PTR   ns1.1test.com.
3        IN    PTR   ns2.1test.com.
11       IN    PTR   host1.1test.com.
12       IN    PTR   host2.1test.com.
4测试配配置文件和区域文件:
#name-checkconf  ------------自动检测系统中的”/etc/named.conf”文件的内容,如果有语法错误,屏幕将显示发现的错误内容。
#name-checkzone  1test.com  /var/named/1test.com.zone----第一个参数需指定区域名称,如1test.com;第二个参数需指定区域文件名
(5)重启named服务器程序:#service  named  restart
3构建从域名服务器-------从域名服务器作为主域名服务器的辅助和备份服务器,在自身DNS服务器中不建立区域文件,而是从主服务器中查询接收并保存区域文件,从域名服务器需要在与主域名服务器不同的主机中构建,本例为上面构建的主域名服务器构建从域名服务器,(1)从域名服务器主机需要安装如下两个软件包:
#rpm ivh bind-9.3.3-7.el5.i386.rpm(被依赖,第二张光盘) ;#rpm -ivh caching-nameserver-9.3.3-7.el5.i386.rpm(第四张光盘)
(2)软件包安装完成后,同样由/etc/named.caching-nameserver.conf复制一份名为/etc/named.conf的主配置文件,并添加1test.com域和其反向
阅读(1928) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~