dns基本工作原理,及正反向解析和主从同步
一、定义
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互
映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被
机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做
域名解析。
BIND:bekerley internat name daemon, 网络域名管理软件。
二、原理
1、DNS 服务器的类型
主DNS服务器 (域内的域名解析,由管理员维护)
从DNS服务器(域内的备用DNS服务器,通过区域传递获得解析库)
缓存DNS服务器 (运行商的DNS服务器,负责客户机的域名解析)
2、DNS查询类型
递归: 发出一次请求就可以得到答案(client访问DNS server)
迭代: 发多次请求才能得到答案 (DNS server访问域名)
3、解析类型:
NAME-->IP 正向解析
IP--NAME 反向解析
4、一次完整的的域名查询请求经过的流程:
本地客户端--->查看本地hosts文件-->本地缓存-->主DNS服务器
-->主DNS缓存-->缓存DNS服务器-->通过迭代查询域名
三、配置文件说明
1、资源记录:resource record,RR 每个域包含的与之相关的资源
有记录类型:A(IPV4),AAAA(IPV6),PTR,SOA,NS,CNAME,MX
SOA:start of authority ,起始授权记录
A:internet address:作用:FQDN-->IP
AAAA:FQDN-->IPV6
PTR:pointer,IP-->FQDN 反向解析
NS:NAME server,专用于标明当前区域的DNS服务器
CNAME:canonical name,别名记录
MX:mail exchanger,邮件交换器,表明接收邮件的主机
2、bind组成:
服务脚本:/etc/rc.d/init.d/named
主配置文件:/etc/named.conf,
区域辅助配置文件:/etc/named.rfc1912.zones
/etc/rndc.key
解析库文件:/var/named/ZONE_NAME.ZONE
3、主配置文件:/etc/named.conf
全局配置:options {}
日志子系统配置:logging {}
区域定义:本机能够为哪些zone进行解析,就要定义哪些zone;
4、在主配置文件中定义区域
zone "ZONE_NAME" IN {
type {master|slave|hint|forward};
master:主区域
slave:从区域
hinit:根提示
forward:转发
file "ZONE_NAME.zone";
};
5、定义区域解析库文件
格式:
宏定义
资源记录
示例:正向解析
$TTL 86400 ;定义默认缓存时间
$ORIGIN king.com. ;定义起源域名
@ IN SOA ns1.king.com. admin.king.com (
2015042201 序列号
1H 刷新时间
5M 重试时间
7D 过期时间
1D ) 否定答案的TTL值
IN NS ns
IN MX 10 mx
ns IN A 172.16.21.68
mx IN A 172.16.21.68
www IN A 172.16.21.68
king.com IN A 172.16.21.68
四、建立正反向解析和主从同步
1、正向解析主服务器
#yum install bind -y 安装bind
#cp /etc/named.conf{,.bak} 大括号扩展,备份named.conf
#vim /etc/named.conf 修改主配置文件
#service named restart
#ss -tunlp | grep :53 查看53端口tcp,udp的监听状态
#vim /etc/named.rfc1912.zones 定义区域
#cd /var/named
#vim king.com.zone
#named-checkconf 检查主配置文件
#named-checkzone "king.com" /var/named/king.com.zone 检查区域配置文件语法错误
#chmod 640 king.com.zone 修改权限
#chown :named king.com.zone 修改属组
#service named restart
#rndc status 查看服务状态
#dig -t A www.king.com @172.16.21.68 通过本机查看域名IP
2、反向解析主服务器
#cd /var/named
#vim 172.16.21.zone
#chmod 640 172.16.21.zone
#chown :named 172.16.21.zone
#named-checkzone “21.16.172.in-addr.arpa” 172.16.21.zone
#named-checkconf
#service named restart
#rndc status
#dig -x 172.16.21.68 @172.16.21.68
3、正向解析从服务器
#dig -t axfr king.com @172.16.21.68 测试区域传送
#yum install bind -y
#vim /etc/named.conf
#service named start
#ss -tunl
#vim /etc/named.rfc1912.zones
#service named restart
#rndc reload 同步
#tail /var/log/messages 查看日志
4、反向解析从服务器
#vim /etc/named.rfc1912.zones
#named-checkconf
#rndc reload
#tail /var/log/messages