| |
|
开发:
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服务默认监听在tcp的953端口,且默认监听于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 暂略 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |