dns 域名解析

本文涉及的产品
.cn 域名,1个 12个月
云解析 DNS,旗舰版 1个月
云解析DNS,个人版 1个月
简介: dns 域名解析

一,dns  是什么

domain name server 域名解析           将域名转化成 ip 地址

这是个7层协议  

既使用tcp53端口 (主从之间同步)

也使用udp53端口 (域名名字解析)

二,dns  实现方法

1,通过host 文件 分散的管理

①host 文件优先级最高
②host 文件所在位置

linux/etc/hosts

windos: c:/windows/system32/drivers/etc/hosts

host 文件格式

ip地址 域名

2,安装dn服务相关的软件 来实现dns解析

集中管理:内网环境下用bind

(全部交给一个服务机管理)

分布式的管理:   全世界  不可能交由一台机器管理,所以是一级管一级

三,域名的组成,分类

1,www.baidu.com.   具体含义

.                         根域

.com                  顶级域(也叫一级域)

.baidu                二级域

www                  主机名(前面没.     是主机名)

2,顶级域常见分类

.com 公司

.net 互联网公司

.cn 中国

. org 非盈利组织

.edu 教育

3,域解析

根的dns服务器 只能解析 主机名 加根域

顶级域的dns服务 只能解析 主机名加顶级域 加根域

二级域的dns服务 只能解析 主机名 加二级域 加顶级域 加根域

4,解析方式

正向解析:根据域名查找对应的IP地址

反向解析:根据IP地址查找对应的域名

四,域名解析具体过程

1,文字版

外网过程

我要访问www.baidu.com服务器

1.先看我本机的 hosts 文件,如果有直接访问,如果没有就去找你设置缓存dns

2.如果 缓存服务器有,直接反馈结果 (递归),如果没有就需要迭代查询 ,直接去找 根域服务,

3.由于根域服务器 只能 解析根 无法解析 www.baidu.com 但是 根域服务器让你去找 一级域服务器

4.一级域发现自己 也解析 不了,让你去找二级域

5.二级域发现这台服务在自己的 管理范围内,直接反馈结果给 缓存服务器

6.缓存服务器再交给 客户

要解析几次和域名长度有关

2,架构图版

五,dns 查询方式

递归查询:问一次就得到结果

迭代查询:不会告诉我结果,会告诉我另一个人

注意:

1,         本地dns服务器:就是缓存服务器

2,          1,8 这两个加起来      就是递归

3,          递归 和迭代都能得到结果   ,递归只需一次 迭代需要问多次

六,dns  系统类型

1,缓存域名服务器

也称为DNS高速缓存服务器,通过向其他域名服务器查询获得域名->IP地址记录,将域名查询结果缓存到本地,提高重复查询时的速度

2,主域名服务器

特定DNS区域的权威服务器,具有唯一性,负责维护该区域内所有域名->IP地址的映射记录,需要自行建立所负责区域的地址数据文件

3,从域名服务器

也称为辅助域名服务器,是对主域名服务器的热备份,其维护的域名->IP地址记录来源于主域名服务器,需要从主域名服务器自动同步区域地址数据库

4,权威dns 服务器

只有他说了算, 最后解析成功的服务器为权威服务器

七,解析域名相关命令

1,nslookup

dns 域名解析将域名翻译成 ip地址,然后封装数据包

解析的是    /etc/hosts    文件里的域名  

2,host  

host  域名

需要网络配置文件改成对应dns

3,dig

dig 域名  @ 服务机名

指定某个服务机解析域名

4,cat /etc/resolv.conf

查看当前  dns

八,检测文件格式 是否有错

1,named-checkconf   配置文件

检测配置文件格式是否有错

2,named-checkzone  数据库文件

检测数据库文件格式是否有错

3,systemctl status 程序名

当程序起不来报错

4,journalctl   -xe  --no-paper

当程序起不来报错

九,在内网搭建 dns 服务器

1,实验环境与理论知识

① bind  软件可以提供dns 服务

  软件名叫  bind            服务名叫  named

软件包名 和程序服务名 不一样

rpm -ql 查 程序名(绿色可执行文件) 一般在 /usr/sbin 或者 /usr/bin

配置文件的位置 rpm -qc

② named主要配置文件

主配置文件                                                          /etc/named.conf

域名配置文件                                                       /etc/named.rfc1912.zones

数据库文件(定义域名和ip地址对应的关系)      /var/named/数据库文件

2,具体实验步骤

2.1   安装bind

2.2    找到这个程序的主配置文件

2.3   去改主配置文件

2.4,我们注意观察主配置文件

将这两个地方改为 any

第一个any意思 是 监听这个网段 (只给这个网段提供dhcp 服务)

第二个any意思是任何人有权限 问我

看主配置文件最后部分,可以看到   根域在主配置文件

其他域名不建议放在主配置文件,建议放在子配置文件,就是这个include 这里

2.5,打开子配置文件, 加域名

2.6  这个数据库文件为什么在这?

运行 named 服务的时候, 是以 named 用户的身份运行

/var/named这个文件夹是 named 用户的 家目录

我们在主配置文件也能看到

2.7  所以我们去到     /var/named    ls

我们本来需要手写一个数据库文件,但是有大佬给我们做了模板

2.8我们复制这个模板,改名 为  和子配置一样的名字

注意!   名字要和子配置文件里  名字一样

            复制过来要保留文件属性!要用named 身份运行

2.9  我们编辑这个 数据库文件

2.10   数据库文件格式

 0       ; serial   #是否有更新  版本号 更新文件 手动把 0 加1

1D      ; refresh  #刷新时间 拉取时间

1H      ; retry    #失败后一个小时 后再试一次

 1W      ; expire   #过期时间,老是拉取不了,1周以后过期

 3H )    ; minimum  #老是去查错误的解析地址,3小时内的缓存下,用户再查直接返回找不到

2.11   重启named  服务

2.12   dig 命令 指定服务机   给我解析域名

2.13   当客户在多输入w   和少输入w时   都能准确指到 www.wyq.com

十, dns 反向解析

就是将ip  地址解析为域名

反向解析要用host 命令

操作基本和正向解析一致,3点不通

1,子配置文件   zone  后面写ip地址  ,且ip 地址要倒过来写

2,数据库文件   域名和ip的位置也要反过来     PTR

3,  用 host 命令解析

十一,dns  主从复制

当只有一台dns 服务机时,万一这台服务机坏了,其他客户机都不能正常上网了,这是生产环境所不允许的。所以解决办法是:

客户机的dns  指向多台服务机

服务机分主服务机和从服务机,当主服务机挂了,从服务机顶上

(一)实验模拟主从复制

1,主服务机步骤

1.1  改网络配置文件  

把dns1 改成主服务机的ip

把dns2改成从服务机的ip

1.2 重启网络, 查看dns 是否更改生效

1.3 ,改主服务机的    dns 主配置文件

两个改为any

1.4  改 主服务机的   dns 子配置文件

新增一个wyq.com  的域名    类型为主

1.5  改主服务机的  域名数据库文件

1.6   重启主 服务机的   named 程序

2,从服务机步骤

2.1,改网卡的配置文件

2.2, 重启网络,查看dns

2.3,  下载bind   改named 程序的主配置文件

2.4    改从服务机    的子配置文件

2.5 查看  从服务机 专门放和主服务机同步域名的文件,一开始是空的

2.6  从服务机启动named  服务  可以看到这个文件有域名了

此时主从服务机搭建完毕

3,模拟主服务机故障

3.1手动关闭主服务机  的named 服务

3.2.用  host命令解析域名,可以发现依旧解析成功,此时就是主服务机挂了,从服务机在工作

3.3  dig 命令看的更清楚,我们这边指定从服务机  来解析域名

4,主服务机更新域名,从服务机也立马同步

4.1

原理:

一开始主 的域名数据库文件不需要写 从是谁

因为从的子配置文件 写了主是谁

从 一开始的slaves 文件里面的是空的,他要主动找主同步域名的数据库文件,然后一天找主同步一次

我们这边改了主的域名数据库,想要从立即同步,就需要   主      主动给从

所以主的 域名配置文件 再加上从是谁,再改一下版本号(往上加1)

改了版本号后,从就知道 主    的域名配置文件更新了,从才知道要重新同步

4,2         修改主    的域名数据库文件  

4.3  重新启动  主     的named  程序

4.4  发现从的slaves   文件时间更新了    说明同步成功

(如果不能立即同步,危害还是很大的,有可能主    从     两个服务器的同一个域名指向不同的ip)

 

十二,cdn

CDN,是地理上分布的网络代理服务器和它们的数据中心。目标是通过相对于最终用户在空间上分配服务来提供高可用性和高性能

作用:

提高速度

减少费用

静态资源:不需要二次处理 (在服务器什么样子,在客户机就是什么样子)

例如图片,text ,视频

动态资源:需要消耗cpu等 二次处理

十三, 分离解析

(一)实验环境

一台服务器,对不同的两个网段区域进行解析

(二)实验步骤

1,安装bind

2, 安装第二块网卡,两块网卡配置如下  dns 都改为自己

3,写  域名主配置文件

将根域域名删除

4,写  子配置文件

5,格式如下,分成两部分

lan  这边是192.168.100.0  段的域名设置

     包含了根域       以及 kgc.com   等域名

  kgc.com 的数据库文件在 /var/named/kgc.com.lan

同理

wan  这边是12.0.0.0  段的域名设置

     包含了根域以及   kgc.com 等域名

  kgc.com 的数据库文件在 /var/named/kgc.com.wan

6,  分别 设置 /var/named/kgc.com.lan

                    /var/named/kgc.com.wan   不同网段对应的域名数据库文件

把模版复制过去(保留权限)

7,重启 网络服务   重启named 服务

8,分别指定不同的网卡  解析同一域名

可以看到,一个服务机,同一个域名     在不同网段,可以指向不同的ip

相关文章
|
20天前
|
域名解析 Web App开发 缓存
在浏览器上输入一个网址后,发生了什么?/HTTP的工作流程/DNS域名解析过程
在浏览器上输入一个网址后,发生了什么?/HTTP的工作流程/DNS域名解析过程
|
22天前
|
域名解析 存储 网络协议
了解域名解析:解析记录类型详解
了解域名解析:解析记录类型详解
51 2
|
23天前
|
域名解析 网络协议 Linux
心得经验总结:本地DNS解析
心得经验总结:本地DNS解析
27 2
|
26天前
|
域名解析 缓存 网络协议
域名解析后清除dns缓存
域名解析后清除dns缓存
26 4
|
23天前
|
域名解析 网络协议 Linux
心得经验总结:本地DNS解析
心得经验总结:本地DNS解析
12 0
|
27天前
|
域名解析 网络协议 程序员
程序员必知:【转】adns解析库——域名解析实例(C++、linux)
程序员必知:【转】adns解析库——域名解析实例(C++、linux)
30 0
|
1月前
|
XML Java 数据格式
深度解析 Spring 源码:从 BeanDefinition 源码探索 Bean 的本质
深度解析 Spring 源码:从 BeanDefinition 源码探索 Bean 的本质
33 3
|
19天前
|
存储 安全 Java
深度长文解析SpringWebFlux响应式框架15个核心组件源码
以上是Spring WebFlux 框架核心组件的全部介绍了,希望可以帮助你全面深入的理解 WebFlux的原理,关注【威哥爱编程】,主页里可查看V哥每天更新的原创技术内容,让我们一起成长。
|
20天前
|
关系型数据库 分布式数据库 数据库
PolarDB-X源码解析:揭秘分布式事务处理
【7月更文挑战第3天】**PolarDB-X源码解析:揭秘分布式事务处理** PolarDB-X,应对大规模分布式事务挑战,基于2PC协议确保ACID特性。通过预提交和提交阶段保证原子性与一致性,使用一致性快照隔离和乐观锁减少冲突,结合故障恢复机制确保高可用。源码中的事务管理逻辑展现了优化的分布式事务处理流程,为开发者提供了洞察分布式数据库核心技术的窗口。随着开源社区的发展,更多创新实践将促进数据库技术进步。
23 3
|
1月前
|
XML Java 数据格式
深度解析 Spring 源码:揭秘 BeanFactory 之谜
深度解析 Spring 源码:揭秘 BeanFactory 之谜
24 1

推荐镜像

更多