推广 热搜: 行业  设备    系统  参数  经纪    教师  机械  中国 

域名解析DNS服务

   日期:2024-11-10     作者:n19v1    caijiyuan   评论:0    移动:http://fswenzheng.xhstdz.com/mobile/news/3977.html
核心提示:DNS:Domain Name System (域名系统) DNS 是互联网上解决网络中机器命名的一种系统。在网络中,一台主机去访问另外

域名解析DNS服务

DNS:Domain Name System (域名系统)

DNS 是互联网上解决网络中机器命名的一种系统。在网络中,一台主机去访问另外一台主机时,必须要 知道目标主机的IP地址,虽然网络上的节点都可以用IP地址来标识,并且可以通过IP地址被访问。但对 于自然人而言,一组组由数字组成的IP地址,是难以被理解和记忆的。于是设计出了域名系统,用一组 有意义的字符来表示某个特定主机或某个网络,再将网络中主机IP地址和域名之间做成一个映射表。

DNS 就是负责维护主机IP地址和域名映射关系的服务,同时也提供域名解析服务,即人类通过域名访问 某个主机或节点时,由DNS服务将人类可读的域名转换为机器可读的IP地址,再通过IP地址找到对应的 主机。

域名 (Domain Name)

域名,又称网域,顾名思义,是一个域的名称。 是一串用点号分隔的字符,可以用来标识网络中某台主 机或某个节点,由DNS服务维护域名和主机IP地址之间的映射关系,当我们在网络中访问某个域名时, 实际上访问的是该域名对应的IP地址所标识的主机。

FQDN:(Fully Qualified Domain Name)全限定域名

域名是一个域的名称,一个网域或一个节点,可以有多台主机,所以为了精确表示域里面的某台主机, 我们在使用域名时,还需要加上主机名,FQDN指的就是同时带有主机名和域名的名称。

域名的组成

域名由英文字母,数字和英文连字符(-) 组成,且不区分大小写。

域名是分层次的,允许定义子域,子域名与上级域名之间用 . (点号)分隔,最上层节点的域名称为顶级 域名(TLD,Top-Level Domain),第二层节点的域名称为二级域名,依此类推。级别最低的域名写在最 左边,而级别最高的域名写在最右边。每一层级的域名长度不能超过63个字符,多级域名加起来不能超 过255个字符。域名最多可以有127级。

域名的管理

域名由因特网域名与地址管理机构(ICANN,Internet Corporation for Assigned Names and Numbers) 管理,这是为承担域名系统管理、IP地址分配、协议参数配置,以及主服务器系统管理等职能而设立的 非盈利机构。

ICANN为不同的国家或地区设置了相应的顶级域名,这些域名通常都由两个英文字母组成。例如:.uk代 表英国、.fr代表法国、.jp代表日本。中国的顶级域名是.cn,.cn下的域名由CNNIC进行管理。

一级域名:又称顶级域名,可分为三类,一类代表国家和地区(cn,hk,......),一类代表各类组织 (com,edu,......),以及反向域

二级域名:某个具体组织,单位,机构,商业公司或个人使用,需要向域名管理机构申请(付费)才能获得 使用权

二级域名以下的域名,由使用该域名的组织自行分配

主机中DNS客户端配置

当一台主机接入互联网时,在配置网络时,通常有两种方式,一种是从DHCP服务自动获得IP地址,另外 一种是手动指定静态地址

从DHCP服务自动获取IP时,通常也会自动获得DNS服务器地址,手动配置静态地址时,也需要手动配置 DNS服务器地址

当用户使用主机 发送/接收 邮件,或浏览网页时,就是由主机上配置的DNS服务器地址负责将域名转换 成对应的IP地址。

Rocky中手动配置的DNS服务器地址

 

查看Ubuntu 中的DNS

 

DNS服务解析域名流程

  1. 当客户端主机决定访问 百度一下,你就知道 这个域名时,首先会查询本机缓存

  2. 如果本机缓存没有解析记录,则会向其配置的DNS服务器发起解析请求

  3. DNS代理解析服务器会先查询其缓存是否有这条解析记录,如果有,则直接返回,如果没有,则继 续向上解析

  4. DNS代理解析服务器会向根域名服务器发起解析请求,根域名服务器返回 com 域名的DNS地址

  5. DNS代理解析服务器继续向 com 域名服务器发起解析请求,com 域名服务器返回 baidu.com 域名服务器DNS地址

  6. DNS代理解析服务器继续向 baidu.com 域名服务器发起解析请求,baidu.com 域名服务器返 回 www.baidu.com 主机的IP

  7. DNS代理解析服务器将 www.baidu.com 的IP地址存入本机缓存,再读取缓存,将 IP地址发送给 客户端主机

  8. 客户端主机通过IP地址顺利访问 百度一下,你就知道

注意:DNS服务只负责域名解析,也就是说,DNS服务,只负责返回与域名对应的IP地址,但该IP地址在网络 上是否是可达的,并不由DNS决定

递归查询

是指DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务器本地 没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户。

一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器 本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户 机。

此查询的源和目标保持不变,为了查询结果只需要发起一次查询。

递归算法:客户端向LocalDNS发起域名查询-->localDNS不知道域名对应的IP-->但它知道谁知道->他代 为帮客户端去查找-->最后再返回最终结果。

迭代查询

是指DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地 址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。

一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对方不能返回权 威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起进行查询,直到返 回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需要发起多次查询。

迭代算法:客户端向LocalDNS发起域名查询-->localDNS不知道域名对应的IP-->但它知道谁知道并推荐 客户端应该找谁-->客户端自己去找它。

DNS缓存

DNS缓存是将解析数据存储在靠近发起请求的客户端的位置,也可以说DNS数据是可以缓存在任意位 置,最终目的是以此减少递归查询过程,可以更快的让用户获得请求结果。

Windows系统

 

CentOS系统

 

Ubuntu系统

 

DNS服务器里面有两个区域,即 正向查找区域 和 反向查找区域

正向解析:将域名解析成IP地址

反向解析:根据IP地址得到该IP地址指向的域名

hosts文件是一个没有扩展名的系统文件,可以直接用文本编辑工具修改,在该文件中直接定义域名与IP 地址的对应关系当主机访问某个域名时,会先从hosts文件中寻找与该域名对应的IP地址,如果找到, 则直接请求该IP地址,如果找不到,才会将该域名提交DNS服务请求解析该域名对应的IP地址。

操作系统规定,在进行DNS请求以前先检查系统自己的Hosts文件中是否有这个域名和IP的映射关系。 如果有,则直接访问这个IP地址指定的网络位置,如果没有,再向已知的DNS服务器提出域名解析请 求。也就是说Hosts的IP解析优先级比DNS要高。

hosts文件是引入DNS服务之前的解析方案

早期的 internet 网络规模非常小,一个hosts文件就可以定义所有的域名与IP地址的映射关系,管理机 构提供该文件下载地址,并定期更新文件内容,以此来反映网络上的变化。

但随着时间的推移,接入 internet 的主机和域名越来越多,通过一个中心文件管理所有域名与IP地址映 射关系己经不再可取,于是便引入了DNS服务

 

dig:(Domain Information Groper) 域名信息查询工具

dig 命令不会查询本地 hosts文件中定义的域名和IP对应关系

 

查询结果说明

 

host 命令可以根据域名查询得到对应的服务器IP地址

host 命令不会查询本地 hosts文件中定义的域名和IP对应关系

 

nslookup:(name server lookup),一个命令行下的网络工具,主要用来查询DNS记录,查看域名解析 是否正常,也可用来诊断网络问题

nslookup 支持交互式和非交互式两种执行方式,在Windows系统中和Linux系统中都可以使用

nslookup 命令不会查询本地 hosts文件中定义的域名和IP对应关系,也不能查询dns的递归或者迭代

 

rndc 是 bind 程序的客户端工具,默认使用 TCP的 953 端口连接 bind 服务器,进行管理

 

whois 命令可以查询域名注册信息

 

在 ubuntu 系统中,虽然在网卡中配置了 DNS 服务器的IP地址,但在使用相关命令进行 DNS 解析时, 默认的 DNS 服务器使用的是 127.0.0.53,而并不是我们在网卡上配置的DNS 服务器地址。

 

systemd-resolved 服务为本地应用程序提供了网络名字解析服务, 系统通过它对外进行 dns 请求。

 

设置全局DNS

 

bind:(Berkeley Internet Name Domain)

bind 是一款实现DNS服务的开放源码软件,由伯克利大学开发,能够提供双向解析,转发,子域授权, view 等功能,使用广泛,目前Internet上半数以上的DNS服务器都是由Bind来实现的。

安装

 

启动服务

 

查看端口占用

named默认会占用TCP和UDP的53端口, 953是给管理工具使用的

将其它机器的DNS指向本机

 

Bind 的配置说明

配置文件解析流程

bind 配置文件

 

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

 

选项配置文件 /etc/bind/named.conf.options

 

该文件主要包括以下几部份内容,默认只有全局配置部份

配置配置字段备注全局配置options{};全局配置选项日志子系统配置logging{};运行日志网络自定义集合acl将某个网段或某个具体IP地址定义在一个集合里面视图view配合acl将不同的请求来源用不同的解析规则返回,实现智能 DNS
 

中间配置文件 /etc/bind/named.conf.default-zones

该文件中定义了要解析的域名与具体解析规则之间的对应关系

 

allow 访问控制指令

在named配置中有四个allow开头的字段,主要用来实现访问控制

字段说明allow-query{};允许查询本DNS的主机,白名单,注释就代表所有主机都可使用本机当DNSallow-transfer{};允许区域传送的主机,白名单,注释代表所有,一般用在主从DNS配置时指 定从节点allow-recursion{};允许递归的主机,建议全局使用allow-update{};允许可以远程更新解析规则的主机

acl 地址集合

ACL:将一个或多个网段(或具体IP地址)定义在一个集合里面,并通过统一的名称进行调用。

ACL 只能先定义后调用,因此一般放在配置文件的最上面,在 options 之前定义。

ACL 有四个内置值

ACL说明none排除所有主机any所有主机localhost本机localnet本机IP同子网掩码运算后得到的网段

view 视图

view:视图,将ACL和具体的解析规则对应起来,实现根据条件解析,实现智能DNS

  • 每个view用来匹配一个ACL

  • 一个bind服务可以可以定义多个view,每个view 中可定义的一个或多个zone;

  • 不同的view中可以对同一个域名进行解析,返回不同的解析结果

  • 如果定义了view,则所有的zone规则都要写在view中了,不能再直接写在 /etc/named.conf 中 了

  • 客户端请求到达时,是自上而下检查每个view所对应的ACL的,也就是说,如果请求被命中了,就 进入解析,不再向后匹配

具体解析规则 /etc/bind/db.*

该文件定义域名的具体解析规则,该文件有多条资源记录组成,每一行都是一条资源记录,在RFC文档 中,DNS解析记录被称为Resource Recode(资源记录,缩写为 RR

Resource Recode 定义

 

CLASS 字段说明

值说明INthe Internet/互联网,最常用的CSCSNET,己被废弃CHCHAOS ,一种早期协议HSHesiod

TYPE字段说明

常用的TYPE字段值有A,AAAA,CNAME,MX,NS,PTR,SOA 等

值说明Ainternet Address,将FQDN解析成IPV4地址,这是最常用的一种解析类型AAAAIPV6 internet Address,将FQDN解析成IPV6地址CNAMEthe canonical name for an alias,记录别名,将域名解析到另一个域名HINFOhost information,主机信息KEY安全密钥记录MD被废弃,使用 MXMF被废弃,使用 MXMINFOmailbox or mail list information,邮箱或邮件列表信息MXMail eXchanger,用于邮件交换,指定邮件服务器NSName Server,将解析指向另外一个DNS,表示由被指定的DNS解析当前记录PTRa domain name pointer,域名指针,用IP地址反向解析域名SOAa marks the start of a zone of authority,标记权威区域的开始SRVservice and protocol,服务和协议TXTtext strings,文本字符串,此类型值长度限定不超过512个字符WKSa well known service description/众所周知的服务描述

A 记录 和 AAAA记录

A 记录也称主机记录,是将主机域名解析到指定的物理机IPV4地址上

AAAA 记录是IPV6地址的主机记录,是将主机域名解析到指定物理机的IPV6地址上

A 记录是DNS解析服务中最常见的资源记录

 

CNAME 别名记录

记录别名,将域名解析到另一个域名

 

MX 记录

邮件交换 (MX) 记录将一个域的电子邮件定向到托管该域用户帐号的服务器(SMTP服务器)。

一个域可以定义多条MX记录,但每条MX记录的优先级不同,如果邮件通过最高优先级记录无法递送, 则采用第二优先级,以此类推。

每个MX记录的value之前有一个数字(0-99),表示此服务器的优先级,数字越小优先级越高

对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录

 

NS 记录

域名服务器 (NS) 记录用于确定哪些服务器为一个网域提供DNS解析服务。

一般来说,为了服务的安全可靠,一个域名,至少应该有两条NS记录,保证服务的冗余,防止出现单点 失败。

 

PTR 记录

PTR记录是A记录的逆向记录,又称做IP反查记录或指针记录,负责将IP反向解析为域名

 

SOA 记录

SOA记录是起始授权记录,用于设置当前DNS服务器的某些规则,SOA记录要放在整个文件的最开始。

SOA 记录表示此DNS是该域名的权威解析服务器,当在查询的过程中,各级缓存都没有要查询的内容 时,最后会通过递归查询的方式到达此DNS服务器,并请求此域名的SOA记录。

SOA记录同样符合 NAME TTL CLASS TYPE VALUE 这五个字段的格式定义,但VALUE字段值较多

VALUE 字段中从左到右具体内容如下

字段说明DNS服务器名称描述性字段,表示当前DNS服务器名称服务器管理员邮箱邮箱中的@要写成当前数据库的版本号主从服务器要同步数据,此字段就是数据更新的标识从服务器拉取数据的时间间隔从服务器拉取数据的时间间隔从服务器同步失败后重试时间间隔上次同步失败后,间隔多久重试从服务器同步失败超过多长时间从服 务器失败同步失败时长超过此值,则认为从服务器数据无效不存在的记录缓存时长当查询一个不存在的解析记录时,该记录在指定时间内直 接返回不存在
 

TXT 记录

TXT记录是对域进行标识和说明的一种方式,一般用于验证记录,该记录的值可以是人工可读文本,也 可以是机器可读文本,也可为空。

本文地址:http://fswenzheng.xhstdz.com/news/3977.html    物流园资讯网 http://fswenzheng.xhstdz.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新文章
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新文章
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号