linux中DNS服务器解析

DNS服务器

DNS介绍

域名的分层结构
例如:www.aliyun.com.

-  DNS里面顶层是: "." 表示根域 ( 一共有十三台根服务器)
- “.com”是顶级域名;分类:职能:com域,.org域(非营利机构),edu域名(教育)国家:.cn ,.us ,
- “aliyun.com”是主域名(二级域),主要指企页名;
- “example.aliyun.com”是子域名(也可称为托管三级域名);
- “www.example.aliyun.com”是子域名的子域(也可称为托管四级域名)。
DNS的分层结构
域名是分层结构,域名DNS服务器也是对应的层级结构。有了域名结构,还需要有域名DNS服务器去解析域名,且是需要由遍及全世界的域名DNS服务器去解析,域名DNS服务器实际上就是装有域名系统的主机。域名解析过程涉及4个DNS服务器

根DNS服务器:本地域名服务器在本地查询不到解析结果时,则第一步会向他进行查询,并获取顶级域名服务器的ip地址

顶级域名服务器:负责管理在该顶级域名服务器下注册的二级域名,向他查询时,可返回二级域名所在的权威域名服务器地址

权威域名服务器:在特定区域内具有唯一性,负责维护该区域内的域名ip地址之间的对应关系

本地域名服务器:本地域名服务器是响应来则客户的递归请求,并最终跟踪到获取解析结果的DNS服务器

每个层的域名上都有自己的域名服务器,最顶层的是根域名服务器
每一级域名服务器都知道下级域名服务器的IP地址,以便于一级一级向下查询
DNS解析过程
下面的示例则概述了本地域名服务器没有缓存的情况下,DNS查询所需的8个步骤:

1.用户在Web浏览器中输入“www.example.com”,浏览器先检查自身缓存中有没有解析过的这个域名对应的ip地址,如果有,解析结束.如果浏览器没有缓存,那么就检查操作系统的hosts文件,称为本地解析,比如windows就是C:\Windows\System32\drivers\etc\hosts文件,linux在/etc/hosts文件中配置。如果命中域名解析结束。如果没有命中域名解析,浏览器会向本地的DNS服务器查询,如果命中域名解析就结束。
2. 如果本地DNS服务器没有命中域名解析,那么本地DNS服务器采用递归查询的方法,向根域名服务器进行查询。
3. 根域名服务器开启迭代查询方法告诉本地域名服务器,下一步应该查询的顶级域名服务器.com TLD的IP地址
4. 本地域名服务器向顶级域名服务器.com TLD进行查询
5. .com TLD服务器告诉本地域名服务器,下一步查询example.com权威域名服务器的IP地址
6. 本地域名服务器向example.com权威域名服务器发送查询
7. example.com权威域名服务器告诉本地域名服务器所查询的主机IP地址
8. 本地域名服务器最后把查询的IP地址响应给web浏览器
- 一旦DNS查询的8个步骤返回了example.com的IP地址,浏览器就能够发出对网页的请求:
9. 浏览器向IP地址发出HTTP请求
10. 该IP处的web服务器返回要在浏览器中呈现的网页

DNS术语

递归查询
是指DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户。( 根服务器不会开递归查询。会开迭代查询)
迭代查询
是指DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。
TTL
英文全称Time To Live ,这个值是告诉本地域名服务器,域名解析结果可缓存的最长时间,缓存时间到期后本地域名服务器则会删除该解析记录的数据,删除之后,如有用户请求域名,则会重新进行递归查询/迭代查询的过程。
TLD Server
英文全称Top-level domains Server,指顶级域名服务器。
DNS Resolver
指本地域名服务器,它是DNS查找中的第一站,是负责处理发出初始请求的DNS服务器。运营商ISP分配的DNS、谷歌8.8.8.8等都属于DNS Resolver。
Root Server
指根域名服务器,当本地域名服务器在本地查询不到解析结果时,则第一步会向它进行查询,并获取顶级域名服务器的IP地址。

DNS记录类型

DNS支持A、CNAME、AAAA、NS等记录类型
记录类型   功能描述
A         ipv4记录,支持将域名映射到ipv4的地址使用
AAAA      ipv6记录,支持将域名映射到ipv6的地址使用
CNAME     别名记录, 支持将域名指向另外一个域名      360buy
NS        名称服务器记录,支持将子域名委托给其他DNS服务商解析

DNS客户端检测工具

dig
域名查询工具,可以用来测试域名系统工作是否正常。
功能与 nslookup 类似,建议使用 dig 来取代 nslookup
 yum install bind-utils -y  //安装dig命令(包括host、nslookup)
 dig  www.baidu.com     //解析域名对应的IP地址信息
host
yum install -y bind-utils-9.11.4-16.P2.el7_8.3.x86_64 #安装host命令
host www.baidu.com     //利用host工具查询IP地址信息

配置DNS方式

本机解析
本机解析:/etc/hosts    默认先使用本机解析
[root@linux-server ~]# vim /etc/hosts  #本机解析文件---添加如下内容
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.246.160 www.soso666.cn
表示:cn域下面有一个soso666,soso666下面有一子域名www。仅供本地解析。
使用本地DNS服务器解析
DNS: domain name service 
客户端设置(指定)DNS:
vim /etc/resolv.conf  //本地dns配置文件
Generated by NetworkManager
search localdomain
nameserver 192.168.246.2
nameserver 114.114.114.114  //新添加
修改网卡配置文件定义DNS
vim /etc/sysconfig/network-scripts/ifcfg-ens33   //网卡配置文件

DNS1=114.114.114.114
DNS2=8.8.8.8

相关推荐

  1. linuxDNS服务器

    2023-12-06 17:34:06       52 阅读
  2. linux 增加DNS

    2023-12-06 17:34:06       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-06 17:34:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-06 17:34:06       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-06 17:34:06       82 阅读
  4. Python语言-面向对象

    2023-12-06 17:34:06       91 阅读

热门阅读

  1. quickapp_快应用_系统接口应用

    2023-12-06 17:34:06       57 阅读
  2. Socket通信

    2023-12-06 17:34:06       66 阅读
  3. MySQL之函数学习

    2023-12-06 17:34:06       50 阅读
  4. File 类

    2023-12-06 17:34:06       56 阅读
  5. 数据库备份与恢复

    2023-12-06 17:34:06       50 阅读
  6. QT——数据转换(int/QString/QByteArray/char/string)等

    2023-12-06 17:34:06       53 阅读
  7. openssl 生成CA及相关证书

    2023-12-06 17:34:06       58 阅读
  8. 索引器【C#】

    2023-12-06 17:34:06       57 阅读
  9. 特征与特征图的区别

    2023-12-06 17:34:06       52 阅读
  10. git 学习笔记

    2023-12-06 17:34:06       63 阅读
  11. 【开源视频联动物联网平台】Node-RED规则引擎

    2023-12-06 17:34:06       52 阅读
  12. 前端面试题:常见的响应状态码

    2023-12-06 17:34:06       51 阅读
  13. 【总结】ES 7.x 配置用户名和密码访问(亲测可用)

    2023-12-06 17:34:06       59 阅读
  14. C语言K&R圣经笔记 4.3 外部变量

    2023-12-06 17:34:06       44 阅读