DNS主从、子域授权,转发实验

来源:互联网 发布:js object 键 值 编辑:程序博客网 时间:2024/06/05 23:41

一、DNS

Domain Name System或者Domain Name Service(域名系统或者域名服务)。域名系统为Internet上的主机分配域名地址。由于网络中的计算机都必须有个IP地址,来识别, 互相之间才能通信,但让我们记住一大串的IP地址来访问网站显然是不可能的,所以用户使用域名地址,而DNS系统的功能就是自动把域名地址翻译为IP地址。域名服务是运行域名系统的Internet工具。执行域名服务的服务器称之为DNS服务器,通过DNS服务器来应答域名服务的查询。

域名DNS解析流程

第一步:本地客户机提出域名解析请求,查找本地HOST文件后将该请求发送给本地的域名服务器。
第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
第三步:如果本地DNS缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。
第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
第五步:重复第四步,直到找到正确的纪录。
第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户
DNS查询类型:递归查询和迭代查询
解析类型:FQDN –> IP      IP –> FQDN
这里写图片描述

DNS端口协议

DNS,监听于TCP/53端口。UDP/53端口。
UDP是属于面向非连接协议,在DNS解析上速度会提升,一般用于域名解析,UDP最大传输512字节,而域名最长67字节。
TCP是属于面向连接协议,提供可靠传输,需要经过三次握手,一般用于区域传送(就是主从同步),来检验数据输是否可靠,不可能说别人给我传什么,我就接收什么。如果使用TCP协议解析域名,需要建立三次握手,并且还会经历迭代查询,影响解析速度。

资源记录

资源记录是用于答复DNS客户端请求的DNS数据库记录,每一个DNS服务器包含了它所管理的DNS命名空间的所有资源记录。资源记录包含和特定主机有关的信息,如IP地址、提供服务的类型等等。常见的资源记录类型有:

  • SOA:Start Of Authority,起始授权记录;一个区域解析库有 且仅能有一个SOA记录,必须位于解析库的第一条记录
  • A:internet Address,作用,FQDN –> IP
  • PTR: PoinTeR,IP –> FQDN
  • NS: Name Server,专用于标明当前区域的DNS服务器
  • CNAME:Canonical Name,别名记录
  • MX: Mail eXchanger,邮件交换器

DNS主从同步实验

搭建环境:两台centos虚拟机,做DNS主从复制 安装包:本地yum源安装bind包,重启服务 centos7:

systemctl restart named;systemctl enable named
centos6: service named restart ;chkconfig named on

主DNS服务器IP地址:192.168.243.7 从DNS服务器IP地址:192.168.243.6

bind配置文件为/etc/named.conf,此文件用于定义区域。每个区域的数据文件保存在/var/named目录下。

一、主DNS配置 (192.168.243.7)

[root@centos7 ~]#vim /etc/named.conf    编辑全局配置文件
12 options {13 //   listen-on port 53 { localhost; };  #定义监听端口及IP地址14 //   listen-on-v6 port 53 { ::1; };  #//前面加两个反斜杠//代表注释15      directory       "/var/named";  #全局目录(正反解析文件存放在此目录下)16      dump-file       "/var/named/data/cache_dump.db";17      statistics-file "/var/named/data/named_stats.txt";18      memstatistics-file "/var/named/data/named_mem_stats.txt";19      allow-query     { any; };   #自定义允许查询的IP地址

编辑新建一个mage.com域配置文件

[root@centos7 ~]#vim /etc/named.rfc1912.zones

这里写图片描述

创建正向解析数据库

[root@centos7 named]#cp -p  named.localhost magedu.com.zone[root@centos7 ~]#vim /var/named/magedu.com.zone      

这里写图片描述
测试:

[root@centos7 named]#named-checkconf   主配置文件语法检查: [root@centos7 named]#named-checkzone magedu.com magedu.com.zone     解析库文件语法检查:  # rndc status|reload ;service named reload[root@centos7 named]#dig -t ns magedu.com @192.168.243.7

创建反向解析数据库

[root@centos7 named]#cp -p named.empty zone.mage.com[root@centos7 named]#vim zone.mage.com 

这里写图片描述

测试:

[root@centos7 named]#named-checkconf [root@centos7 named]#named-checkzone 243.168.192.in-addr.arpa  zone.mage.com [root@centos7 named]#rndc reload测试反向解析:[root@centos7 named]#dig -x  192.168.243.131

二、从DNS配置(192.168.243.6)

[root@centos6 slaves]#vim /etc/named.rfc1912.zones 

这里写图片描述

[root@centos6 slaves]#cd  /var/named/slaves/      配置文件同步到本机slaves 目录下了

总结:实验保证两台机器时间同步,最好系统版本相同。把refresh刷新时间值修改到秒,在验证主dns数据库文件发生变化,观察从DNS是否发生变化,是最好重启named 服务。


在主从dns服务器做安全加固:

主dns /etc/named.conf 加上最后一条 allow-transfer 只允许这两个ip 能够抓取数据
这里写图片描述
从dns服务器 /etc/named.conf none表示其他人不能在从DNS服务器抓取数据(其数据来源与主dns服务器)
这里写图片描述


DNS子域授权

在父域上 把beijing 域委派给子域192.168.243.136管理父域IP:192.168.243.7子域IP: 192.168.243.6
父域[root@centos7 named]#vim /etc/named.conf

这里写图片描述

这里写图片描述
测试:

dig -t A dns1.beijing.magedu.com  @192.168.243.7

DNS 转发实验

当用户需要访问 192.168.243.7的wang.com域时192.168.243.7中不存在wang域,则转到192.168.243.6(存在wang.com 域)中去   首先在192.168.243.6中建立wang.com
vim /etc/named.rfc1912.zones

这里写图片描述

 vim /var/named/wang.com.zone

这里写图片描述

DNS全局转发:

DNS服务器IP:192.168.243.7
对非本机所负责解析区域的请求,全转发给指定的服务器
这里写图片描述
测试
在一台dns请求客户机

dig www.wang.com @192.168.243.7

dns特定区域转发

仅转发对特定的区域的请求,比全局转发优先级高
dns 转发服务器IP 192.168.243.6
这里写图片描述
测试:

dig www.wang.com @192.168.243.6  

注意:关闭dnssec功能:
dnssec-enable no;
dnssec-validation no

原创粉丝点击