简介
DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对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
[[email protected] ~]# vim /etc/sysconfig/selinux
[[email protected] ~]# chkconfig iptables off #开机启动关闭防火墙
2、确认主、从服务器IP地址
[[email protected] ~]# ifconfig
[[email protected] ~]# ifconfig
二、构建主域名服务器
1、安装bind软件包
[[email protected] ~]# cd /mnt/sr0/Packages/
[[email protected] Packages]# rpm -ivh bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
2、修改主配置文件named.conf
[[email protected] ~]# vim /etc/named.conf
3、建立、编辑正向解析配置文件bt.com.zone
[[email protected] ~]# cd /var/named/
[[email protected] named]# cp -p named.localhost bt.com.zone #直接用区域配置文件模板进行编辑,一定要加-p,否则所属组不是named,启动时候是有问题,一定要注意,这是一个坑!!!!!!!!!!!!!!!!
[[email protected] named]# vim bt.com.zone
4、建立、编辑反向解析配置文件192.168.1.zone
[[email protected] named]# cp -p bt.com.zone 192.168.1.zone
[[email protected] named]# vim 192.168.1.zone
5、启动named服务、修改本地客户机DNS配置文件
[[email protected] named]# /etc/init.d/named start
[[email protected] named]# vim /etc/resolv.conf
6、验证主域名服务器
三、构建从域名服务器
1、安装bind软件包
[[email protected] ~]# cd /mnt/sr0/Packages/
[[email protected] Packages]# rpm -ivh bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
2、修改主配置文件named.conf
[[email protected] ~]# vim /etc/named.conf
3、启动named服务,查看区域数据文件是否下载成功
[[email protected] ~]# /etc/init.d/named start
[[email protected] ~]# ll /var/named/slaves/
4、验证从域名服务器
[[email protected] ~]# vim /etc/resolv.conf #修改本地客户机DNS配置文件
[[email protected] ~]# cat /var/named/slaves/bt.com.zone #查看正向解析数据配置文件
四、测试主从同步
1、修改主域名服务器配置文件
[[email protected] ~]# vim /etc/named.conf
2、修改主域名服务器端向正反向解析区域数据配置文件
[[email protected] ~]# vim /var/named/bt.com.zone
[[email protected] ~]# vim /var/named/192.168.1.zone
3、重新启动named服务
[[email protected] ~]# /etc/init.d/named restart
4、修改从域名服务器端向正反向解析区域数据配置文件
[[email protected] slaves]# vim bt.com.zone
5、重新启动从域名服务器named服务
[[email protected] slaves]# /etc/init.d/named restart
原文地址:http://blog.51cto.com/11905606/2146054