Linux中的DNS服务(一)

182 阅读4分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第3天,点击查看活动详情

DNS(Domain Name System,即域名系统)实质上是一个分布式数据库,其中存储了域名和IP地址之间的映射关系,它的主要功能为域名解析,即通过域名获取对应IP地址。提供域名解析功能的主机称为域名服务器,即DNS服务器。在域名服务器中,一个域名只能对应一个IP地址,但一个IP地址可以对应多个域名,也可以没有相应域名。

域名系统结构

域名分为根域、顶级域、二级域、三级域和主机名五类

类型说明示例
根域DNS域名规则中规定,由尾部句点(. )来指定名称 位于根或更高级别的域层次结构单个句点(. )或由句点结尾的名称
顶级域某个国家/地区/组织使用的域名.cn、.com、.edu
二级域个人或组织在Internet上使用的注册名称baidu.com、qq.com
三级域由二级域派生的城,常用于网站名www.baidu.com、tieba.baidu.com
主机名网络上特定计算机的标识h1.www.baidu.com

image-20220614195743436

域名服务器分类

域名服务器实质上是一台配了DNS服务,可以实现域名解析功能的主机。根据工作方式分为:

  • 主域名服务器

    • 维护域中所有的域名信息
    • 处理客户端请求,查询并返回响应的记录信息
    • 是所有其他类型服务器的权威信息源
  • 辅助域名服务器

    • 域名服务器的备份
    • 可代替主域名服务器提供域名解析服务
    • 区域数据文件随主域名服务器中文件的更改而改变
  • 缓存域名服务器

    • 存储从某个远程服务器取得的域名服务器的查询结果
    • 可从高速缓存中迅速获取查询结果
    • 非权威的域名服务器
  • 转发域名服务器

    • 负责所有非本地域名的本地查询
    • 转发请求

域名查询机制

递归查询

  • 本机域名服务器会将查询的最终结果返回给客户机
  • 客户机只需发出请求
  • 其余都交由DNS服务器完成

image-20220614200533102

迭代查询

  • DNS服务器在无法获取最终结果时返回自己能获取的、最终结果最为相近的内容
  • 由客户机根据获取到的内容再次发起查询请求

image-20220614200659690

资源记录

资源记录即添加到区域数据文件中的记录,资源记录有许多类型。

A记录与AAAA记录

A表示Address,A记录即地址记录,是域名到IPv4地址的映射信息。

语法格式:

FQDN IN A IPv4地址

AAAA同样是地址记录,是域名到IPv6地址的映射信息。

语法格式:

FQDN IN A IPv6地址

PTR记录

PTR记录与A记录相反,是IP地址到域名的映射信息常用于反向解析数据文件中。

语法格式:

IP地址 IN PTR PQDN

SOA记录

SOA意为起始授权记录,用于声明DNS服务器是DNS域中数据表的信息来源,是主机名的管理者。创建新区域时,SOA记录会自动创建。一个区域数据文件只允许存在唯一SOA记录

语法格式:

域名 记录类型 SOA 主域名服务器的FQDN 管理员邮件地址 (
    序列号
    刷新间隔
    重试间隔
    过期间隔
    TTL)

以上格式中,管理员邮件地址为管理域的负责人的电子邮箱,在该电子邮箱中使用英文句号“.”代替符号“@”;序列号为区域文件的修订版本号;刷新间隔用于设置辅助DNS服务器请求与源服务器同步的等待时间;重试间隔用于设置辅助DNS服务器在请求区域传输失败后、再次发起请求前的间隔时间;过期间隔为DNS辅助服务器本地数据的有效时间,若在此时间内无法与源服务器进行区域传输,本地数据将被视为不可靠数据;TTL为区域的默认生存时间和缓存否定应客名称查询的最大间隔。

NS记录

NS意为名称服务。用于表明区域的权威DNS服务器,即在NS记录中指定的服务器会被其他服务器当作权威的来源,并能应答区域内所含名称的查询。

语法格式:

区域名 IN NS FQDN

CNAME记录

用于为特定FQDN创建别名,可用于隐藏用户网络的实现细节,常用于在同一区域的A记录中的主机需要重命名,或为多台主机提供相同的别名时。

语法格式:

别名 IN CNAMW 主机名

MX记录

MX记录指向一个邮件服务器,用于指定邮件交换服务器。邮件交换服务器是为DNS域名处理或转发邮件的主机。

语法格式:

区域名 IN MX 优先级 邮件服务器名称