目录
前言
网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的IP地址,而不能认识域名。我们无法记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的IP地址,然后调出IP地址所对应的网页。
一、DNS概述
1.DNS系统的作用
- 正向解析:根据域名查找对应的IP地址
- 反向解析:根据IP地址查找对应的域名
2.DNS系统的分布式数据结构
1、根域:位于树状结构最顶层,用"."表示
2、*域:一般代表一种类型的组织机构或国家地区;
如.net(网络供应商)、.com(工商企业)、.org(团体组织)、.edu(教育结构)、.gov(*部门)、.cn(中国国家域名)
3、二级域:用来标明*域内的一个特定的组织,国家*域下面的二级域名由国家部门统一管理
4、子域:二级域下所创建的各级域统称为子域,各个组织或用户可以*申请注册自己的域名
5、主机:主机位于域名空间最下层,就是一台具体的计算机。
3.两种查询方式
(1)递归查询
递归查询是一种 DNS 服务器的查询模式,在该模式下 DNS
服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果 DNS 服务器本地没有存储查询 DNS信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。
总的一句话,就是客户机发送请求后自己只用等待结果即可,中间具体过程交给服务器实现。
(2)迭代查询
DNS服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS
服务器并不直接回复查询结果,而是告诉客户机另一台 DNS服务器地址,客户机再向这台 DNS服务器提交请求,依次循环直到返回查询的结果为止
总的一句话,客户机的请求需要自己挨个去查询才能得到结果,服务器没有结果时候只会给你提供其它服务器的地址,而不会帮你去请求查询,这与递归截然相反
4.DNS服务器类型
(1)主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
(2)从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
(3)缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,
因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNs服务器作为解析来源。
(4)转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。
二、配置正向解析
1.yum install -y bind 安装以下bind
2.rpm -ql bin 查看下配置文件
3.vim /etc/named.cof 编辑主配置文件
vim /etc/named.conf
options {
listen-on-v6 poet 53 { 192.168.118.131; }; #监听53端口,IP地址使用提供服务的本地IP,也可用any代表所有
#listen-on-v6 port 53 { : :1; }; #ipv6行如不使用可以注释掉或者删除
directory "/var/named"; #区域数据文件的默认存放位 置
dump- file "/var/ named/data/cache_ dump . db"; #域名缓存数据库文件的位置
statistics-file "/var/named/data/named stats.txt"; #状态统计文件的位置
memstatistics-file "/var/named/data/named_ mem_ stats. txt"; #内存统计文件的位置
allow-query { any; }; #允许使用本DNS解析服务的网段,也可用any代表所有
4.更改区域配置文件,添加正向解析的区域目标
[root@localhost /var/named]#vim /etc/named.rfc1912.zones
......
};
zone "benet.com." IN { #正向解析的区域
type master;
file "benet.com.zone"; #指定文件为benet.com.zone
allow-update { none; };
};
......
5.备份指定区域数据配置文件
[root@localhost /var/named]#cd /var/named/ #区域数据文件存放位置
[root@localhost /var/named]#ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@localhost /var/named]#cp -p named.localhost benet.com.zone #这里一定带上"-p"选项,保留权限
[root@localhost /var/named]#ls
benet.com.zone data dynamic named.ca named.empty named.localhost named.loopback slaves
6.编辑指定区域数据配置文件
[root@localhost /var/named]#vim benet.com.zone
$TTL 1D
@ IN SOA benet.com. admin.benet.com. (
o ; s erial #更新序列号,可以是10位以内的整数
1D ; refresh #刷新时间,重新下载地址数据的间隔
1H ; retry #重试延时,下载失败后的重试间隔
1w ; expire #失效时间,超过该时间仍无法下载则放弃#
3H) ; minimum #无效解析记录的生存周期,
NS benet.com. #记录当前区域的DNS服务器的名称
A 192.168.201.131 #记录主机IP地址
IN MX10 mail.benet.com. #MX为邮件交换记录,数字越大优先级越低
www IN A 192.168.201.131 #记录正向解析www.benet.com对应的IP
mail IN A 192.168.201.151 #MX为邮件交换记录,数字越大优先级低
ftp IN CNAME www #CNAME使用别名,ftp 是www的别名
* IN A 192.168.201.161 #泛域名解析,“*" 代表任意主机名
7.配置正向区域数据文件vim benet.com.zone
8.systemctl restart named 重启named 服务
9.systemctl status named 查看named 服务状态
10.修改dns地址vim /etc/resolv.conf
11.测试结果
三、配置反向解析
1.vim /etc/named.rfc1912.zones
2.备份cp -p benet.com.zone benet.com.zone.local
3.vim benet.com.zone.local
4.systemctl restart named 重启named 服务
5.测试