linux DNS域名解析 第十二章

DNS介绍

DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

域名解析

域名对应ip
www.baidu.com这个域名--对应IP---183.232.231.174

域名的分层结构

任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。域名可以划分为各个子域,子域还可以继续划分为子域的子域,这样就形成了顶级域、主域名、子域名等。关于域名层次结构如下图:

域名分层举例

比如:www.aliyun.com.

1、DNS里面顶层是: "." 表示根域 (一共有十三台根服务器)
2、“.com”是顶级域名;分类:职能:com域,.org域(非营利机构),edu域名(教育)国家:.cn ,.us ,
3、“aliyun.com”是主域名(二级域),主要指企页名;
4、“example.aliyun.com”是子域名(也可称为托管三级域名);
5、“www.example.aliyun.com”是子域名的子域(也可称为托管四级域名)。

DNS的分层结构

域名是分层结构,域名DNS服务器也是对应的层级结构。有了域名结构,还需要有域名DNS服务器去解析域名,且是需要由遍及全世界的域名DNS服务器去解析,域名DNS服务器实际上就是装有域名系统的主机。域名解析过程涉及4个DNS服务器,分别如下:

ping www.baidu.com
1.本地域名服务器
 
2.根DNS服务器
.com    10.18.165.2
.cn     10.18.165.3
.net    10.18.165.4
.org    10.18.165.5
 
3.顶级域名服务器-10.18.165.2
aliyun.com     192.168.153.18
baidu.com      192.168.153.19
jd.com         192.168.153.20
1000phone.com  192.168.153.21
 
4.权威域名服务器-192.168.153.19
ftp.baidu.com   172.18.6.53
opt.baidu.com   172.18.6.54
www.baidu.com   172.18.6.55
 
5.解析结果返回给DNS本地服务器
 
6.DNS本地服务器返回给用户

每个层的域名上都有自己的域名服务器,最顶层的是根域名服务器
每一级域名服务器都知道下级域名服务器的IP地址,以便于一级一级向下查询

DNS 解析过程

DNS查询的结果通常会在本地域名服务器中进行缓存,如果本地域名服务器中有缓存的情况下,则会跳过如下DNS查询步骤,很快返回解析结果。

下面的示例则概述了本地域名服务器没有缓存的情况下,DNS查询所需的8个步骤:

1. 用户在Web浏览器中输入“example.com”, 先去查询本地DNS,如果本地DNS没有结果,则由本地域名服务器开始进行递归查询。
2. 本地域名服务器采用迭代查询的方法,向根域名服务器进行查询 。
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术语

1、递归查询

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

2、迭代查询

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

3、DNS缓存

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

4、TTL

英文全称Time To Live ,这个值是告诉本地域名服务器,域名解析结果可缓存的最长时间,缓存时间到期后本地域名服务器则会删除该解析记录的数据,删除之后,如有用户请求域名,则会重新进行递归查询/迭代查询的过程。 

5、TLD Server

英文全称Top-level domains Server,指顶级域名服务器。 

6、DNS Resolver

指本地域名服务器,它是DNS查找中的第一站,是负责处理发出初始请求的DNS服务器。运营商ISP分配的DNS、谷歌8.8.8.8等都属于DNS Resolver。 

7、Root Server

名服务器,当本地域名服务器在本地查询不到解析结果时,则第一步会向它进行查询,并获取顶级域名服务器的IP地址。 

DNS 记录类型

DNS支持A、CNAME、MX、TXT、SRV、AAAA、NS、CAA记录类型

A记录/正向解析:将域名解析成IP地址

 

DNS 客户端检测工具

dig

域名查询工具,可以用来测试域名系统工作是否正常。
功能与 nslookup 类似,建议使用 dig 来取代 nslookup

[root@localhost ~]# yum install bind-utils -y  #安装dig命令(包括host、nslookup)
# 解析域名对应的IP地址等信息
[root@localhost ~]# dig  www.baidu.com
 
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> www.baidu.com
;; global options: +cmd
 
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65304
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
 
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 4096
;; QUESTION SECTION:  #展示查询信息
;www.baidu.com.                 IN      A
 
;; ANSWER SECTION:
www.baidu.com.          5       IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       5       IN      A       183.232.231.172
www.a.shifen.com.       5       IN      A       183.232.231.174
 
;; Query time: 8 msec
;; SERVER: 192.168.153.2#53(192.168.153.2)
;; WHEN: 三 8月 05 06:45:14 CST 2020
;; MSG SIZE  rcvd: 101

HEADER(标题):显示查询的内容有哪些,
QUESTION SECTION:展示发起的DNS 请求参数。其中A表示我们默认查询A类型的记录。
ANSWER SECTION:这一部分展示DNS服务的响应流程。
===============================================
IN:代表类别为IP协议,即Internet
====================================================================
1.www.baidu.com 通过 CNAME 映射到 www.a.shifen.com,但是无法直接访问 www.a.shifen.com 。
2.CNAME (CanonicalName)记录,(alias from one domain name to another)通常称别名指向

host

解析域名对应的IP地址和别名等信息

[root@linux-server ~]# yum install -y bind-utils-9.11.4-16.P2.el7_8.3.x86_64 #安装host命令

[root@localhost ~]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 183.232.231.172
www.a.shifen.com has address 183.232.231.174

配置DNS方式:

1、本机解析

本机解析:/etc/hosts    默认先使用本机解析
[root@localhost ~]# 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。仅供本地解析。

2、用本地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  #新添加

3、修改网卡配置文件定义DNS/IP

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-ens33
TYPE="Ethernet"  #指定网络类型 以太网
BOOTPROTO="dhcp" #动态分配ip地址
NAME="ens33"     #网络信息统称
DEVICE="ens33"   #网卡设备名称
ONBOOT="yes"     #开机自动启动
 
修改网卡配置文件:
TYPE="Ethernet"  #指定网络类型 以太网
BOOTPROTO="static" #动态分配ip地址
NAME="ens33"     #网络信息统称
DEVICE="ens33"   #网卡设备名称
ONBOOT="yes"     #开机自动启动
IPADDR=192.168.153.12  #IP地址
NETMASK=255.255.255.0  #子网掩码
GATEWAY=192.168.153.2  #网关
DNS1=8.8.8.8           #DNS地址
DNS2=114.114.114.114   #DNS地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值