简介

DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。

工作原理

超详细DNS正、反向解析以及主从复制
用户如何访问百度?
www为主机名,baidu.com.作为域名,主机名+域名,是从后往前进行查询,首先DNS缓存服务器有一张DNS查询表(域名对应IP)。当客户机访问百度,DNS缓存服务器此时假设没有www.baidu.com这一条记录
1、此时DNS_Server会请求根服务器,根返回给顶级域服务器指针。
2、再请求顶级域服务器(按功能、地区),返回给DNS以com为结尾的二级域指针
3、再请求二级域baidu,在将整个IP地址180.18.18.18返回给缓存服务器,此时www.baidu.com对应的IP地址180.18.18.18关系会自动生成在DNS服务器中。DNS再将递归查询的结果告知给PC机,PC机对四要素(源目IP、MAC)进行封装,找到真正的百度web服务器,百度服务器再将相关网页、图片等等加载到PC端

常见DNS类型

1、缓存域名服务器
只提供域名解析结果的缓存功能,目的在于提高査询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源
2、主域名服务器
维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯存在的权威服务器、官方服务器。构建主域名服务器时,需要自行建立所负责区域的地址数据文件
3、从域名服务器
与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。对客户机来说,无论使用主域名服务器还是从域名服务器,查询的结果都是一样的。

实验环境

  • 系统环境:centos6.5
  • DNS主服务器IP地址:192.168.1.20
  • DNS从服务器IP地址:192.168.1.30
  • 光盘挂载目录:/mnt/sr0

搭建步骤:

一、准备工作

1、关闭防火墙、Selinux

[root@client ~]# vim /etc/sysconfig/selinux
超详细DNS正、反向解析以及主从复制

[root@client ~]# chkconfig iptables off #开机启动关闭防火墙
超详细DNS正、反向解析以及主从复制

2、确认主、从服务器IP地址

[root@raid ~]# ifconfig
超详细DNS正、反向解析以及主从复制

[root@client ~]# ifconfig
超详细DNS正、反向解析以及主从复制

二、构建主域名服务器

1、安装bind软件包

[root@raid ~]# cd /mnt/sr0/Packages/
[root@raid Packages]# rpm -ivh bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm 

2、修改主配置文件named.conf

[root@raid ~]# vim /etc/named.conf
超详细DNS正、反向解析以及主从复制

3、建立、编辑正向解析配置文件bt.com.zone

[root@raid ~]# cd /var/named/
[root@raid named]# cp -p named.localhost bt.com.zone #直接用区域配置文件模板进行编辑,一定要加-p,否则所属组不是named,启动时候是有问题,一定要注意,这是一个坑!!!!!!!!!!!!!!!!

[root@raid named]# vim bt.com.zone
超详细DNS正、反向解析以及主从复制

4、建立、编辑反向解析配置文件192.168.1.zone

[root@raid named]# cp -p bt.com.zone 192.168.1.zone
[root@raid named]# vim 192.168.1.zone

超详细DNS正、反向解析以及主从复制

5、启动named服务、修改本地客户机DNS配置文件

[root@raid named]# /etc/init.d/named start
[root@raid named]# vim /etc/resolv.conf

超详细DNS正、反向解析以及主从复制

6、验证主域名服务器

超详细DNS正、反向解析以及主从复制

超详细DNS正、反向解析以及主从复制

三、构建从域名服务器

1、安装bind软件包

[root@client ~]# cd /mnt/sr0/Packages/
[root@client Packages]# rpm -ivh bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm 

2、修改主配置文件named.conf

[root@client ~]# vim /etc/named.conf
超详细DNS正、反向解析以及主从复制

超详细DNS正、反向解析以及主从复制

3、启动named服务,查看区域数据文件是否下载成功

[root@client ~]# /etc/init.d/named start
[root@client ~]# ll /var/named/slaves/

超详细DNS正、反向解析以及主从复制

4、验证从域名服务器

[root@client ~]# vim /etc/resolv.conf #修改本地客户机DNS配置文件
超详细DNS正、反向解析以及主从复制

[root@client ~]# cat /var/named/slaves/bt.com.zone #查看正向解析数据配置文件
超详细DNS正、反向解析以及主从复制

四、测试主从同步

1、修改主域名服务器配置文件

[root@raid ~]# vim /etc/named.conf
超详细DNS正、反向解析以及主从复制

2、修改主域名服务器端向正反向解析区域数据配置文件

[root@raid ~]# vim /var/named/bt.com.zone
超详细DNS正、反向解析以及主从复制

[root@raid ~]# vim /var/named/192.168.1.zone
超详细DNS正、反向解析以及主从复制

3、重新启动named服务

[root@raid ~]# /etc/init.d/named restart

4、修改从域名服务器端向正反向解析区域数据配置文件

[root@client slaves]# vim bt.com.zone
超详细DNS正、反向解析以及主从复制

5、重新启动从域名服务器named服务

[root@client slaves]# /etc/init.d/named restart

超详细DNS正、反向解析以及主从复制