22胡光磊
DNS服务器介绍
DNS服务器简介
为了便于记忆,计算机用户通常使用主机名访问网络中的主机,然而计算机系统不能直接识别主机名,因此需要一种将主机名转换为D的机制。操作系统中可以使用hosts文件实现P地址和主机名之间的翻译,如Linux系统中使用/etc/hosts文件、Windows Server系统中使用%SystemRoot%\system32\drivers\etc\hosts文件。当一台主机需要定位网络中的另一台主机时,就查看hosts文件
仅仅依靠hosts文件来实现主机名和正地址之间的翻译已经无法适应INTERNET发展需求,于是设计了能够实现自动转换的域名系统(Domain Name System)。 DNS基于客户机/服务器(C/S)模型设计。在网络中将一台主机作为DNS服务器,当客户机要用域名定位另一台计算机时就会给DNS服务器发送请求,由DNS服务器负责查找并完成由域名到地址的映射,然后将地址发送回客户机。整个过程不需要用户参与。
DNS服务器实现原理
1.正向解析与反向解析当DNS客户机向DNS服务器提交域名查询I地址,或DNS服务器向另一台DNS服务器提交域名查询地址,DNS服务器作出响应的过程称为正向解析。反之,当DNS客户机向DNS服务器提交IP地址查询域名,DNS服务器作出响应的过程称为反向解析。
递归查询
(1)递归查询
递归査询(递归解析) 是默认的 DNS 解析方式在这种解析方式中,如果客户端配置的本地名称服务器遇到不能解析的,则后面的查询全由本地名称服务器代替DNS 客户端进行查询,直到本地名称服务器从权威名称服务器得到了正确的解析结果,然后由本地名称服务器吿诉 DNS 客户端查询的结果。
迭代查询
(2)迭代查询
DNS服务器收到客户机的请求后,若没有查到,则将请求发给根域DNS服务器,依序从根域查到顶级域,从顶级域查到二级域,再从二级域查到三级域,以此类推直至找到要解析的地址或域名,然后向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到信息后转发给客户机。如果最终都没有找到所需的信息,则向客户机返回错误信息。
DNS类型
(1)主域名服务器(Primary、Master)主域名服务器负责维护域中的域名服务信息,管理员需要配置正向解析文件、反向解析文件等相关信息,本身具有向客户机提供域名解析的功能。
(2)辅助域名服务器(Secondary、Slave)辅助域名服务器不需要配置正向解析与反向解析的数据库文件,辅助域名服务器的正向解析与反向解析数据库是从主域名服务器复制得来的。辅助域名服务器的作用是分担主域名服务器的查询负担,提供域名查询的稳定性和可靠性。
(3)高速缓存域名服务器(Caching)
高速缓存域名服务器不配置域名解析数据库文件,也不从主域名服务器同步其数据库信息。当本地DNS客户机有查询请求时,它会向某个远程DNS服务器转发查询请求。
进行DNS服务器配置
Centos7搭建DNS服务器以实现域名与IP的双向解析,即通过域名可以找到主机IP,也可以通过IP找到域名。
1、DNS规划
规划要进行解析的域名和ip
A:作用是把域名解析成ip
CNAME:别名
test1.hgu.com 192.168.8.201 A
test2.hgu.com 192.168.8.202 A
testc.hgu.com test2.hgu.com CNAME
2、安装bind
Bind是一款功能强大、配置灵活的DNS服务器软件,广泛用于Internet和局域网环境。
先查看系统是否安装DNS软件包
yum list installed |grep bind
没有安装就进行安装
yum install -y bind bind-utils
3、编辑主配置文件
如果报错不存在vim命令或者不会使用vim编辑器先移步其他文章进行学习
找到以下两个配置进行修改,其他不用动
listen-on——指定DNS要监听的IP地址和端口号
allow-query——此选项配置允许请求 DNS 解析的主机。
vim /etc/named.conf
listen- on port 53 { any; };
allow- query { any; };
例:
4、配置区域文件
在末尾进行添加
vim /etc/named.rfc1912.zones
zone "hgu.com" IN {
type master;
file "hgu.com.zone";
};
zone "8.168.192.in-addr.arpa" IN {
type master;
file "8.168.192.zone";
};
5、配置正向解析文件
NS:专用于表明当前区域的DNS服务器,服务器类型为域名服务器
cp -p /var/named/named.localhost /var/named/hgu.com.zone
vim /var/named/hgu.com.zone
$TTL 1D
@ IN SOA hgu.com. root.hgu.com. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.hgu.com.
dns A 192.168.8.XXX
test1 A 192.168.8.201
test2 A 192.168.8.202
testc CNAME test1
6、配置反向解析文件
PTR:反向解析
cp -p /var/named/named.empty /var/named/8.168.192.zone
vim /var/named/8.168.192.zone
$TTL 3H
@ IN SOA hgu.com. root.hgu.com. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.hgu.com.
201 PTR test1.hgu.com.
202 PTR test2.hgu.com.
202 PTR testc.hgu.com.
7、测试机设置DNS
vim /etc/resolv.conf
nameserver 192.168.8.xxx
8、放行端口
firewall-cmd --permanent --add-port=53/tcp --zone=public
firewall-cmd --permanent --add-port=53/udp --zone=public
9、启动named,测试
systemctl restart named
nslookup #进行测试
在nslookup里面输入域名回车解析
博主在发安装Centos的时候就设置的固定的DNS地址为192.168.22.2,这里就不放上截图了