您的位置:首页 > 其它

DNS名称服务器基本知识点---实践篇

2013-04-04 23:52 176 查看
了解DNS服务器基本点后,下面就让我们实战一下吧!

实例一:

假设某公司扩展市场、财务两个部门(也可称为两个子域),这两个部门都想实现DNS服务器自我管理;而这两个部门在公司以前的域名mageedu.com上扩展出两个小组织,分别为:

市场部:www.market.mageedu.com

财务部:www.fin.mageedu.com

前提:需要四台虚拟机,分别定义为linux1、linux2、linux3、linux4,规定linux1为主DNS服务器、linux2为从DNS服务器、linux3为子域fin.mageedu.com服务器、linux4为子域market.mageedu.com服务器;

主DNS服务器IP地址:172.16.52.2

从DNS服务器IP地址:172.16.52.3

mail服务器IP地址:172.16.52.14

www服务器IP地址:172.16.52.15

子域fin.mageedu.com服务器IP地址:172.16.52.10

子域market.mageedu.com服务器IP地址:172.16.52.11

声明:下面我使用的是bind97版本进行演示,内容上不只是针对于上面的操作,同时我也演示了一些其他内容操作

(对于子域我们只考虑正向区域划分,同时对于子域服务器我只演示fin.mageedu.com,另一个子域服务器配置相同):

主DNS服务器操作内容:
第一步:下载、安装DNS服务器软件包bind97;
[root@localhost ~]#cd /etc/yum.repos.d/
[root@localhost yum.repos.d]#lftp 172.16.0.1       ##根据自己的服务器地址下载软件包
lftp>cd pub/gls/server.repo
lftp>get server.repo
lftp>bye
[root@localhost yum.repos.d]#yum install bind97 bind-utils
第二步:编辑主配置文件/etc/named.conf
[root@localhost ~]#vim /etc/named.conf
options {
directory      "/var/named";
allow-recursion { 172.16.0.0/16; };
};
zone "." IN {     ##定义根区域,根区域数据文件bind97包中自带,我们可以使用bind97自带区域数据文件;
type hint;
file "named.ca";
};
zone "localhost" IN {    ##定义本地主机区域,本地主机区域文件也是自带;
type master;
file "named.localhost";
};
zone "0.0.127.in-addr.arpa" IN {   ##定义本地环回区域,本地环回区域文件也是自带;
type master;
file "named.loopback";
};
zone "mageedu.com" IN {    ##定义正向区域,为了简便我们自己编辑正向区域文件
type master;
file "mageedu.com.zone";
};
zone "52.16.172.in-addr.arpa" IN {    ##定义反向区域,同样我们自己编辑反向区域文件
type master;
file "172.16.52.zone";
};
:wq
第三步:编辑正向区域数据文件mageedu.com.zone
[root@localhost ~]#cd /var/named/
[root@localhost named]#vim mageedu.com.zone
$TTL 86400
@       IN      SOA     ns1.mageedu.com.      admin.fin.mageedu.com. (
2013040201     ##序列号,序列号可以自定义,一般长度为8-10
2H        ##刷新时间
10M        ##重试时间
7D          ##过期时间
2D )         ##否定答案的生存时间
IN      NS      ns1
IN      MX  10  mail
ns1     IN      A       172.16.52.2
mail    IN      A       172.16.52.14
www     IN      A       172.16.52.15
:wq
[root@localhost named]#chmod 640 mageedu.com.zone
[root@localhost named]#chown root:named mageedu.com.zone
[root@localhost named]#service named start
第四步:编辑反向区域数据文件172.16.52.zone
[root@localhost named]#vim 172.16.52.zone
$TTL 86400
@     IN    SOA    ns1.mageedu.com.    admin.mageedu.com. (
2013040201
1H
5M
2D
6H )
IN    NS      ns1.mageedu.com.
2                IN    PTR     ns1.mageedu.com.
14               IN    PTR     mail.mageedu.com.
15               IN    PTR     www.mageedu.com.
:wq
[root@localhost named]#chmod 640 172.16.52.zone      ##不让任何人有篡改区域数据文件更改其权限
[root@localhost named]#chown root:named  172.16.52.zone    ##更改区域文件的属主、属组
[root@localhost named]#named-checkconf      ##检测主配置文件是否有语法错误
[root@localhost named]#named-checkzone "mageedu.com" mageedu.com.zone     ##检测区域文件是否有语法错误
[root@localhost named]#named-checkzone "52.16.172.in-addr.arpa" 172.16.52.zone
[root@localhost named]#service named  restart
主DNS服务器上时刻增添着新内容,为了数据安全的考虑,在公司内部配置一台从DNS服务器,
隔一定时间把主DNS服务器的数据同步过来实现数据备份功能,接下来模拟配置从DNS服务器;
(切记配置从DNS服务器后一定要在主DNS服务器的正向数据文件中添加从DNS服务器的A、NS资源记录)
从DNS服务器操作内容:
第一步:先卸载bind-libs、bind-utils,然后同样在从DNS服务器上安装bind97软件包,这个过程我就不再演示了
第二步:编辑主配置文件
[root@localhost ~]#setenforce 0    ##一定要关闭SELinux文件
[root@localhost ~]#vim /etc/named.conf
options {
directory      "/var/named";
allow-recursion { 172.16.0.0/16; };   ##允许递归172.16.0.0网段
};
zone "." IN {     ##定义根区域,bind97包中自带根区域数据文件,我们直接使用bind97自带区域数据文件;
type hint;
file "named.ca";
};
zone "localhost" IN {    ##定义本地主机区域,本地主机区域文件也是自带;
type master;
file "named.localhost";
};
zone "0.0.127.in-addr.arpa" IN {   ##定义本地环回区域,本地环回区域文件也是自带;
type master;
file "named.loopback";
};
zone "mageedu.com" IN {    ##定义从DNS服务器正向区域,在软件包中有自带的区域文件,大家可以进入/var/named/slaves/查看一下,在这里为了简便我们等一下自己编辑正向区域文件
type slave;
file "slaves/mageedu.com.zone";
masters { 172.16.52.2; };    ##指定从DNS服务器正向数据文件依赖的主DNS服务器
};
zone "52.16.172.in-addr.arpa" IN {    ##定义从DNS服务器反向区域,同样我们自己编辑反向区域文件
type slave;
file "slaves/172.16.52.zone";
masters  { 172.16.52.2; };   ##指定从DNS服务器反向数据文件依赖的主DNS服务器
};
:wq
[root@localhost ~]#named-checkconf
[root@localhost ~]#chgrp named /etc/named.conf     ##在/var/named/slaves目录下的属主、属组都是root用户,而named进程的属主、属组都是named,因此要把该目录下的属性修改成named
[root@localhost ~]#service named start
第三步:在主DNS服务器中的正向、反向区域文件分别添加从DNS服务器的记录
[root@localhost named]#vim mageedu.com.zone
$TTL 86400
@       IN      SOA     ns1.mageedu.com.      admin.fin.mageedu.com. (
2013040202     ###改变了数据内容,要把之前的序列号加1
2H
10M
7D
2D )
IN      NS      ns1
IN      NS      ns2        ##添加的从DNS服务器NS记录
ns1     IN      A       172.16.52.2
ns2     IN      A       172.16.52.3     ##添加的从DNS服务器A记录
IN      MX  10  mail
mail    IN      A       172.16.52.14
www     IN      A       172.16.52.15
:wq
[root@localhost named]#service named  restart
[root@localhost named]#vim 172.16.52.zone
$TTL 86400
@     IN    SOA    ns1.mageedu.com.    admin.mageedu.com. (
2013040202     ###把序列号加1
1H
5M
2D
6H )
IN    NS      ns1.mageedu.com.
IN    NS      ns2.mageedu.com.     ##添加的从DNS服务器NS记录
2                IN    PTR     ns1.mageedu.com.
3                IN    PTR     ns2.mageedu.com.     ##添加的从DNS服务器PTR记录
14               IN    PTR     mail.mageedu.com.
15               IN    PTR     www.mageedu.com.
:wq
[root@localhost named]#service named  restart
第四步:通过使用tail /var/log/messages查看主、从DNS服务器同步数据情况,这里我就不演示了;
子域DNS服务器操作:
第一步:在主DNS服务器中,编辑/var/named/mageedu.com.zone区域文件
[root@localhost named]#vim mageedu.com.zone
$TTL 86400
@       IN      SOA     ns1.mageedu.com.      admin.mageedu.com. (
2013040201   ##在区域文件中增添新内容,序列号要加1,这里我们可以把01改为02,查看从DNS服务器是否自动增添我们所增子域信息;
2H
10M
7D
2D )
IN      NS      ns1
IN      NS      ns2
IN      MX  10  mail
ns1     IN      A       172.16.52.2
ns2     IN      A       172.16.52.3
mail    IN      A       172.16.52.14
www     IN      A       172.16.52.15
fin     IN      NS      ns1.fin
market  IN      NS      ns1.market
ns1.fin IN      A       172.16.52.10
ns1.market IN   A       172.16.52.11
:wq
[root@localhost named]#service named restart
第二步:切入到从DNS服务器查看/var/named/slaves/mageedu.com.zone是否同步到主DNS服务器增添内容
[root@localhost slaves]#cat mageedu.com.zone
第三步:进入子域fin.mageedu.com服务器中编辑主配置文件
[root@localhost ~]#vim /etc/named.conf
options {
directory      "/var/named";
allow-recursion { 172.16.0.0/16; };   ##允许递归172.16.0.0网段
};
zone "." IN {     ##定义根区域,根区域数据文件bind97包中自带,我们可以使用bind97自带区域数据文件;
type hint;
file "named.ca";
};
zone "localhost" IN {    ##定义本地主机区域,本地主机区域文件也是自带;
type master;
file "named.localhost";
};
zone "0.0.127.in-addr.arpa" IN {   ##定义本地环回区域,本地环回区域文件也是自带;
type master;
file "named.loopback";
};
zone "fin.mageedu.com" IN {  ##定义子域区域
type master;
file "fin.mageedu.com.zone";
};
:wq
[root@localhost ~]#service named restart
第四步:在子域名称服务器中编辑fin.mageedu.com.zone区域数据文件
[root@localhost named]#vim fin.mageedu.com.zone
$TTL 86400
@       IN      SOA     ns1.fin.mageedu.com.      admin.fin.mageedu.com. (
2013040201
2H
10M
7D
2D )
IN      NS      ns1
IN      MX  10  mail
ns1     IN      A       172.16.52.10
mail    IN      A       172.16.52.11
www     IN      A       172.16.52.12
:wq
[root@localhost named]#chmod 640 fin.mageedu.com.zone
[root@localhost named]#chown root:named fin.mageedu.com.zone
[root@localhost named]#service named restart
[root@localhost named]#dig -t A  www.fin.mageedu.com.zone @172.16.52.10      ##通过本地主机解析www.fin.mageedu.com.zone记录
[root@localhost named]#dig -t NS  fin.mageedu.com.zone @172.16.52.10    ##解析NS记录
如果使用指定主DNS服务器地址解析,这时候子域是解析不到父域的,我们可以使用forward命令指定通过哪个服务器进行转发;
要想实现这个功能必须在子域名称服务器的主配置文件中添加一个转发区域;
zone "mageedu.com" IN {
type forward;
forward first;
forwarders { 172.16.52.2; };    ##定义一个转发域,通过父域地址进行转发
};

实例二:

利用一台主DNS服务器实现智能DNS解析,另两台充当联通、电信网段的客户机,规划如下:

联通网段:172.16.0.0/16、127.0.0.0/8

电信网段:除了联通网段之外的网段(主要考虑除了联通、电信的网段无法进行智能解析)

说明:使用智能DNS解析,必须要借助视图,而所有的区域都要定义在视图中;

第一步:在主DNS服务器上编辑主配置文件(这里我使用的主DNS服务器IP地址为172.16.52.2)
[root@localhost ~]#vim /etc/named.conf
acl telecom {
172.16.0.0/16;
127.0.0.0/8;
};
options {
directory   "/var/named";
allow-recursion { telecom; };
};
view telecom {
match-clients { telecom; };
zone "mageedu.com" IN {
type master;
file "telecom.mageedu.com.zone";
};
};
view unicom {
match-clients { any; };
zone "mageedu.com" IN {
type master;
file "unicom.mageedu.com.zone";
};
};
:wq
[root@localhost ~]#named-checkconf
[root@localhost ~]#cd /var/named/
第二步:在主DNS服务器上编辑telecom.mageedu.com.zone区域文件
[root@localhost named]#vim telecom.mageedu.com.zone
$TTL 43200
@        IN       SOA       ns1.mageedu.com.       admin.mageedu.com. (
2013040201
2H
10M
7D
2D )
IN      NS      ns1
IN      MX  10  mail
ns1     IN      A       172.16.52.2
mail    IN      A       172.16.52.11
www     IN      A       172.16.52.12
:wq
[root@localhost named]#chgrp named telecom.mageedu.com.zone
[root@localhost named]#chmod 640 telecom.mageedu.com.zone
第三步:在主DNS服务器上编辑unicom.mageedu.com.zone区域文件
[root@localhost named]#vim unicom.mageedu.com.zone
$TTL 43200
@        IN       SOA       ns1.mageedu.com.       admin.mageedu.com. (
2013040201
2H
10M
7D
2D )
IN      NS      ns1
IN      MX  10  mail
ns1     IN      A       172.16.52.2
mail    IN      A       192.168.0.10
www     IN      A       192.168.0.11
:wq
[root@localhost named]#service named restart
第四步:分别使用联通、电信客户机进行测试www.mageedu.com
[root@localhost named]#dig -t A www.mageedu.com @172.16.52.2

心动不如行动吧!


本文出自 “奋斗的小鸟” 博客,请务必保留此出处http://luowenjing.blog.51cto.com/6627118/1171223
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: