初学,本文只记录自己对DNS的一些理解,及其在linux上的实现。本文的实验环境是CentOS6.6,使用的bind版本为9.8.2
DNS:Domain Name System,因特网上主机名和ip地址相互映射的数据库系统。因特网上主机之间的通信是通过ip地址实现的,而人通常只记忆某网站的网址,网址和ip之间的转换则由DNS负责,使得人们使用起来更为方便快捷。
整个DNS域名空间呈倒立的树状结构,被称为域树,而域名则是由IANA(互联网数字分配机构)统一分配,通过根域可以找到互联网上所有可被访问的主机,全球一共有13组根域服务器。
【一次完整的DNS查询过程】
Client --> hosts文件 --> DNS Service
Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) -->
客户端需要查询所需主机的IP地址过程:首先会查询本机的hosts文件,如果hosts文件中没有对应记录,client则会向本地的DNS服务器发出申请,如果local DNS服务器仍然没有记录,则会向根域申请(每一台作为DNS服务器主机必须要知道根域的位置),根域会告诉localDNS 顶级域的位置,顶级域会告诉localDNS所要查询的子域所在的位置,子域DNS会把要找的主机的IP地址反馈给Local DNS,local最终把IP送回client。
【DNS服务器的类型】
缓存DNS服务器:不负责解析任何域,但主机通过它可以做DNS查询。一台缓存DNS服务器至少需要能解析“根”及“localhost”。
主DNS服务器:维护所负责解析的域内解析库服务器;解析库由管理维护;
从DNS服务器:从主DNS服务器或其它的从DNS服务器那里“复制”(区域传递)一份解析库;
【DNS服务器维护的资源记录类型】
记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX
SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录;
A:internet Address,作用,FQDN --> IP
AAAA: FQDN --> IPv6
PTR: PoinTeR,IP --> FQDN
NS: Name Server,专用于标明当前区域的DNS服务器
CNAME:Canonical Name,别名记录
MX: Mail eXchanger,邮件交换器
【bind】
bind是一种流行的DNS服务器软件,目前internet上有半数以上的DNS服务器是用bind架设的。
包名:bind
进程:named
协议:dns
使用端口:53(tcp,udp)
相关包:
bind-libs:bind服务器端和客户端都使用到的公共库文件
bind-utils : bind客户端工具
说明:与bind相关的还有其它软件包,以实现安全性等功能在此不深究,只需安装bind-libs,bind-utils,bind三个程序包,即可架设一台简易DNS服务器。
程序文件:/usr/sbin/named
【使用bind搭建DNS服务器】
bind的配置文件
[root@localhost ~]# rpm -qc bind /etc/logrotate.d/named /etc/named.conf #主配置文件 /etc/named.iscdlv.key /etc/named.rfc1912.zones #另一部分住配置文件,主要用来授权区域。 /etc/named.root.key /etc/rndc.conf /etc/rndc.key /etc/sysconfig/named /var/named/named.ca #根区域解析文件 /var/named/named.empty /var/named/named.localhost /var/named/named.loopback [root@localhost ~]#
安装完bind,按照上图修改配置文件,并执行“service named start”,一台缓存DNS服务器就可以正常工作了,但要搭建主DNS服务器还需要定义解析区域,并编辑区域解析库文件
要搭建一台简单的DNS服务器需要两个操作
1,在主配置文件中定义区域。
2,定义区域解析库文件编辑完配置文件可以使用
named-checkconf:检查主配置文件
named-checkzone "hankniu.com" /var/named/hankniu.com.zone:检查区域解析库文件
一台“hankniu.com”区域的主DNS服务器就配置成功了,使用dig命令测试,
#dig -t A @ 172.16.7.1
同样还可以配置“hankniu.com”区域的反向解析:
【DNS主从同步的实现】
每个域只能有一台主DNS服务器,但可以有多台从DNS服务器。主DNS服务器的区域解析文件由管理员手动维护,从DNS服务器的区域解析文件从主DNS服务器上通过区域传送而来。
辅助DNS服务器配置关键点:
1,需要在主DNS服务器上添加从DNS服务器的NS,A记录。
我们配置的主DNS 服务器已经有辅助DNS的记录,NS:ns2.hankniu.com,IP:172.16.7.3
2,配置从DNS 服务器的配置文件,配置格式与主DNS 有所不同
从DNS服务器的区域解析文件由主DNS服务器传送而来,所以通过以上行配置,一台从DNS服务器已经可以增长工作了。