栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

粗谈Linux DNS

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

粗谈Linux DNS

1. 小声哔哔

    DNS(Domain Name System),即域名系统,不论是在容器化还是虚拟化场景下都是比较基础的一个服务,主要提供域名和 IP 地址之间映射关系的查询服务。

    DNS更为很多应用提供了动态服务发现和全局负载均衡(Global Server Load Balance,GSLB)的机制。这样,DNS 就可以选择离用户最近的 IP 来提供服务。即使后端服务的 IP 地址发生变化,用户依然可以用相同域名来访问。同时,域名也提供了一种便于人脑快速记忆的能力,毕竟相较于一串IP数字,域名相对而言更便于传播,比如www.baidu.com

2. 域名与DNS

    域名通过点分割层级,越靠后的分段则层级越高。我们用最常见的www.baidu.com举例。最后面的com是顶级域名,中间的baidu是二级域名,而最左边的www则是三级域名。

    相对应的,域名解析其实也是用递归的方式(从顶级开始,以此类推),发送给每个层级的域名服务器,直到得到解析结果。因此,我们的Linux服务器中还需要配置DNS解析服务器地址,用于通过域名访问外部服务,比如电信提供的DNS服务器地址:114.114.114.114。我们可以执行:cat /etc/resolv.conf命令来查看我们机器上配置的DNS服务器地址,也可以执行vim /etc/resolv.conf相应的修改我们主机的DNS服务器地址。

3. 常见的DNS记录
资源记录类型含义
CNAME记录

又称为别名记录,就是给一个域名起一个别名,常用于后台IP更换,此时可以申请一个新域名,将旧域名CNAME到新域名,外部调用不感知,且可以快速切换,回滚。

例如:

www.baidu.com.   1200       IN    CNAME  www.a.shifen.com.
A记录

也称为主机记录,就是域名和ip地址的对应关系

例如:

www.a.shifen.com. 300  IN    A     180.101.49.11
NS记录

NS记录称为域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析

例如:

a.shifen.com.         1200       IN    NS   ns1.a.shifen.com.

a.shifen.com.         1200       IN    NS   ns2.a.shifen.com.
PRT记录

又称为逆向查询记录,用于从ip地址中查询域名

可执行dig -x IP @DNS服务器尝试查看

例如:dig -x 202.106.196.115 @8.8.8.8

115.196.106.202.in-addr.arpa. 18000 INPTR linedns.bta.net.cn.
SOA记录起始授权记录,用于一个区域的开始,SOA记录后的所有信息均是用于控制这个区域的,每个区域数据库文件都必须包含一个SOA记录,并且必须是其中的第一个资源记录,用以标识DNS服务器管理的起始位置,SOA说明能解析这个区域的dns服务器中哪个是主服务器

4. 查看DNS解析工具

    常见的DNS解析工具有两种,nslookup和dig,因为dig命令的功能相对丰富一点,所以这里着重讲dig命令。

    我们可以使用dig +trace命令查看DNS递归解析的详细情况,这里还是拿www.baidu.com举例。

    登录Linux主机,vim /etc/resolv.conf配置好DNS服务器后(例如:114.114.114.114),执行命令:dig +trace www.baidu.com,得到输出:

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> +trace www.baidu.com

;; global options: +cmd

.                    171099    IN    NS   g.root-servers.net.
.                    171099    IN    NS   h.root-servers.net.
.                    171099    IN    NS   i.root-servers.net.
.                    171099    IN    NS   j.root-servers.net.
.                    171099    IN    NS   k.root-servers.net.
.                    171099    IN    NS   l.root-servers.net.
.                    171099    IN    NS   m.root-servers.net.
.                    171099    IN    NS   a.root-servers.net.
.                    171099    IN    NS   b.root-servers.net.
.                    171099    IN    NS   c.root-servers.net.
.                    171099    IN    NS   d.root-servers.net.
.                    171099    IN    NS   e.root-servers.net.
.                    171099    IN    NS   f.root-servers.net.

;; Received 239 bytes from 114.114.114.114#53(114.114.114.114) in 25 ms

com.                     172800    IN    NS   m.gtld-servers.net.
com.                     172800    IN    NS   f.gtld-servers.net.
com.                     172800    IN    NS   b.gtld-servers.net.
com.                     172800    IN    NS   l.gtld-servers.net.
com.                     172800    IN    NS   j.gtld-servers.net.
com.                     172800    IN    NS   d.gtld-servers.net.
com.                     172800    IN    NS   c.gtld-servers.net.
com.                     172800    IN    NS   e.gtld-servers.net.
com.                     172800    IN    NS   g.gtld-servers.net.
com.                     172800    IN    NS   i.gtld-servers.net.
com.                     172800    IN    NS   a.gtld-servers.net.
com.                     172800    IN    NS   k.gtld-servers.net.
com.                     172800    IN    NS   h.gtld-servers.net.

;; Received 1173 bytes from 199.9.14.201#53(b.root-servers.net) in 60 ms

baidu.com.            172800    IN    NS   ns2.baidu.com.
baidu.com.            172800    IN    NS   ns3.baidu.com.
baidu.com.            172800    IN    NS   ns4.baidu.com.
baidu.com.            172800    IN    NS   ns1.baidu.com.
baidu.com.            172800    IN    NS   ns7.baidu.com.

;; Received 817 bytes from 192.35.51.30#53(f.gtld-servers.net) in 222 ms

www.baidu.com.          1200       IN    CNAME  www.a.shifen.com.

;; Received 72 bytes from 14.215.178.80#53(ns4.baidu.com) in 46 ms

dig trace的输出,主要包括四部分。

  1. 从114.114.114.114查到的一些根域名服务(.)的NS记录。
  2. 从NS记录结果中选一个(b.root-servers.net),并查询顶级域名com.的NS记录。
  3. 从com.的NS记录中选择一个(f.gtld-servers.net),并查询二级域名baidu.com.的 NS 服务器。
  4. 从baidu.com.的NS服务器(f.gtld-servers.net)查询百度的CNAME记录。www.a.shifen.com

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/867727.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号