1.BIND域名服务基础
(1)DNS系统的作用及类型
(2)BING的安装和配置文件
2.使用BING构建域名服务器
(1)构建缓存域名服务器
(2)构建主、从域名服务器
3.总结
1.BIND域名服务基础
(1)DNS系统的作用及类型
DNS是什么
DNS域名系统(Domain Name System)是因特网的一项核心服务,他作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串
域名分析分为俩种
正向解析:根据域名查找对应的IP地址
反向解析:根据IP地址查找对应的域名(反向解析不常用,只在某些特殊场合才会用到,例:反垃圾邮件的验证)
DNS使用的协议及端口号
DNS的默认端口为53。DNS端口分为TCP和UDP
1:TCP是用来做区域传送,多用于主从同步
在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息
2:UDP是用来做DNS解析的
域名:通常由一个完全合格域名表示(FQDN(Fully Qualified Domain Name)),它能准确表示出其相对于DNS域树根的位置,也就是节点到DNS树根的完整表达方式,从节点到树根采用反向书写,并将每个节点用”.”分隔,对于DNS域google来说,其完全正式域名为google.com
注意点:通常情况夏FQDN长度不可以超过256字节,只允许使用字符a-z,0-9,A-Z和减号(-)。点(.)只允许在域名标志之间或者FQDN的结尾使用
域名不区分大小写。
DNS系统的分布式数据结构
根域名一般隐藏不可见
一级DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)
.com:工商、企业
.net:网络供应商
.edu:教育机构
.cn:中国国家域名
.org:团体组织
.gov:*部门
二级DNS服务器:专门负责二级域名的解析
.net.cn
.edu.cn
.com.cn
子域名DNS服务器:专门负责子域名的解析,也叫做三级域名
.zol.com.cn
.sina.com.cn
主机位
www
news
缓存域名服务器
也称为DNS告诉缓存服务器
通过向其他域名服务器查询获得域名->IP地址记录
将域名查询结果缓存到本地,提高重复查询时的速度
正向解析查询过程
①首先查询本机缓存记录
②再查询hosts文件
③查询dns域名服务器,交给dns域名服务器处理
上述是递归查询:给本地DNS服务器发送一个请求,等待返回结果
④这个DNS服务器可能是本地域名服务器,也有缓存记录,有则直接返回结果,没有继续下一步
⑤求助根域服务器,返回可能会知道结果的*域服务器让它去找*域服务器
⑥求助*域服务器,返回可能知道结果的二级域服务器让它去找二级域服务器
⑦求助二级域服务器,查询发现是我的主机,把查询到的IP地址返回给本地域名服务器
⑧本地DNS服务器把结果记录并缓存,然后把域名和ip的对应关系返回给客户端
俩种查询方式
(1)递归查询
递归查询是一种 DNS 服务器的查询模式,在该模式下 DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果 DNS 服务器本地没有存储查询 DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。
就是客户机发送请求后自己只用等待结果即可,中间具体过程交给服务器实现。
(2)迭代查询
DNS 服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台 DNS 服务器地址,客户机再向这台 DNS 服务器提交请求,依次循环直到返回查询的结果为止
客户机的请求需要自己挨个去查询才能得到结果,服务器没有结果时候只会给你提供其它服务器的地址,而不会帮你去请求查询,这与递归截然相反
主域名服务器
特定DNS区域的权威服务器,具有唯一性
负责维护该区域内所有域名->IP地址的映射记录
需要自行建立所负责区域的地址数据文件
从域名服务器
也称为辅助域名服务器,是对主域名服务器的热备份
其维护的域名->Ip地址记录来源于主域名服务器
需要从主域名服务器自动同步区域地址数据库
(2)BING的安装和配置文件
正向解析实验
首先将主机
[root@localhost ~]# rpm -qc bind ###查询是否安装bind
显示以上安装成功
未安装使用yum install bind -y 安装 (必须网络源或光盘挂载)
/etc/logrotate.d/named ###主配置文件,控制系统全局
/etc/named.rfc1912.zones //区域配置文件 控制具体单个区域
/var/named/named.localhost //区域数据配置文件 区域信息
[root@localhost ~]# cp -p /etc/named.conf /etc/named.conf.bak ###先备份文件
[root@localhost ~]# vim /etc/named.conf ###进入修改
[root@localhost ~]# vim /etc/named.rfc1912.zones ###进入修改文件
添加一组
[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -p named.localhost benet.com.zone
[root@localhost named]# vim benet.com.zone ###进入修改这个文件
修改为:
$TTL 1D #有效解析记录的生存周期
@ IN SOA benet.com. admin.benet.com. ( #“@"符号表示当前的DNS区域名
0 ; serial #更新序列号,可以是10位以内的整数
1D ; refresh #刷新时间,重新下载地址数据的间隔
1H ; retry #重试延时,下载失败后的重试间隔
1W ; expire #失效时间,超过该时间仍无法下载则放弃
3H ) ; minimum #无效解析记录的生存周期
NS benet.com. #记录当前区域的DNS服务器的名称
A 192.168.100.22 #记录主机IP地址
IN MX 10 mail.benet.com. #MX为邮件交换记录,数字越大优先级越低
www IN A 192.168.100.22 #记录正向解析www.benet.com对应的IP
mail IN A 192.168.100.101 #记录正向解析mail.benet.com对应的IP
ftp IN CNAME www #CNAME使用别名,ftp 是www的别名
* IN A 192.168.100.150 #泛域名解析,“*"代表任意主机名
[root@localhost named]# systemctl start named ###开启服务
[root@localhost named]# vim /etc/resolv.conf ###修改这个文件 DNS解析
将网卡里的DNS注释掉
使用host命令验证
反向解析实验
[root@localhost named]# vim /etc/named.rfc1912.zones ###进入修改这个文件,添加一段
[root@localhost named]# cd /var/named/
[root@localhost named]# cp -p benet.com.zone benet.com.zone.local
[root@localhost named]# vim benet.com.zone.local ###进入修改文件
保存退出
systemctl restart named ###重启服务
使用host命令验证
DNS主从服务及自动同步
DNS服务器类型:
(1)主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名
服务器时,需要自行建立所负责区域的地址数据文件。
(2)从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从
域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器
的位置,以便服务器能自动同步区域的地址数据库。
注:
(3)缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个
远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息
时用它予以响应。缓存域名服
务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务
器作为解析来源。
(4)转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到
就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。
实验
配置主从服务
主:192.168.100.22
从:192.168.100.21
先配置主服务器
[root@localhost named]# vim /etc/named.conf 进入修改文件如下图
保存退出
[root@localhost ~]# vim /etc/named.rfc1912.zones ###进入配置文件
添加以下
注:type master;是设置为主区域
allow-transfer { 192.168.100.21; };设置从服务器地址
保存退出
[root@localhost ~]# cd /var/named/ ###进入这个目录下
cp -p named.localhost benet.com.zone ###复制一个文件
[root@localhost named]# vim benet.com.zone ###配置这个文件
保存退出
[root@localhost named]# systemctl start named ###开启服务
[root@localhost named]# vim /etc/resolv.conf ###进入配置DNS解析地址
配置从服务器
[root@localhost named]# vim /etc/named.conf 进入修改文件如下图
保存退出
[root@localhost ~]# vim /etc/named.rfc1912.zones ###进入配置文件
添加
注:type slave;设置类型为从服务
file "slaves/benet.com.zone.local";下载的区域数据文件保存到slaves/目录下
masters { 192.168.100.22; };设置主服务器地址
保存退出
systemctl start named ###开启服务
[root@localhost named]# vim /etc/resolv.conf ###进入配置DNS解析地址
验证从服务器是否可以解析
[root@localhost ~]# host www.benet.com
www.benet.com has address 192.168.100.22
[root@localhost ~]# host mail.benet.com
mail.benet.com has address 192.168.100.101
验证成功
关闭主服务器验证从服务器是否还可以解析
验证成功
DNS分离解析实验
主服务器:192.168.102.100 网卡vmnet2 192.168.102.100
Web服务器:10.0.0.100 网卡vmnet3 10.0.0.100
首先虚拟机添加一张网卡,分别使用网卡2和3
yum install bind -y
yum install httpd -y
###安装bind 和 httpd 服务
cp -p /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens37
复制一张网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33 ###进入设置网卡
如下
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=3d5cdd65-94bd-4af1-a8ed-3d0cf0cd39e2
DEVICE=ens33
NBOOT=yes
IPADDR=192.168.102.100
NETMASK=255.255.255.0
#GATEWAY=192.168.174.2
DNS1=192.168.102.100
vim /etc/sysconfig/network-scripts/ifcfg-ens37 ###进入设置网卡
如下
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
#UUID=3d5cdd65-94bd-4af1-a8ed-3d0cf0cd39e2
DEVICE=ens37
NBOOT=yes
IPADDR=10.0.0.100
NETMASK=255.255.255.0
#GATEWAY=192.168.174.2
DNS1=10.0.0.100
systemctl restart network ###重启网卡
vim /etc/named.conf ###进入修改文件如下
保存退出
[root@localhost ~]# vim /etc/named.rfc1912.zones ###进入清空文件然后输入如下图
注:下面这一段从/etc/named.conf复制过来,并在/etc/named.conf删除
zone "." IN {
type hint;
file "named.ca";
};
};
[root@localhost ~]# cp -p /var/named/named.localhost /var/named/benet.com.zone.lan
[root@localhost ~]# cp -p /var/named/named.localhost /var/named/benet.com.zone.wan
###复制俩个文件并依次进入修改
systemctl start named
#开启服务
systemctl stop firewalld
##关闭防火墙
验证linux机器的解析
验证成功
进入windows机器
修改网络适配器为下图
识别到对应的网卡后,进入命令指示符验证
验证成功
3.总结
DNS系统的作业与常见类型
BIND服务相关软件极其作用
BIND服务的著配置文件与区域数据文件中重要配置项
构建缓存域名服务器
构建从域名服务器