IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> DNS服务简介和配置 -> 正文阅读

[系统运维]DNS服务简介和配置

DNS (Domain Name System) 域名解析系统?

端口 53 使用TCP/UDP 域名请求查询时是UDP协议数据包小于512字节

1、因特网的域名结构

由于用户较多,所以因特网在命名时采用的是层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。这里,“域”(domain)是名字空间中一个可被管理的划分。

域名只是逻辑概念,并不代表计算机所在的物理地点。分为三大类:

(1)国家顶级域名:采用ISO3166的规定。如:cn代表中国,us代表美国,uk代表英国,等等。国家域名又常记为ccTLD(cc表示国家代码contry-code)

(2)通用顶级域名:最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。

(3)基础结构域名(infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名。

?

?现如今全球一共投放13个根服务器 ??

服务器主要用来管理互联网的主目录,全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。

?

查找方式:

递归??? ------计算机只发送一次请求

迭代??? -----多次

实际解析分为两段,一段递归一段迭代

匹配原理:客户端主机匹配本地dns 先通过hosts文件查找

????????????? 递归请求(肯定的权威答案)

????????????? 本地到根服务器 迭代(肯定非权威的答案)

客户端和本地是递归 其余是迭代

解析方式 正向 反向

DNS作用 通过该协议进行域名解析 域名长度限制255

域名匹配从右到左 例www.baidu.com 先匹配com,再是com.baidu

可以通过域名访问到该主机的ip

?

2 DNS域名解析的过程

客户端发出的查询都是递归查询,DNS服务器向外发出的查询一般都是迭代查询

1、在浏览器中输入www . qq .com 域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。

4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。

5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(http://qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找http://qq.com域服务器,重复上面的动作,进行查询,直至找到www . qq .com主机。

6、如果用转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

DNS 服务类型:

主DNS服务器:数据修改(接受用户请求返回数据)??????? ??master

辅助dns服务器: 定期请求数据同步??????????????? ???slave

缓存dns服务器:?? 只缓存dns数据 ???????????????????hint

转发服务器:缓存服务器去掉缓存功能(有中转)????????? forward

DNS解析答案

DNS客户端向DNS服务器发出解析请求时,不管是否能够查询到想要的结果,都会返回一个解析答案。根据是否能够查询到想要的结果,可分为肯定答案和否定答案;根据解析答案是否由直接负责的DNS服务器返回,可分为权威答案和非权威答案。

根据是否能够查询到想要的结果:

肯定答案:存在查询的键(key),并且存在与其查询键对应的值(value)

否定答案:不存在查询的键(key),因此,自然不存在与其查询键(value)对应的值。(根服务器也没查到)

根据解析答案是否由直接负责的DNS服务器返回:

权威答案:由直接负责的DNS服务器返回的答案。(本地dns服务器返回的结果)

非权威答案:不是由直接负责的DNS服务器返回的答案。这种情况下一般是由其他DNS服务器直接返回缓存的解析结果。(非本地dns服务器返回的结果)


?

?安装DNS

dnf install bind -y

启动

systemctl start named

资源记录名称:(数据库中的每一个条目)

SOA(起始授权记录) 记录提供有关dns区域工作方式的信息 -----具体负责哪个区域的解析 (指定权威服务器)

这代表着master/salve相关的认证,授权资料。不论有没有设定master/salve的架构都需要设定好。

NS? 标记dns服务器? 将域名最终映射到哪一台主机(标记本地 dns服务器)??

A? (ipv4地址记录) 资源记录将主机名映射到ipv4地址。

CNAME? (规范名称)记录域别名(ip不能起别名)????????????????????????????????????????????

MX 邮件交换记录?? ---标记邮件服务主机名

PTR指针记录 将IPV4 IPV6地址映射到主机名 (用于反向DNS)

AAAA? (IPV6 地址记录)? 资源记录(四A记录)将主机名映射到ipv6地址。

/var/named/named.ca??? (数据文件----资源记录文件)

bind的相关配置文件

????????? /etc/named.conf? 主配置文件

/etc/rndc.conf:??????? 相关配置文件

区域数据文件,需要手动创建

/var/named/zidingyi.zone

配置检查脚本工具

/usr/sbin/named-checkconf

区域配置检查工具

/usr/sbin/named-checkzone

#全球十三个根服务器的相关信息;

/var/named/named.ca? 区域文件dns数据库

?????? 解析库文件:存放于/var/named/目录下,一般名字为ZONE_NAME.zone

正向解析文件(区域数据文件)

资源记录包含的元素:

owner-name ?????TTL?????????????????????? class????????? ???????????type??????????????????? date

主机名??? ?????资源记录生存时间????? ???INTERNET?????????? ?A?????????????? 记录存储数据(主机ip)

TTL值

(当外部DNS服务器对你的DNS这个域进行查询时,这个记录会放置在对方的DNS服务器几秒钟)

五种定义的信息

serial number:?? 序列号 定义当前使用的数据序列号??? sn遵循“年+月+日+编号” ·

主和从的更新依据

refresh:? 定义检查间隔时间? (上次和这次变化的时间)

retry:??????? 重试时间? < 检查时间>???????

expire:??????? 过期时间? (什么时候通过从服务器解析)???

negative answer ttl:? 否定答案的缓存时长? (没有指定生存期的数据可以保存在数据中的时间及TTL值)

?时间单位:M(分钟)、H(小时)、D(天)、W(周),默认单位是秒

配置文件详解:

dns的主配置文件,作为dns的设定档,将我自己的设定档案列出来然后逐部分进行解释。

注意格式:"//"????? "/*???? */"?? ";"结尾

该文件属主root,named用户组

###################################

#全局选项

options {

#定义监听端口,如果所有地址都监听,则只写端口

??????? listen-on port 53 { 127.0.0.1; };??????????????????

??????? listen-on-v6 port 53 { ::1; };

#定义数据文件目录

??????? directory?????? "/var/named";

??????? dump-file?????? "/var/named/data/cache_dump.db";??

??????? statistics-file "/var/named/data/named_stats.txt";???? 统计档案、文件

??????? memstatistics-file "/var/named/data/named_mem_stats.txt";分配统计目录

??????? allow-query???? { localhost; };?? #只允许本地主机进行查询

??????? recursion yes;?????? #允许递归

#allow-recursion { 192.168.0.0/16; }????? ;指定可以递归的范围

dnssec功能会对解析结果进行验证,是否为权威解答,不是就会报错,虽然不影响使用,但是看着不爽

logging { //指定日志记录分类和他们的目标位置

};

zone{? 定义区域,一个zone定义一个区域

type hint;

File? named.ca

};

rndc

rndc服务默认监听在tcp953端口,且默认监听于127.0.0.1地址,因此默认仅允许本地使用。

rndc的常见用法:

rndc reload在不重新启动DNS服务的情况下,重新加载配置文件及zone.

rndc reload zone重新加载指定的zone.

rndc status查看当前DNS服务器的状态。

rndc stats将当前系统的DNS统计数据记录下来,默认会将数据存储为一个件:/var/named/data/named_stats.txt.

rndc dumpdb将当前DNS高速缓存中的数据记录下来,与stats类似,默认会将数据存储为一个文件:/var/named/data/cache_dump.db

rndc flush清空当前DNS服务器上的所有缓存。

Usage: rndc [-b address] [-c config] [-s server] [-p port]

??? [-k key-file ] [-y key] [-V] command

?练习

1

先配置正向解析

服务器端修改主配置文件

vim /etc/named.conf

?

?保存退出

服务器端修改区域数据配置文件 vim/var/named/

添加下列代码

保存退出

rndc reload 重新加载配置文件

切换到客户机

客户端 vim /etc/resolv.conf 修改dns服务器ip为上面服务器的 ip




?配置反向解析

vim? /etc/named.conf 在服务器端主配置文件里添加如下代码

保存退出

服务器端创建区域数据文件

?vim /var/named/named.192.168.199
添加如下代码

保存退出

客户端访问

完全区域传送

在服务器端主配置文件 vim /etc/named.conf中添加箭头所指代码

?

在另一台虚拟机安装bind 作为从服务器

从服务器配置文件vim? /etc/named.conf添加如下代码(蓝色的都是注释不用加)

?

baidu可以删掉

?保存退出

在从服务器端

cd /var/named/slaves/

rndc reload 重新加载配置文件就会自动更新

ll

?

2

需要三台虚拟机 分别是 主dns 转发dns 客户机

主dns服务

vim /etc/named.comf

?

vim /var/named/named.openlab.com

?

?转发dns

vim? /etc/named.conf

客户机

?

3

暂略

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-29 09:44:38  更:2021-08-29 09:45:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:52:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码