Dns:domain name system
Dns:dns的分布式数据库是以域名为索引的,逆向树被称为域名空间
架构模型:C/S架构
域名解析的方式:
1.文件解析:在Linux系统中, /etc/hosts /etc/networks 两个文件可做域名的文件解析
例如: /etc/hosts把 local host解析为: 127.0.0.1
在查DNS之前都会先查这个文件
2.DNS服务器解析:
几乎所有的域名都是通过DNS域名解析服务器来解析的,配置文件在/etc/resolv.conf文件下,配置DNS服务器,在nameserver后添加DNS服务器IP即可。
*可以通过/etc/nsswitch.conf控制查询顺序
DNS专用查询命令
(1)host用于dns查询
host -t A www.baidu.com
例如: host www.baidu.com
(2)dig也可进行dns的查询 (输出较为详细的信息)
@命令host,dig 都不会使用/etc/nsswitch,conf的配置,只有通过/etc/nsswitch.conf进行dns查询,才能绕过前面的那个文件配置。
dig +trace www.baidu.com 追踪查询过程
(3)nslookup命令与host dig命令使用相同
交互式:
nslookup
set type CNAME
服务端 :DNS是一个树状结构,查询的时候是从右到左,域名每一级有独立的一个或多个服务器
DNS查询类型:
1.迭代查询
首先客户端发送请求到本地dns服务器-->如果本地服务器不知道这个域名就会查询根域名服务器--->根服务器就会返回.net服务器的地址--->然后本地服务器就回去查询net服务器---->net服务器就会返回xingyun.net的地址--->本地服务器向xingyun.net发送请求---->xingyun.net返回主机给本地dns--->本地dns返回www.xingyun.net的地址给客户端
2.递归查询
首先客户端发送请求到本地dns--->本地dns不知道就会向根服务器查询--->根服务器代替本地服务器向net服务器发送请求查询--->net服务器代替dns服务器向xingyun.net查询---->xingyun.net返回www主机地址给net--->net服务器就会返回www.xingyun.net地址给根dns服务器--->根服务器给本地dns--->本地dns就会返回给目标地址给客户端
递归查询缺陷:在每一级的服务器上,都会缓存大量信息,因为他要等待查询返回,可能会占用大量的内存。
!!!实际的生产过程中,结合这两种方式使用
客户端向本地DNS服务器查询时使用递归查询,本地服务器和其他服务器使用的是迭代查询
2.DNS解析记录:
域名注册完成后 需要做域名解析,域名解析会添加解析记录 这些记录有
A记录:将域名指向一个IPV4地址
AAAA记录:将域名指向一个IPV6地址
CNAME记录:将域名指向另一个域名 --->别名
NS记录:将子域名指向其他DNS服务器解析
MX记录:将域名指向邮件服务器地址 mail exchange 邮件交换记录
SOA记录:start of authority
起始授权记录
PTR:逆向查询记录(Pointer Record),只用于从IP地址查询域名。
DNS是 Domain Name System 的缩写,也就是 域名解析系统,它的作用非常简单,就是根据域名查出对应的 IP地址。
域名的层级
- 根域名 :.root 或者 . ,通常是省略的
- 顶级域名,如 .com,.cn 等
- 次级域名,如 baidu.com 里的 baidu,这个是用户可以进行注册购买的
- 主机域名,比如 baike.baidu.com 里的baike,这个是用户可分配的
DNS 解析过程
DNS解析过程总结起来就是三句话:
从"根域名服务器"查到"顶级域名服务器"的NS记录和A记录(IP地址)
从"顶级域名服务器"查到"次级域名服务器"的NS记录和A记录(IP地址)
从"次级域名服务器"查出"主机名"的IP地址
二、DNS服务简介
1、DNS系统在网路中的作用就是一个维护着一个地址数据库,其中记录了各种主机的域名与IP地址的对应关系。
2、DNS系统为客户提供了正向或反向的地址查询服务,及正向解析和方向解析,正向解析即根据域名查IP地址;反向解析即根据IP地址查域名。
3、DNS服务器按类型可分为缓存主域名服务器、从域名服务器等。其中主服务器是指定区域中唯一存在的权威服务器,对解析记录有自主控制权;从服务器与主服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。
DNS服务的三个配置文件
1,主配置文件(/etc/named.conf):服务程序的运行的主配置文
件
2,区域配置文件(/etc/named.rfc1912.zones):用来保存域名和
IP地址对应关系的所在位置
3,数据配置文件目录(/var/named):用来保存域名和ip的真实
关系
正向解析实例配置:
客户端 < -------> dns服务器------>web服务器
192.168.230.150 192.168.230.152 192.168.230.151
场景描述:web服务域名为www.xingyun.com
要求当客户端配置DNS服务器后,DNS服务将域名解析到web服务;客户端可用www.xingyun.com,
xingyun.com访问。
1,主配置文件(/etc/named.conf)修改:
2,区域配置文件(/etc/named.rfc1912.zones)修改:
尾行添加如下配置
vi /etc/named.rfc1912.zones
zone "xingyun.com" IN {
type master;
file "xingyun.com.zone";
};
3,数据配置文件目录(/var/named)修改:
首先复制一个模板文件:
cp -a named.localhost xingyun.com.zone
vi /var/named/xingyun.com.zone
修改后如下所示:
参数解释:
//配置解析记录保持时间600s
$TTL 600
//配置起始授权机构记录(必须配置)
@ IN SOA @ root(
202103193 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
//配置域名解析服务器记录,用来指定该域名有哪个DNS服务器进
行解析(必须配置)
@ IN NS dns
dns IN A 192.168.230.152
//配置需要解析的普通记录
www IN A 192.168.230.151
//@表示配置的域名’xingyun.com’
@ IN A 192.168.230.151
其他参考案例:
4.重启dns服务 :systemctl restart named
5.修改网卡配置文件的DNS域名服务器地址为本机IP,否则域名解析不走此DNS服务器
6.重启网络生效
测试:
正向解析:
本地测试:本地IP为:192.168.230.152 web-server ip为 192.168.230.151
客户端测试:客户端IP为:192.168.230.150
CNAME测试:
客户端:
本地测试:
反向解析:
、