dns的作用:
地址解析IP -> 域名 域名 ->IP
四种dns服务器:
缓存dns服务器
搭建DNS服务器
1、下载安装dns的程序包
yum install -y bind
rpm -ql bind
2、配置主配置文件
整个bind的程序都是由C语言开发的,语法遵循C语言格式
1、行尾必须加;号
2、//单行注释 /*多行注释*
systemctl start named
cp named.rfc1912.zone
yum install -y bind-utils
3 配置/etc/named.rfc1912.zones
DNS
域名解析:域名转换为IP地址的过程;方便人们更好的记忆网站;
早期的域名解析:
直接记忆IP地址
网站逐渐增加,1、取名 2、找地方记录下来 --hosts文件
C:WindowsSystem32driversetchosts windows
/etc/hosts linux
网站逐渐增加(更多了)
把解析工作交给专门的服务器去做解析
IANA(所有的解析记录)
网站逐渐增加(又多了)
创建分级结构,此时,IANA的根域名服务器不再直接为客户提供解析记录,而是将这个工作交给下一级也就是顶级域名服务器。
全球13个根域名服务器(.)IANA只维护顶级域名服务器
早期的顶级域名服务器只有七个:.com .gov .org .net .mil .edu .int
随着时间推移,IANA不再维护顶级域名服务器:公开域名权限分为三类:1、国家类 2、反向类 3、组织类
域名如何进行查找:
1、本区域内查找域名
2、查找区域外的域名
递归 --一次查找获得结果
迭代 --多次查找获得结果
PC机器做迭代查找,只用将解析请求交给本地DNS服务器即可
本地DNS服务器替代PC机去向互联网做迭代查找,先找根,再找顶级域名服务器,最后找到公司域名。
3、缓存服务器
可以指定其他互联网DNS服务器为我们做解析
DNS的分类:
1、主DNS服务器
解析库 -- SOA记录
SOA记录中有一系列的时间:
1、序列号 serial定义当前时间 -- 20190904 --每次修改 序列号要加1;他可以出发解析库同步
2、创新时长 从服务器从主服务器同步解析库的时间间隔、多长时间同步一次
3、重试时长从服务器没有同步成功,多久再去同步
4、过期时长 试了很长时间,确认服务器down机
5、最小TTL值 所有域名解析记录最小的生存时间
2、从NDS服务器
3、缓存服务器 -- 默认安装bind程序,启动起来就是一个缓存服务器
4、转发器 -- 不做解析,将解析请求转发给指定的DNS服务器即可
DNS服务器提供端口:53
UDP53 -- 查询请求以及恢复
TCP53 -- 主从同步
DNS解析库
格式:被解析的条目 ttl in 解析条目类型 解析后条目
【ttl值通过首行写$的方式,定义了。所以我们看到的都没有写ttl】
解析条目类型
SOA 起始授权记录
NS 域名服务 -- 指定DNS服务器
【注意:如果当前条目所指定的被解析条目与上一条相同,即可省略】
【延伸:如果同一个被解析条目对应了两个服务器,而这两个服务器提供同样的应用,就可以实现基于DNS的负载均衡】
A IPv4的正向解析记录
【注意:被解析的记录是支持模糊查询的,比如*代表所有字符,一般配置在最后面】
PTR 反向解析记录
AAAA IPv6的正向解析记录
MX 邮件解析记录
有一个优先级要定义,范围0-99越低越优先;邮件的解析记录喝NS一样,要写A记录
test.com. IN MX 10 mail1.test.com.
IN MX 20 mail2.test.com.
mail1 IN A 192.168.94.188
mail2 IN A 192.168.94.189
CNAME 别名记录
将原有的DNS记录转换成另外一个名字
DNS主备
主服务器 -- master
从服务器 -- slave
通过TCP53号端号进行数据同步
128:
yum install -y bind
cd /etc/named
ls
cd slaves
cd ..
cp /etc/named.conf /etc/named.conf.bak
vim /etc/named.conf
cp /etc/named.rfc1912.zones
vim
zone "test.com" IN {
type master;
file "test.com.zone";
};
vim test.com.zone
vim 192.168.94.zone
systemctl restat named
yum install -y bind-utils
130:
与前面步骤差不多
一定要放开TCP53号端口
子域授权
原理:基于DNS服务器的分层结构
我们下一级的域环境需要父域进行授权
父域进入本机的库文件中,去指定子域的NS服务器即可,对应的A记录也要写上
配置:
转发器
/etc/named.conf
option{
forward{ first | only };