Linux--DNS 域名解析服务

目录

一、DNS解析

1.1 DNS定义及作用

1.2 DNS 服务器的分布

1.3 DNS 使用的协议及端口号

1.4 DNS服务器平时可用地址

1.5、DNS服务器类型

1.6 查询方式(两种)

1.7 域名代理商

二、域名

2.1 域名体系结构图

三、DNS 域名解析过程

3.1 正向解析过程

四、Bind 服务器端配置文件

4.1  DNS 服务搭建

4.2  DNS主从服务器及自动同步

4.3  DNS分离解析实验


一、DNS解析

1.1 DNS定义及作用

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

  • 正向解析:根据域名查找对应的 IP 地址;
  • 反向解析:根据 IP 地址查找对应域名;
  • 注:域名的反向解析不是很常用,只在一些特殊场合才会用到,比如可用于反垃圾邮件的验证;
  • 正向解析:FQDN--------IP(一对多)------一般使用正向解析

    反向解析:IP------------FQDN

总结(作用):总的来说 DNS 解析就是将域名和 IP 地址相互转化

1.2 DNS 服务器的分布

DNS 服务器分布组织名称 DNS 服务器数量
美国VeriSign公司  2台
网络管理组织IANA(Internet Assigned Number Authority)  1台
欧洲网络管理组织RIPE-NCC(Resource IP Europeens Network Coordination Centre) 1台
美国PSINet公司 1台
美国ISI(Information Sciences Institute) 1台
美国ISC(Internet Software Consortium) 1台
美国马里兰大学(University of Maryland) 1台
美国太空总署(NASA) 1台
美国国防部 1台
美国陆军研究所 1台
挪威NORDUnet 1台
日本WIDE(Widely Integrated Distributed Environments)研究计划 1台
  • 全球互联网DNS根服务器分布差异巨大

  •  “全世界只有13台(这13台根域名服务器名字分别为“A”至“M”),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本;

  • 全球互联网中枢顶级域名服务器的分布俗称“母服务器”,准确的说法是世界上有13个根服务器系统。其实全球至少有1000多台根服务器,北京有3台。

  • 在这13个根服务器系统之上,还有一个更高级的、隐藏着的母服务器。全世界所有的顶级域名,都是由这台母服务器来确定的。全球1000多台根服务器上的解析系统都是这台母服务器的复制,这13个根服务器系统由12家机构管理,分布在全球100多个地区。所以每一个编号的根服务器系统,不是一台机器,而是有几十台或上百台服务器。

1.3 DNS 使用的协议及端口号

  • DNS的默认端口为:53
  • DNS端口分为:TCP、UDP
  • TCP是用来做区域传送,多用于主从同步
    • 在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息
  • UDP是用来做DNS解析的

FQDN完全合格域名(Fully Qualified Domain Name)标识

  • 能准确表示出其相对于 DNS 域树根的位置, 也就是节点到DNS 树根的完整表述方式
  • 从节点到树根采用反向书写,并将每个节点用 “ . ” 分隔
  • 注:
    • FQDN 有严格的命名限制,长度不能超过 256 字节;
    • 只允许使用字符 a-z ,0-9,A-Z 和 减号(-);
    • 点号(.)只允许在域名标志之间(例如“google.com”)或者 FQDN  的结尾使用;

1.4 DNS服务器平时可用地址

  • 114.114.114.114是国内移动、电信和联通通用的 DNS,手机和电脑端都可以使用。
  • 8.8.8.8是GOOGLE公司提供的 DNS,该地址全球通用,相对来说,更适合国外以及访问国外网站的用户使用
  • 223.5.5.5 和 223.6.6.6:阿里云 DNS
  • IPV6 2400:3200::1  和 2400:3200:baba::1
  • 江苏省南京市(中国电信)    首选 DNS 为:218.2.135.1   备用 DNS 为:61.147.37.1

1.5、DNS服务器类型

主域名服务器:

  • 负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
  • 总结:接受客户端所有的域名IP地址映射记录,然后返回给用户,将解析出的域名和IP地址作为绑定映射关系记录,记录到数据文件中,以防用户在进行DNS解析后,将IP地址解析出来,再给相应的客户端;

从域名服务器:

  • 当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
  • 总结:一般是辅助域,会将主域名服务器的热备份,会自动备份主域名的所

### DNS域名解析过程详解 DNS域名解析是一个分层递归的过程,其主要目的是将人类可读的域名转换为机器可以理解的IP地址。以下是详细的解析流程: #### 1. 客户端发起请求 当用户在浏览器中输入一个域名时,客户端会先检查本地缓存是否有该域名对应的IP地址记录。如果有,则直接返回;如果没有,则进入下一步。 #### 2. 查询本地主机配置文件 如果未命中本地缓存,客户端会尝试查询本地主机配置文件(通常是`/etc/hosts`或`C:\Windows\System32\drivers\etc\hosts`),查看是否存在手动映射的域名与IP地址的关系[^2]。 #### 3. 请求本地域名服务器 (LDNS) 如果前两步均未能找到匹配项,客户端会向指定的本地域名服务器发送查询请求。此服务器通常由用户的互联网服务提供商(ISP)提供[^3]。 #### 4. LDNS 的处理逻辑 - **缓存命中**:如果本地域名服务器在其缓存中有目标域名的相关记录,则立即返回给客户端。 - **缓存未命中**:如果本地域名服务器无法解析该域名,它将以递归方式代替客户端继续向上级域名服务器请求解析[^4]。 #### 5. 向根域名服务器请求 本地域名服务器作为代理角色,首先联系根域名服务器(Root Server)。这些服务器负责指导如何定位顶级域(Top-Level Domain, TLD)的信息。例如,“com”、“org”等后缀分别指向不同的TLD服务器[^1]。 #### 6. 转发至权威名称服务器 根据根域名服务器提供的指引,本地域名服务器接着访问相应的TLD服务器获取更具体的子域信息。最终到达存储实际域名到IP映射关系的授权名称服务器(Authoritative Name Servers)[^1]。 #### 7. 返回结果并更新缓存 一旦获得确切的IP地址,这一路径上的每一环节都将把结果保存下来以便未来更快响应相同的请求。最后,原始请求者——即最初发出查询的应用程序收到所需的数据完成整个过程。 ```python import dns.resolver def resolve_domain(domain_name): try: answers = dns.resolver.resolve(domain_name, 'A') for rdata in answers: print(f"The IP address of {domain_name} is {rdata.address}") except Exception as e: print(e) resolve_domain('example.com') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值