了解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
心动不如行动吧!