目录
[3、 软件与服务](#3、 软件与服务)
一、DNS概念
1、概念和作用
DNS应用层协议:用于将人类可读的域名转换为机器可识别的IP地址
作用:域名解析。将域名转换为IP地址(正向解析)或IP地址转换为域名(反向解析)。
2、域名解析类型
- 正向解析(Forward DNS Resolution)是将域名转换为 IP 地址的过程。
- 反向解析(Reverse DNS Resolution)是将 IP 地址转换为域名的过程。
3、 软件与服务
- 软件:bind,bind-chroot
- 服务进程:named
- 默认端口:53/UDP
4、DNS核心概念
区域
- 区域是域名空间的一部分,由一个或多个 DNS 记录组成,由同一权威 DNS 服务器管理。它通常对应一个域名及其子域名。
- 正向区域(Forward Zone)将域名解析为对应的 IP 地址。
- 反向区域(Reverse Lookup Zone)将IP地址映射到域名,与正向查找(域名→IP)相反。
- IPv4示例 :对于
192.168.1.0/24
网络,反向区域名为1.168.192.in-addr.arpa
。 - IPv6示例 :对于
2001:db8::/32
网络,反向区域名为8.b.d.0.1.0.0.2.ip6.arpa
。
记录
- 记录是域名系统(DNS)中存储的指令,用于指定域名与服务器或其他资源的映射关系。
A记录(Address Record):标识主机名和IP地址的对应关系
将域名指向IPv4地址。

PTR记录(Pointer Record):标识IP地址和主机名的对应关系
用于反向DNS查询,将IP地址映射回域名。

NS记录(Name Server)标识某一个主机是一个DNS服务器,没有说明对应ip,所以必须和A记录一起使用
指定负责解析域名的DNS服务器。

MX记录(Mail Exchange)标识邮件服务器,数字代表优先级,数字越小优先级越高
指定接收域名的电子邮件的邮件服务器地址。优先级数值决定邮件服务器的使用顺序。

CNAME记录(Canonical Name)别名记录
为域名设置别名,使其指向另一个域名。

5、查询类型
- 递归查询:客户端向本地DNS服务器请求解析,服务器代表客户端完成所有查询步骤并返回最终结果。
- 迭代查询:DNS服务器按层级逐级查询(根域→顶级域→权威域),返回参考信息而非最终结果。
特性 | 递归查询 | 迭代查询 |
---|---|---|
发起方 | 客户端向DNS服务器请求解析 | DNS服务器向其他DNS服务器 |
返回结果 | 必须返回最终解析结果(IP或错误) | 可能返回下一级服务器地址 |
责任方 | DNS服务器承担全部查询工作 | 查询方需持续跟进查询链 |

6、分层结构
二、DNS操作
安装bind

//下载完了自动生成一个用户named

- # rpm -qc bind //查看与已安装的BIND软件包相关的配置文件

这里我们需要主要需要三个文件
/etc/named.conf //主配置文件
/etc/named.rfc1912.zones //子配置文件,添加区域用
/var/named //存储记录文件,
配置本机为DNS内网解析服务器
(1)修改主配置文件
- vim /etc/named.conf //主配置文件,用于修改端口、ip、可以为哪些机器提供服务

(2)添加区域
- vim /etc/named.rfc1912.zones //添加区域
添加区域时需要填写记录文件名,先写上名字,一会我们去创建同名记录文件。
正向解析区域:

反向解析区域:

注意:不同域名和不同IP段要写不同的区域。区域名称必须与域名或反向IP段严格匹配。必须要确保BIND进程有权限读取区域文件。
(3)添加记录文件
这里创建记录文件。因为记录文件有格式,这里为了省事,直接复制别的记录文件,改名后修改内容。-a参数,保留文件权限。cp复制,mv重命名后修改。

(4)修改记录文件
- vim /var/named/xxxxx.com.zone //修改记录文件


这里注意一下!
- 不完整域名:
example.com
→ 可能解析为example.com.local
- 完整域名:
example.com.
→ 严格解析为example.com
若希望定义的是完整域名,应当在末尾加点以避免自动补全域名。
- SOA/NS记录:强制要求加点,避免解析异常。
- A/CNAME/MX记录:根据使用场景选择,若目标域名与当前域无关(如外部域名),必须加点。
这里创建的记录文件的A和PTR记录类型用来配置IP和主机名之间的的映射关系。具体见上文。

注意:!!格式一定不要错,要不然包报错的。
(5)开启服务
- # systemctl enable --now named //配置并立即启动named

(6)然后检查服务是否开启。


(7)测试dns正常工作,nslookup

DNS复制
给一个DNS服务器做备份,防止DNS单点故障。
两个DNS服务器的数据是同步的------区域、记录需要一样
需要两个机器,一个作为主DNS,一个作为从DNS
主DNS
主DNS的主配置文件

主服务器的子配置文件 区域


主服务器的记录文件



从DNS
(1)为从dns下载bind

(2)从DNS的主配置文件

**(3)**从DNS的子配置文件 指定类型为从区域。
从区域的的记录文件只能从别的地方复制过来,不可以修改


(4)写记录文件存哪。建议和主服务器上一致。slaves/


(5)然后启动从DNS就行

(6)查询是否复制过来了
(1)验证有复制过来的文件

(2)主dns能解析谁,从dns就能解析谁

//若现在主记录变化,如加了两行记录,通过序列号识别。所以需要手动改序列号,只要比上次的数字大就可以,然后重启。查询即可。


hosts文件的使用
/etc/hosts文件是一个操作系统用于映射主机名(域名)到IP地址的本地文本文件,无需通过DNS解析。若此文件中没有,才向网卡上的dns服务器请求




windows中hosts文件在这里,可以修改但是注意hosts没有任何后缀!
