Linux网络服务 DNS域名解析服务

一、DNS简介

1.1 DNS名词介绍

域名系统(英文:Domain Name System,缩写:DNS),使用应用层协议,是互联网的一项服务。 它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。

每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域 名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。 当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

简单来说就是把网络可以识别的ip地址转换成方便记忆的域名,再通过IP地址访问主机。 对于广大用户这样方便记忆的域名比复杂的IP地址要更容易记忆,更大化的让客户方便操作。

默认端口:

  • 连接DNS服务器,使用TCP协议的53端口。
  • DNS服务器进行解析,使用UDP协议的53端口。

1.2 DNS系统的作用

  • 正向解析:根据域名查找对应的IP地址
  • 反向解析:根据IP地址查找对应的域名

1.3 DNS分布式数据结构

互联网上dns解析经历了三个发展阶段:

  • 分散式 :人工建立,每台机器都使用文件记录,若有改变牵一发动全身,效率低下。
  • 集中式 :使用单台服务器集中解析,所有用户进行访问,效率低下服务器压力过高易死机。
  • 分布式 :每台服务器只负责固定范围的分解析任务,各司其职。

域名的组成

www.baidu.com. 为例

域名级数是指一个域名由多少级组成,域名的各个级别被"."分开,所有的域名必须以点(.)结尾

  • 根域名:最末尾的"."代表了根域名,因为根域是普遍都存在的,所以通常省略不写。

  • 一级域名:又称顶级域名,- 一级域名:.cn(中国) .us .tw .kr(韩国) .jp(日本) .hk(香港)uk(英国)。

  • 二级域名:如".baidu.com"就是在一级域名前再加一级,.com.cn(中国商业组织) edu.cn(教育机构) .org.cn(非盈利) .net.cn(中国运营商)。

  • 三级域名等等,以此类推,最多可达到127级域名

  • 主机名:www代表的不是三级域,代表的是具体的主机名。

1.4DNS系统类型

缓存域名服务器

  • 也称为DNS高速缓存服务器
  • 通过向其他域名服务器查询获得域名-->IP地址记录
  • 将域名查询结果缓存到本地,提高重复查询时的速度

主域名服务器

  • 特定DNS区域的权威服务器,具有唯一性
  • 负责维护该区域内所有域名-->IP地址的映射记录
  • 需要自行建立所负责区域的地址数据文件

从域名服务器

  • 也称为辅助域名服务器,是对主域名服务器的热备份
  • 其维护的域名-->IP地址记录来源于主域名服务器
  • 需要从主域名服务器自动同步区域地址数据库

1.5DNS的查询方式 (递归查询和迭代查询)

递归查询

  • 主机向本地域名服务器的查询一般都是采用递归查询。
  • 如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。在域名服务器查询期间,客户机将完全处于等待状态。
  • 因此,递归查询只会返回两种信息:要么是所要查询的IP地址,要么是查询失败。

迭代查询

  • 本地域名服务器向根域名服务器的查询是迭代查询。
  • 当根域名服务器收到本地域名服务器发出的迭代查询请求报文后,要么给出所要查询的IP地址,要么告诉本地服务器:"你下一步应当向哪一个域名服务器进行查询"。下一个服务器收到请求后也是如此,要么返回IP,要么告诉本地域名服务器下一步去找谁。 即本地域名服务器按照提示的指引依次查询, 直到返回查询的结果为止 。

递归查询和迭代查询的特点

  • 递归查询:主机只发出一次请求,要求对方给出最终结果。返回的结果只有两种:查询成功或查询失败。
  • 迭代查询:主机需要发起多次请求,返回的是所需IP地址或最佳查询地址。

1.6本地主机映射文件hosts

/etc/hosts 文件,保存主机名与IP地址的映射记录。

hosts ------ the static table lookup for host name(主机名查询静态表)。 hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件,以ascii格式保存在/etc/目录下。hosts文件包含了ip地址与主机名之间的映射,还包括主机的别名,这就相当于早期集中管理方式。

hosts文件位置

  • 一般情况下,系统首先从hosts文件查找解析记录,使客户快速

hosts 文件的优先级高于DNS服务器,这是由 /etc/nsswitch.conf 文件规定的 (hosts优先级最高,直接访问文件里的地址)

  • hosts 文件只对当前的主机有效
  • hosts 文件可减少DNS查询过程,从而加快访问速度

1.7域名解析过程

  1. 当用户访问网页 www.baidu.com 后,Linux系统先去看本机 /etc/hosts 文件中是否有www.baidu.com的地址,如果有就直接访问 (递归查询)

  2. 如果没有,就会查询去问你自己设置的dns服务器 , 由运营商提供或者公司提供,如果有就直接反馈。

  3. 如果没有,直接去问根服务器,根域服务器无法解析,根域名只能解析主机名加根域,所以无法解析www.baidu.com ,但根域会透露一个信息给你,让你去问一级域服务器;(迭代查询)

  4. 然而一级域服务器也无法解析 www.baidu.com ,同样会透露一个信息给你,让你去问二级域服务器;

  5. 以此类推,最后有一台权威服务器会告诉你具体的ip地址,然后反馈给用户。

二、DNS服务程序------BIND(搭建内网dns服务器)

在内网环境中是无法使用DNS解析的,所以由于处于内网环境中无法使用DNS解析需要我们自己借助软件进行搭建,现使用最为广泛的就是DNS服务软件是BIND。

  • BIND支持先今绝大多数的操作系统(Linux,UNIX,Mac,Windows)

  • BIND服务的名称为named。

安装bind和BIND-UTILS工具包

2.1 BIND详情信息

官网站点:www.isc.org/

2.2 BIND配置文件

/etc/named.conf : 主配置文件

/etc/named.rfc1912.zones : 区域配置文件,需要解析的域名要在这个文件中指明

/var/named/* :数据库配置文件,指明了域名和ip地址的对应关系

/var/named/named.ca : 根域配置文件

2.3 主配置文件

BIND服务的主配置文件位于: /etc/named.conf。

  • 设置DNS服务器的全局参数
  • 包括监听地址和端口、区域数据文件存放的目录等
  • 使用 options{......}; 的配置段

文章重点知识:

  • 互联网解析原理:www.baidu.com 是如何解析成IP地址的
  • 搭建内网环境下的 dns服务器
相关推荐
翻滚吧键盘1 分钟前
查看linux中steam游戏的兼容性
linux·运维·游戏
小能喵6 分钟前
Kali Linux Wifi 伪造热点
linux·安全·kali·kali linux
汀沿河20 分钟前
8.1 prefix Tunning与Prompt Tunning模型微调方法
linux·运维·服务器·人工智能
zly350034 分钟前
centos7 ping127.0.0.1不通
linux·运维·服务器
小哥山水之间1 小时前
基于dropbear实现嵌入式系统ssh服务端与客户端完整交互
linux
ldj20202 小时前
2025 Centos 安装PostgreSQL
linux·postgresql·centos
翻滚吧键盘2 小时前
opensuse tumbleweed上安装显卡驱动
linux
cui_win3 小时前
【内存】Linux 内核优化实战 - net.ipv4.tcp_tw_reuse
linux·网络·tcp/ip
CodeWithMe6 小时前
【Note】《深入理解Linux内核》 Chapter 15 :深入理解 Linux 页缓存
linux·spring·缓存
0wioiw06 小时前
Ubuntu基础(监控重启和查找程序)
linux·服务器·ubuntu