DNS定义:域名系统 (Domain Name System),它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
DNS服务使用TCP和UDP的53端口
TCP的53端口用于连接DNS服务器
UDP的53端口用于解析DNS
每一级域名长度限制63个字符,域名总长度不能超过253字符
http://www.baidu.com.cn. / 这里的一个完整的地址对应各个域如下
http://主机名.二级域.顶级域 根域/
树状结构最顶层称为根域,用"."表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用"委派"机制,在根域下设置了一些顶级域,然后将不同顶级域解析权分别委派给相应的顶级域服务器,如将com域的解析权委派给com域服务器,以后但凡根服务器收到以com结尾的域名解析请求,都会转发给com域服务器,同样道理,为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域或主机。
根域
位于域名空间最顶层,一般用一个“".”表示
顶级域
一般代表一种类型的组织机构或国家地区,如 .net (网络供应商)、.com (工.商企业)、.org(团体组织)、.edu(教育机构)、.gov(政府部门)、.cn (中国国家域名)
二级域
用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如.cn顶级域名下面设置的二级域名: .com.cn、.net.cn、.edu.cn
子域
二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
主机
主机位于域名空间最下层,就是一台具体的计算机
如 www、mail都是具体的计算机名字,可用www.baidu.com.cn. 、mail.baidu.com.cn. 来表示,这种方式称为FQDN(完全合格域名),也是这台主机在域名中的全名
根据域名查找对应的IP地址
我们日常的输入www.baidu.com就是通过域名来查询对应的IP地址进行通信的
就是输入baidu来查找ip地址访问
先通过yum 安装 bind (如果没有挂载,需要先mount /dev/cdrom /mnt/ 挂载)
进入主配置文件,把监听的ip 改为本DNS服务器的IP地址,并且把允许访问改成any
再进入区域配置文件,进行配置
配置正向区域配置文件
不要在原有的配置文件上进行修改,复制一份以它为模板,再进行修改。注意,需要保持文件原有的属组,因此cp命令时,需要加-p
且文件名 为之前区域配置文件,自己配置的文件名即 rain.com.zone
进入复制好的这个配置文件进行如下图配置
这里配置的是具体域名主机名对应的解析出的IP地址
配置完毕后
通过vim /etc/resolv.conf 命令设置网卡
配置完成后 ,通过host 和 nslookup检测正向解析是否成功
根据IP地址查找对应的域名
在正向解析已完成的基础上增加一个反向解析
cd /etc/
直接进行更改区域配置文件,在原有正向的基础上,再增加一个反向解析
增加的反向解析,需把自定义的配置文件记清,因为,一会儿需要通过复制创建再更改此自定义的配置文件。
这里对复制过来的配置文件进行修改,改成反向的配置
这里左边的10和11表示IP地址,对应右边的域名
更改完成后,进行重启named服务。
若重启成功,则直接进行验证即可。如下图所示
1.主域名服务器:
负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件
2.从域名服务器:
当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
3.缓存域名服务器:
只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNs服务器作为解析来源。
4.转发域名服务器:
负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。
构建DNS域名解析服务器步骤
主服务器的主配置文件不需要修改
直接更改主服务器的区域配置文件
修改从域名服务器的主配置文件
在从服务器上先挂载yum
再用yum安装 bind
yum install -y bind
再配置 vim /etc/named.conf
修改从域名服务器区域配置文件,添加正反区域配置
我这里服务启动失败,看到具体原因是拼写错误
改正并保存,再次启动无误。
再在从服务器中查看是否已经有数据下载文件
ls -l /var/named/slaves/ 指令查看slaves下是否有文件
总量8即为正确
再在主从服务器的网卡中添加地址
再次 重启服务
systemctl restart named
无报错即可,
断主服务器,测试从服务器是否顶替。
切换到主服务器中
输入:systemctl stop named.service这个指令
断开主服务器,此时去从服务器检测,从服务器是否顶替工作
通过nslookup www.rain.com 来监测
发现从服务器,从主服务器上下载解析服务,并且顶替主服务器使用。实验成功。
网关服务器就是一台DNS服务器
对于同一台DNS服务器来说
内网用户访问一个DNS的服务,解析成一个内网的IP(例如192.168.100.100)
外网用户访问内网内的一台主机,DNS解析成一个外网的ip地址(例如12.0.0.100)
因此根据不同网段的访问用户,DNS服务器会把相同域名解析成不同的IP地址,这就是分离解析。
实验:在网关服务器搭建DNS分离解析,使局域网主机解析www.rain.com 为192.168.40.200,外网主机解析www.rain.com 为12.0.0.1
1.为网关服务器配置双网卡
在关机状态下再添加一块网卡
添加完再开机。
配置网卡:
(1).通过ip addr我们可以看到ens36 需要进行配置
(2)复制ens33的网卡,改名为ens36,并且进入进行修改配置
(3)修改ens36网卡的配置
如下图,其他多余的被我删掉了
之后再进行 ifconfig,发现ens36,已经配置上去了。
2.安装bind 软件包
如果没有挂载,需要先挂载。
3.修改主配置文件
这里需要把zone 开头的剪切出去,否则后面 启用named 服务时会报错
4.修改区域配置文件
进入区域配置文件并且修改配置
这里请一定注意格式!!!请一定规范!!!
1.各种空格一定要加;
2.{}中有空格的地方一定不能省;
3.";"不能缺
否则就是各种报错~!血与泪的经理换来的
那个zone “.” 共4行,请放在 view “lan” 的{}里否则一定报错!
5.修改区域配置文件
不要在原配置文件上修改,复制一份进行配置修改就可以了
修改lan的区域配置
改为对于内网来说,DNS解析的ip为40.100
wq保存退出
再对wan 区域配置
先创建一个配置文件
再对其进行修改
7.在内外网客户端域名解析配置文件中添加DNS服务器地址
内网:在本台电脑配置DNS 服务地址
进入配置,并且保存退出。
外网:
在外网客户端上进行配置:
8.测试结果
内网测试:
可以看到通过内网访问时www.rain.com时,Ip地址为:192.168.40.100
符合预期结果!
外网测试:
通过外网测试访问www.rain.com时,DNS解析的IP地址为12.0.0.100
符合预期结果
还有等等其他错误,就不一一列举了,以上错误告诉我们,配置文件时一定要仔细和养成格式规范,否则后面要花大量时间回头找错误日志。