域名系统(DNS)

DNS (domain name server/system)

1.基本信息

网络中数据通信依赖ip地址
测试:手动将dns服务地址改为空值,通过ip和域名分别测试网络的联通性

FQDN 完全域名(完全正式域名标识)
http://www.baidu.com.
www baidu com .

www

baidu

com

.

主机名称(二级域名)

一级域名

顶级域名

跟域

一些顶级域名的类别含义:(但没有明确限制)

 

 

解析顺序:从右往左

域名用.分层,每层可包含63字节,最多可有127
但所有层加在一起,不得超过256个字节

域名允许使用:大小写a-z,数字0-9及-连接线,但是不区分大小写
例如:WWW.BAIDU.COM/www.baidu.com判断为相同

作用:定位主机(将域名解析成为ip地址)

dns解析查询命令nslookup
格式:nslookup domainname
例如:nslookup birdteam.net

dns的端口:53

2.专有名词

dns 提供域名解析服务 所发布域名具备权威性
dns 配合主dns使用 数据是从主dns同步
dns服务器 提供域名解析的服务器 存放解析数据
dns缓存服务器 解析客户机的请求 并将结果缓存到服务器
资源记录 dns的数据类型 各种解析类型
zone区文件 dns的解析文件 用于存放资源记录

查询模式
递归: 在收到客户机请求之后,必须告诉客户机一个准确的结果
如果没有相关数据,就去到其它服务器询问
迭代: 在受到客户机请求之后,不会返回结果,而是告诉客户机另一台服务器的地址
客户机通过该地址去问另一台服务器,直到查询到最终的结果

3.资源记录

SOA (起始授权记录) 有且仅有一个,区文件的全局设置
A (域名解析记录) 用于域名解析成ip
AAAA (域名解析记录) 用于域名解析成ipv6(无用)
CNAME (别名解析记录) 用于域名解析域名
MX (邮件解析记录) 可以解析成ip或者域名
NS (授权服务记录) 用于指定域名解析授权的服务器

4.相关文件

主配置文件/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

安装命令:yum -y install bind
启动命令:service named restart

5.安装步骤

1、安装

#yum -y install bind
查询#rpm -qa | grep bind

2、主配文件

#vim /etc/named.conf

重要的就是留下下边的这些这内容就可以,其中birdteam.net是域名,根据自己的情况修改
options {

directory “/var/named”;
};
zone “birdteam.net” {
type master;
file “birdteam.net.zone”;
};

3、配区文件

#cd /var/named
#cp -p named.localhost liketimes.net.zone

#vim liketimes.net.zone


复制模板文件,注意权限。cp -p

①掐头去尾

去掉最上边一行和最下边一行

②@改域名

将所有的@改成要解析的域名

(注意:域名后面加根域“.”,区文件中,“@”代表本机域名

邮箱的@要用“.”代替,其中 rname.invalid.是邮箱

A后写ip

③添加解析

主机名的几种添加方式:

 

④启动服务

systemctl start named.service

或者#service named restart

⑤测试

Vim /etc/resolv.conf

将本地的dns 改成 127.0.0.1

然后输入以下命令验证:

nslookup birdteam.net

nslookup a.birdteam.net

nslookup b.birdteam.net

nslookup c.birdteam.net

原文地址:https://www.cnblogs.com/liketimes/p/9877610.html