环境说明:Vmware11+CentOS6.6,主DNS服务器ip地址192.168.84.109,从DNS服务ip地址192.168.84.110
域名系统(Domain Name System缩写DNS,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
本文主要是在私有环境中,使用两个虚拟机构建一个DNS系统。DNS分为正向解析和反向解析。DNS正向解析是由Name找出IP地址(FQDN-->IP),DNS反向解析是由IP找出Name地址(IP-->FQDN)。
一、程序包的配置
DNS的程序包为bind,程序名为named,因此需要在主服务器和从服务器上分别安装bind的主程序包和bind-linbs、bind-utils两个辅助程序包。
主配置文件:/etc/named.conf,/etc/named.rfc1912.zones,/etc/rndc.key
解析库文件/var/named/ZONE_NAME.ZONE
二、解析库文件说明
解析库:由众多资源记录RR(Resource Record)组成
资源记录:Resource Record,简称RR
记录类型:A是IPv4,AAAA是IPv6,PTR,SOA,NS,CNAME,MX
SOA:Start Of Authority,起始授权记录,一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录
A:internet Address,作用,FQDN-->IP,从名称到IP
AAAA:FQDN-->IPv6
PRT:PoinTeR,IP-->FQDN
NS:Name Server,专用表明当前区域的DNS服务器
CNAME:Canonical Name,正式名称,别名记录
MX:Mail eXchanger,邮件交换器
资源记录定义的格式:
语法:name [TTL] IN rr_type value
注意:
1、TTL可从全局继承
2、@可用于引用当前区域的名字
3、同一个名字可以通过多条记录定义多个不同的值,此时DNS服务器会以轮询方式响应
4、同一个值也可能又多个不同定义名字,通过多个不同的名字指向
SOA:
name:当前区域的名字,例如"magedu.com."
value:有多部分组成
1、当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字
2、当前区域管理员的邮箱地址,但地址不能使用@符号,一般用.替换,例如linuxdeu.magedu.com
3、(主从服务器协调属性的定义以及否定的答案的统一的TTL)
例如
magedu.com. 86400 IN SOA ns.magedu.com. nsadmin.magedu.com. (
2015042201 ;序列号
2H ;刷新时间
10M ;重试时间
1W ;过期时间
1D ;否定应答的TTL值 )
NS:
name:当前区域的名字
value:当前区域的某DNS服务器的名字,例如ns.magedu.com.;
注意:一个区域可以有多个NS记录
MX:
name:当前区域的名字
value:当前区域的某邮件服务器(stmp服务器)的主机名
一个区域内,MX记录可以有多个,但每个记录的value之前应该有一个数字(0-99),表示此服务区的优先级,数字越小优先级越高
A:
name:某主机的FQDN,例如www.magedu.com.
value:主机名对应主机的IP地址
AAAA
name:FQDN
value:IPv6
PTR:将IP解析成名称
name:IP地址,有特定格式把IP地址反过来写,1.2.3.4,要写作4.3.2.1,而特定后缀:in-addr.arpa.,
所以完整写法为:4.3.2.1.in-addra.arpa.
CNAM:
name:别名的FQDN
value:正式名字的FQDN
三、正向解析主DNS服务器的实现(在192.168.84.109虚拟机上)
1.首先创建缓存DNS服务器
#vim /etc/named.conf使用vim编辑配置文件,将named.conf内容改为如下图的内容
说明:listen-on port:监听的IP的地址
directory:工作目录
allow-query:可以被任何主机查询
recursion:是否可以被递归查询
2.在主配置文件中定义区域
#vim /etc/named.rfc1912.zones在配置文件中添加如下内容
说明:magedu.com:区域名称
type:主从类别,主服务器类型为master,从服务器为slave
file:在/var/named/工作目录中需要添加的zone解析库
allow-update:是否允许更新,建议不允许任何人进行更新
3.定义区域解析库文件
#vim /var/named/magedu.com.zone在配置文件中添加如下内容
说明:
admin.magedu.com:表示管理员邮箱地址
@:表示在/etc/named.rfc1912.zones中定义的zone的名称
@ IN NS ns1.magedu.com.:表示主DNS服务器名称
@ IN NS ns2.magedu.com.:表示从DNS服务器名称
@ IN MX 10 mx1.magedu.com.:表示邮件交换器的名称(邮件服务器可以不存在)
@ IN MX 10 mx2.magedu.com.:表示邮件交换器的名称(邮件服务器可以不存在)
ns1.magedu.com. IN A 192.168.84.109:表示主DNS服务器指向的IP地址
ns2.magedu.com. IN A 192.168.84.110:表示从DNS服务器指向的IP地址
mx1.magedu.com. IN A 192.168.84.111:表示邮件交换器地址(邮件服务器可以不存在)
mx2.magedu.com. IN A 192.168.84.112:表示邮件交换器地址(邮件服务器可以不存在)
ftp.magedu.com. IN CNAME www.magedu.com.:表示别名
*.magedu.com. IN A 192.168.84.109:表示类似.magedu.com.的名称都指向主DNS服务器IP地址
pome IN CNAME mx1.magedu.com.:表示别名
4.修改magedu.com.zone文件的权限
#ll
#chmod 640 magedu.com.zone
#chown :named magedu.com.zone
5.查看正向解析是否成功
#service named restart
#dig -t A www.magedu.com @192.168.84.109
#dig -t NS magedu.com @192.168.84.109
四、正向解析从DNS服务器的实现(在192.168.84.110虚拟机上)
1.首先创建缓存DNS服务器
#vim /etc/named.conf使用vim编辑配置文件,将named.conf内容改为如下图的内容
2. 定义从区域
#vim /etc/named.rfc1912.zones修改配置文件
说明:
type slave:表示该服务器为从服务器
masters:指明主服务器的IP地址
file:指明从主服务器上同步到从服务器的文件的存放位置
3.查看正向解析服务器是否配置成功
#service named reload
#cd /var/named/slaves | ls 查看magedu.com.zone文件是否从主服务器复制到从服务器。
#cat /var/named/slaves/magedu.com.zone
五、反向解析主DNS服务器的实现(在192.168.84.109虚拟机上)
1.在主配置文件中定义区域
#vim /etc/named.rfc1912.zones,在此配置文件中添加如下内容
2.定义反向解析库文件
#vim /var/named/192.168.84.109.zone,在此配置文件中将正向解析库中的信息按照反向解析的要求的写入到配置文件中。
说明:
@:表示84.168.192.in-addr.arpa.
109:表示该IP地址可以被反向解析为ns1.magedu.com.和www.magedu.com.
110、111、112/113:与109类似
(注:在指定正反向解析时,可以指定一些不存在的IP地址,但主服务器和从服务器IP地址必须存在)
3.修改192.168.84.109.zone的权限
#ll
#chmod 640 192.168.84.109.zone
#chown :named 192.168.84.109.zone
4.查看反向解析是否成功
#service named reload
#dig -x 192.168.84.109 @192.168.84.109
六、反向解析从DNS服务器的实现(在192.168.84.110虚拟机上)
1. 定义从区域
#vim /etc/named.rfc1912.zones修改配置文件
说明:
type slave:表示该服务器为从服务器
masters:指明主服务器的IP地址
file:指明从主服务器上同步到从服务器的文件的存放位置
2.查看正向解析服务器是否配置成功
#service named reload
#cd /var/named/slaves | ls 查看192.168.84.109.zone文件是否从主服务器复制到从服务器。
#cat /var/named/slaves/192.168.84.109.zone
七、子域授权
子域授权为了解决DNS上下层关系的问题。
1.在上层DNS服务器中添加如下内容(192.168.84.109虚拟机上)
#vim /var/named/magedu.com.zone
说明:
在zone将192.168.84.109作为父域来使用,将192.168.84.110作为子域来使用。
2.在/etc/named.rfc1912.zones中添加如下内容(192.168.84.110虚拟机上)
3.在/var/named/ops.magedu.com.zone中添加如下内容(192.168.84.110虚拟机上)
4.重新加载配置的内容#service named reload(两台虚拟机都需要进行此操作)
注意:在进行私有DNS构建时,需要注意的问题。
1.建议将防火墙关闭
#service iptables stop
2.IP地址不要动态获取,而是手动指定IP地址
本文出自 “Linux学习” 博客,谢绝转载!
DNS基本使用--主从服务器的搭建、主从同步、子域授权的实现
原文地址:http://xwywmz.blog.51cto.com/9053600/1638729