网络【DNS与DHCP】

DNS 域名系统:

        DNS:Domain Name System:是一个分布式服务,用于将域名转换为IP地址。 它允许用户通过域名访问网站,而不需要记住IP地址。 DNS服务还包括其他类型的记录,如MX记录(用于电子邮件路由)、CNAME记录(用于别名)、PTR记录(用于反向IP地址解析)等。

1.配置文件:

vim /etc/resolv.conf

2.配置DNS域名解析:

##系统解析的优先级 1>2>3

1. HOST 本地DNS解析
vim /etc/hosts
eg:23.231.234.33 www.baidu.com

2. 网卡配置文件DNS服务地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0
eg:DSN1='114.114.114.114'

3. 系统默认DNS配置
vim /etc/resolv.conf
eg:nameserver 114.114.114.114 

3.域名的分层结构

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

比如:www.aliyun.com

1、 DNS里面顶层是: "." 表示根域 , 所有的域名最终都归结于此 ;
2、“.com”是顶级域名;分类:职能:com域,.org域(非营利机构),edu域名(教育)国家:.cn ,.us ,
3、“aliyun.com”中的 aliyun 是主域名(二级域), 通常由组织或公司注册 ;
4、“example.aliyun.com”是子域名(也可称为托管三级域名), 可以无限扩展域名层次,子域是任何位于已有域名之下的域名
5、“www.example.aliyun.com”中的 www 是主机名/主机,,通常指的是单个服务器或设备的名称

4.DNS 服务器类型

        域名是分层结构,域名DNS服务器也是对应的层级结构。有了域名结构,还需要有域名DNS服务器去解析域名,且是需要由遍及全世界的域名DNS服务器去解析,域名DNS服务器实际上就是装有域名系统的主机。以下是 DNS 服务器的四种主要类型:

根域名服务器(Root Name Server):

        根域名服务器是 DNS 层次结构的最顶层。全球共有 13 组根服务器,由多个组织分布在不同地点进行管理。它们保存着顶级域(TLD)服务器的列表。 当递归域名服务器无法直接回答查询请求时,它会首先向根域名服务器请求顶级域的信息。

顶级域名服务器(TLD Server):

        顶级域名服务器管理特定顶级域(如:.com、.org、.net 等)。这些服务器保存着次级域名(如:rockylinux.cn)的权威域名服务器的列表。 当递归域名服务器从根域名服务器获取到 TLD 服务器的信息后,会向 TLD 服务器请求次级域名的信息。

权威域名服务器(Authoritative Name Server):

        权威域名服务器保存着特定域名及其对应的 IP 地址信息(如:192.168.1.1 rockylinux.cn),是最终提供域名解析结果的服务器。 当递归域名服务器向权威域名服务器请求特定域名的信息时,权威域名服务器会返回相应的 IP 地址。

递归域名服务器(Recursive Resolver): 本地域名:Local DNS

        递归域名服务器负责接受客户端的 DNS 查询请求,并按照层次结构逐步查询根域名服务器、TLD 服务器和权威域名服务器,直到获取最终的 IP 地址。 它们通常由 ISP(互联网服务提供商)或公共 DNS 服务(如:Google DNS、Cloudflare DNS 等)运行,当然也可以自建(如:Bind、SmartDNS、CoreDNS 等)。

每个层的域名上都有自己的域名服务器,最顶层的是根域名服务器

每一级域名服务器都知道下级域名服务器的IP地址,以便于一级一级向下查询

5.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服务器返回要在浏览器中呈现的网页

6.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地址。

7.DNS 记录类型

DNS(域名系统)记录类型是用于定义 域名和IP地址之间关系的不同方式

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

A 记录

将域名指向一个IPv4地址

例如:example.com. IN A 192.0.2.1

AAAA 记录

将域名指向一个IPv6地址

例如:example.com. IN AAAA 2001:0db8:85a3:0000:0000:8a2e:0370:7334

CNAME 记录

域名别名,将一个域名指向另一个域名;

通常用于将多个子域名指向同一个服务器

例如:www.example.com. IN CNAME example.com

MX 记录

邮件交换记录,用于指定处理电子邮件的服务器

例如:example.com. IN MX 10 mail.example.com

NS 记录

名称服务器记录,用于指定负责解析某个域名的DNS服务器

例如:example.com. IN NS ns1.example.com

TXT 记录

可存储任意文本信息,通常用于SPF(发送策略框架)记录,防止电子邮件伪造

例如:example.com. IN TXT "v=spf1 a mx -all"

SRV 记录

服务记录,用于指定特定服务的服务器和端口

例如:_sip._tcp.example.com. IN SRV 0 5 5060 sip.example.com

CAA 记录

证书授权机构授权记录,用于指定哪些证书颁发机构被允许为域名颁发证书

8.DNS 客户端检测工具

1.dig

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

此处为语雀内容卡片,点击链接查看:dig 域名查询 · 语雀

2.host

host全称:host name lookup utility

host命令:是一个用来查询DNS的工具,它可以将域名解析为IP地址,或者将IP地址反向解析为域名。命令还可以查询其他类型的DNS记录,如MX(邮件交换)、NS(域名服务器)、TXT(文本)等。

语法:

host [选项] [名称] [服务器]

选项:

-a:显示详细的DNS信息

-c:指定查询类型,默认值为“IN”

-C:查询指定主机的完整的SOA记录

-r:不使用递归的查询方式查询域名

-t:指定查询的域名信息类型

-v:显示指令执行的详细信息

-w:如果域名服务器没有给出应答信息,则总是等待,直到域名服务器给出应答

-W:指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息则退出

-4:使用IPv4查询传输 (默认)

-6:使用IPv6查询传输

示例:

1.查询域名的IP地址

如果不指定任何选项或参数,host命令会查询指定域名的A记录,即IP地址

host www.baidu.com

#www.baidu.com是一个别名,它指向www.a.shifen.com,而www.a.shifen.com有两个IPv4地址和两个IPv6地址。

2.查询IP地址的域名

将IP地址反向解析为域名,这称为反向DNS查询

host 8.8.8.8

# 8.8.8.8 应的域名是 dns.google
# 144.144.144.144 应的域名是 public1.114dns.com

3.查询域名的MX记录

host -t MX bing.com
# bing.com的邮件服务器是bing-com.mail.protection.outlook.com,优先级为10

4.查询域名的NS记录

host -t NS bing.com
#bing.com有四个权威服务器,分别是ns1.msft.net,ns2.msft.net,ns3.msft.net,ns4.msft.net

5.查询域名的所有记录

host -a bing.com
#查询域名的所有记录,包括A、MX、NS、TXT等。
#这相当于使用-v -t ANY选项,其中-v表示打开详细模式,-t ANY表示查询任意类型的记录

6.查询域名的SOA记录

host -C bing.com
#查询域名的SOA(起始授权)记录,它表示域名的基本信息,
#如主服务器、管理员邮箱、序列号、刷新时间、重试时间、过期时间、最小生存时间等。

host命令的注意事项:

以下是一些使用host命令时需要注意的事项:

  1. host命令的查询结果可能会受到本地DNS服务器的缓存影响,如果想要获取最新的结果,可以使用-r选项来禁用递归查询,或者使用其他DNS服务器来查询。
  2. host命令的查询结果可能会受到DNS服务器的负载均衡影响,如果想要获取所有的结果,可以使用-a选项来查询所有的记录,或者使用-v选项来查看详细的信息。
  3. host命令的查询结果可能会受到DNS服务器的安全策略影响,如果想要获取完整的结果,可以使用-s选项或-T选项来使用TCP协议进行查询,或者使用-d选项来打开调试模式,查看错误信息。
  4. 如果使用host命令查询一个不存在的域名或记录,会得到NXDOMAIN(非存在域名)的错误信息,表示该域名或记录不存在。
  5. 如果使用host命令查询一个存在的域名,但是没有指定记录类型,会得到NOERROR(无错误)的信息,表示该域名存在,但是没有对应的记录。
  6. 如果使用host命令查询一个存在的域名,但是指定了错误的记录类型,会得到NOTIMP(未实现)的错误信息,表示该记录类型不被支持。
  7. 如果使用host命令查询一个存在的域名,但是指定了错误的类别,会得到REFUSED(拒绝)的错误信息,表示该类别不被允许。
  8. 如果使用host命令查询一个存在的域名,但是指定了错误的服务器,会得到SERVFAIL(服务器失败)的错误信息,表示该服务器无法响应或者出现错误。
  9. 如果使用host命令查询一个存在的域名,但是没有网络连接,会得到NOERROR(无错误)的信息,表示该域名存在,但是没有对应的记录。

8.配置DNS方式:

1.本机解析

vim /etc/hosts

# 192.168.246.160 www.alan.cn
# 表示:cn域下面有一个alan,alan下面有一子域名www。仅供本地解析。

2.使用本地DNS服务器解析

vim /etc/resolv.conf


DHCP 动态主机配置协议:

        DHCP:Dynamic Host Configuration Protocol:是一个网络管理协议,用于自动分配IP地址给网络中的设备。 当设备连接到网络时,DHCP服务器会提供IP地址、子网掩码、默认网关以及DNS服务器的地址等配置信息。DHCP允许网络管理员集中管理IP地址分配,避免了地址冲突和手动配置的需要。

        DHCP可以配置客户端的DNS服务器地址。当DHCP服务器分配IP地址给客户端时,它还可以提供DNS服务器的地址,这样客户端就可以使用这些DNS服务器来解析域名。

        但是,DHCP和DNS是独立的服务,一个网络可以有DHCP而没有DNS,或者有DNS而没有DHCP。例如,一个小型网络可能使用静态IP地址而不使用DHCP,但仍然需要DNS来解析外部域名。

DNS/DHCP 两者区别:

  1. 功能不同:DNS服务器将域名解析为IP,而DHCP服务器用于分配IP地址和其他网络配置信息。
  2. 工作方式不同:DNS服务器使用UDP和TCP协议进行通信,而DHCP服务器只使用UDP协议进行通信。
  3. 服务对象不同:DNS服务器为所有访问域名的用户提供服务,而DHCP服务器只为连接到特定网络的设备提供服务。
  • 23
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值