一,DNS domain name server/system(端口号53)
域名系统(方便记忆,依赖DNS上网,无DNS无法上网)
网络中数据通信依赖ip地址
测试:手动将dns服务地址改为空值,通过ip和域名分别测试网络的联通性
(无DNS可依靠IP上网无法通过域名上网)
1,1 FQDN 完全域名(完全正式域名标识)
1,2 www baidu com .
主机名称 一级域名 顶级域名 根域
解析顺序:从右往左
域名用.分层,每层可包含63字节,最多可有127层
但所有层加在一起,不得超过256个字节
域名允许使用:大小写a-z,数字0-9及-连接线,但是不区分大小写
例如:WWW.BAIDU.COM/www.baidu.com判断为相同
作用:定位主机(将域名解析成为ip地址)
1,3 dns解析查询命令nslookup
格式:nslookup domainname
1,4 专有名词:
主dns 提供域名解析服务 所发布域名具备权威性
辅dns 配合主dns使用 数据是从主dns同步
dns服务器 提供域名解析的服务器 存放解析数据
dns缓存服务器 解析客户机的请求 并将结果缓存到服务器
资源记录 dns的数据类型 各种解析类型
zone区文件 dns的解析文件 用于存放资源记录
1,5 查询模式:
递归 在收到客户机请求之后,必须告诉客户机一个准确的结果。如果没有相关数据,就去到其它服务器询问(DNS 与 客户端)
迭代 在受到客户机请求之后,不会返回结果,而是告诉客户机另一台服务器的地址。客户机通过该地址去问另一台服务器,直到查询到最终的结果(DNS 与 DNS)
1,6 资源记录:
SOA 起始授权记录 有且仅有一个,区文件的全局设置
A 域名解析记录 用于域名解析成ip
AAAA 域名解析记录 用于域名解析成ipv6(无用)
CNAME 别名解析记录 用于域名解析域名
MX 邮件解析记录 可以解析成ip或者域名
NS 授权服务记录 用于指定域名解析授权的服务器
1,7 相关文件:
主配置文件/etc/named.conf
区文件目录/var/named/
区文件模板文件/var/named/named.localhost
注意:
如果安装了chroot模块,主配置文件和区文件目录的路径会改变为
主配置文件/var/named/chroot/etc/named.conf
区文件目录/var/named/chroot/var/named/
查询流程:如www.baidu.com
客户机通过域名访问网站时,需要先将域名解析成ip地址才可访问,所以会根据本机设置的dns服务器地址查询域名解析。
客户机将域名解析请求信息发送给dns,服务器收到信息后,查询本地缓存中是否有匹配信息,如果有则直接返回。
如果没有,则询问根,com域名的解析地址。
然后根据根服务器返回信息,再次询问com服务器,baidu服务器地址。
根据com服务器返回信息,询问baidu服务器www的解析地址。
最终将此解析信息返回给客户端,同时保存一份到本地缓存中,以备下次查询使用。
软件名称:bind
服务名称:named
软件版本:4 8 9
二,DNS服务器搭建流程
1.安装
# yum -y install bind*
2.配置文件查询
# rpm -qa | grep bind-chroot
3.DNS
# vim /etc/named.conf
4.# cp -p /var/named/named.localhost /var/named/baidu.com.zone
# vim /var/named/baidu.com.zone
(@表示本机域名)
客服端服务器(另一台虚拟机)
5.设定测试服务
# vim /etc/resolv.conf
6.启动
# systemctl start named
7.测试
#nslookup baidu.com
扩展(网站前坠影响网址)
注意:
- bind-chroot的作用,增强系统的安全性,一般对外的DNS服务器会安装
- 在复制模板文件时,需要注意原文件的权限属性
- 在区文件中@代表本机域名
- 输入域名时需要加根域主辅服务器同步
- 区文件中,SOA记录的前4项是针对从服务器
二,DNS主辅服务器同步
options {
directory "/var/named";
};
zone "birdteam.net" IN {type slave; masters {
192.168.31.130;
};
file "slaves/birdteam.net.zone";
};
三,DNS转发服务器
1.
options {
directory "/var/named"; forwarders {
192.168.31.130;
};
};
2.
options {
directory "/var/named";
};
zone "birdteam.net" IN {
type forward;
forwarders {
192.168.31.130;
};
};
zone "7bu.top" IN {
type master;
file "7bu.top.zone";