一,DNS简介
DNS(Domain Name System)是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分布式 数据库,能够使人更方便的访问互联网。 DNS系统使用的是网络的查询,那么自然需要有监听的port。DNS使用的是53端口, 在/etc/services(搜索domain)这个文件中能看到。
二.域名服务器的划分
- 根域名服务器
- 顶级域名服务器
- 权限域名服务器
- 本地域名服务器
- 主从DNS服务器
- 缓存DNS服务器
DNS解析方式
正向解析:将FQDN----->IP
反向解析:将IP----->FQDN
三,DNS服务配置
提供DNS服务的软件叫bind,服务名是named。
[root@localhost ~]# yum install bind -y
[root@localhost ~]# rpm -ql bind
/etc/named.conf # bind主配置文件
/var/named/slaves # 从dns服务器文件夹
[root@localhost ~]# vim /etc/named.conf
options {
#定义监听端口,如果所有地址都监听,则只写端口
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
#定义数据文件目录
directory "/var/named";
#只允许本地主机进行查询
allow-query { localhost; };
};
#定义区域
zone "." IN {
type hint;
file "named.ca";
};
正向解析文件资源记录(Resource Record,RR),常见的正解文件RR相关信息:
SOA主要是与区域有关,所以domain要写域名。而SOA后面会接七个参数,这七个参数的意义如下:
- Master DNS服务器主机名:这个区域主要是哪台DNS作为Master的意思。
- 管理员的Email,发生问题可以联系这个管理员。由于@在数据库文件中有特殊含义,所以将用"." 代替@
- 序号(Serial),这个序号代表的是这个数数据库文件的新旧,序号越大代表越新。所以当你更改了数据库内容时,需要将这个数值放大。
- 更新频率(Refresh)定义slave多久向Master要求数据更新。
- 失败重新尝试时间(Retry),如果Slave无法对Master实现连接,那么在多长时间内,Slave会尝 试重新连接到Master。
- 失效时间(Expire),如果一直尝试失败,持续连接到达这个设置值时限,那么Slave将不再继续 尝试连接,并且尝试删除这份下载的zone file信息。
- 缓存时间(Minumum TTL),如果这个数据库zone file中,每条记录都没有写到TTL缓存时间的 话,那么就以这个SOA的设置值为主。ttl的意思是当这笔记录被其他DNS服务器查询到后,这个记 录会在对方DNS服务器的缓存中,保持多久时间。如果写了$TTL,则以该值为准。