美文网首页
Linux 域名与DNS解析

Linux 域名与DNS解析

作者: 月饮沙 | 来源:发表于2020-04-28 17:43 被阅读0次

域名与DNS解析

域名的组成

域名用点(.)来进行分隔,形成多层结构。位置越靠后,层级越高
所有域名都以.结束
域名层级示意图

图片.png
域名主要是为了方便记忆,IP地址才是机器间通信的真正机制

域名解析服务

域名解析服务(DNS)就是把域名转换成IP地址的服务。对应的服务器是域名服务器,网络协议是DNS协议
DNS协议属于TCP/IP栈中对应的应用层,但是实际传输还是基于UDP或者TCP协议,域名服务一般监听在端口53上

域名解析过程

通常来讲,每级DNS服务器,都有最近解析记录的缓存,当缓冲命中时,直接用缓存中的记录应答。如果缓存过期过不存在,域名解析以递归的方式执行,从顶级开始,发送给每个层级的域名服务器,直到得到解析结果
示例图


图片.png

配置DNS服务器

vi /etc/resolv.conf
nameserver 114.114.114.114

DNS服务管理数据方式

DNS服务通过资源记录的方式,再来管理所有数据
支持以下等多种类型的记录

  • A
    用来把域名转换成IP地址
  • CNAME
    用来创建别名
  • NS
    表示域名对应的域名服务器地址
  • MX
    记录邮件服务器地址
  • PTR

解析DNS

命令

nslookup www.baidu.com

结果解析

Server:域名服务器
Address:域名服务器及端口号

No-authoritative answer:
非权威查询结果 由于服务区上设置的域名服务器不是直接管理要查询的域名的服务器,所以查询结果是非权威的

查看DNS解析过程

命令

dig +trace +nodnssec www.baidu.com
# +trace 表示开启跟踪查询
# +nodnssec 表示禁止 DNS 安全扩展

结果解析

结果分为4个部分

  1. 第一部分,从DNS服务器查到的根域名服务器(.)的NS记录
  2. 第二部分,从NS记录中选一个,并查询顶级域名(com.)的NS记录
  3. 第三部分,是从com.的NS记录中选择一个,并查询二级域名baidu.com 的NS服务器
  4. 第四部分,从baidu.com.的NS服务器查询最终主机的A记录

设置本地DNS解析

可以把主机名和IP地址的映射关机,写入本机的/etc/hosts文件中

cat /etc/hosts
127.0.0.1   localhost localhost.localdomain
::1         localhost6 localhost6.localdomain6
192.168.0.100 domain.com

也可以在内网中,搭建自定义的DNS服务器,专门用来解析内网中的域名。
内网DNS服务器,一般还会设置一个或多个上游DNS服务器,用来解析外网的域名

域名解析常见问题处理

DNS解析失败

现象

# nslookup time.geekbang.org
;; connection timed out; no servers could be reached

检查方法

  • 测试网络是否连通
    ping 114.114.114.114
  • 查看nslookup失败的原因
nslookup -debug time.geekbang.org
/# nslookup -debug time.geekbang.org
;; Connection to 127.0.0.1#53(127.0.0.1) for time.geekbang.org failed: connection refused.
;; Connection to ::1#53(::1) for time.geekbang.org failed: address not available.

结果显示连接环回地址失败的53端口失败

  • 检查DNS服务器设置
    cat /etc/resov.conf

DNS解析不稳定

现象

解析慢

/# time nslookup time.geekbang.org
Server:                8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:        time.geekbang.org
Address: 39.106.233.176

real        0m10.349s
user        0m0.004s
sys        0m0.0

偶尔解析失败

/# time nslookup time.geekbang.org
;; connection timed out; no servers could be reached

real        0m15.011s
user        0m0.006s
sys        0m0.006s

可能原因

  • DNS服务器有问题,响应慢并且不稳定
  • 客户端到DNS服务器的网络延迟比较大
  • DNS请求或响应包,在某些情况下被链路中的网络 设备弄丢了

检查方法

  • 检查到DNS服务器的网络延迟
    ping 114.114.114.114
    如果延迟较高,更换成延迟较小的服务器
  • 使用DNS缓存
    启用缓存
/# /etc/init.d/dnsmasq start
* Starting DNS forwarder and DHCP server dnsmasq                    [ OK ]

将DNS服务器更改为dnsmasq的监听地址
/# echo nameserver 127.0.0.1 >...

相关文章

  • 国内网络慢,推荐阿里云镜像站下载

    镜像站 https://developer.aliyun.com/mirror/ 域名解析DNS Linux 服务...

  • Linux 域名与DNS解析

    域名与DNS解析 域名的组成 域名用点(.)来进行分隔,形成多层结构。位置越靠后,层级越高所有域名都以.结束域名层...

  • DNS

    DNS服务 DNS域名 DNS域名结构 DNS解析 DNS服务器类型 区域传输 DNS解析 区域数据库 添加CNA...

  • DNS域名服务器——原理

    1 DNS是什么? DNS (Domain Name System) 中文叫做域名解析系统,所谓域名解析就是把域名...

  • Linux学习笔记

    Linux常用命令 Linux显示隐藏文件 Linux网络设置 dns服务解析域名配置 临时设定ip相关配置 添加...

  • DNS劫持技术与原理

    DNS劫持含义:DNS劫持又称域名劫持,是通过劫持技术修改域名注册信息,修改DNS解析,劫持修改域名解析结果。使访...

  • DNS域名解析

    本文解决如果几个问题:1、什么是DNS域名解析2、域名解析过程3、如何搭建本地DNS服务器 什么是DNS域名解析 ...

  • DNS负载均衡

    DNS:域名解析服务器 功能: 在linux在的命令可以用nslookup + 域名 返回IP地址 应用场景: -...

  • 用户输入网址到他看到页面,中间经过了什么?

    1.DNS域名解析,拿到域名对应的ip,发起tcp请求: DNS解析时不需要握手,因为DNS解析使用的不是TCP协...

  • 从URL输入到页面展现发生了什么?

    1. 域名解析(DNS):将域名解析成 IP 地址 DNS 是一个网络服务器,我们的域名解析简单来说就是在 DNS...

网友评论

      本文标题:Linux 域名与DNS解析

      本文链接:https://www.haomeiwen.com/subject/hbcbwhtx.html