DNS域名解析

目录

DNS系统的作用

缓存域名服务器

主域名服务器

从域名服务器

相关软件包

部署缓存域名服务器实验步骤

1.1

1.2

1.3

部署正向查找主域名服务器实验步骤

1.1

1.2

1.3

部署反向查找主域名服务器实验步骤

[1. 修改配置文件](#1. 修改配置文件)

[2. 拷贝示例文件并编辑该文件](#2. 拷贝示例文件并编辑该文件)

[3. 修改文件的属组,使用named-checkzone命令校验文件,重启named服务](#3. 修改文件的属组,使用named-checkzone命令校验文件,重启named服务)

[4. 回到103主机,测试反向查找域名解析,也可以通过IP解析域名了](#4. 回到103主机,测试反向查找域名解析,也可以通过IP解析域名了)

部署从服务器实验步骤


DNS系统的作用

  • 正向解析:根据域名查找对应的IP地址
  • 反向解析:根据IP地址查找对应的域名
  • DNS系统的分布式数据结构

缓存域名服务器

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

主域名服务器

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

从域名服务器

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

BIND(Berkrley Internet Name Daemon)

  • BIND是应用最广泛的DNS服务程序
  • 官方站点:ISC - ISC

相关软件包

  • bind-9.9.4-37.el7.x86_64.rpm
  • bing-utils-9.9.4-37.el7.x86_64.rpm
  • bind-libs-9.9.4-37.el7.x86_64.rpm
  • bind-chroot-9.9.4-37.el7.x86_64.rpm

UDP:53/TCP:53

客户端发送解析请求给服务器(UDP53)

TCP:53

主从DNS服务器

DNS服务器转发解析给另一个DNS服务器

安装软件包

yum -y install bind*

部署缓存域名服务器实验步骤

1.1

安装所有相关软件包

打开该软件的配置文件

配置文件说明,图中这一部分是该软件的 全局配置选项,这里只修改两行参数

|----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 代码 | 说明 |
| listen-on port 53 { 192.168.10.101; }; | 监听端口,这里监听本机网卡的53号端口 * UDP:客户端发送解析请求给服务器,此时服务器就用UDP的53端口来接受客户端的请求 * TCP:从服务器要连接主服务器来同步数据,就用TCP53建立连接。如果客户端向首选DNS服务器发送请求,但首选服务器没有响应记录,该服务器会通过 DNS服务器转发解析给另一个服务器,此时两个服务器会使用TCP53建立连接。 *** ** * ** *** 192.168.10.101:要监听的IP地址,图中表示监听本机网卡的地址,既可以解析本机的请求,也可以处理另外主机的请求 |
| listen-on-v6 port 53 { ::1; }; | 监听IPv6的地址 ::1代表IPv4的127.0.0.1的地址 |
| directory | 区域文件的存储目录 |
| dump-file | 缓存数据库文件的存储位置 |
| statistics-file | 状态统计文件的存储位置 |
| memstatistics-file | 内存统计信息的文件存储位置 |
| recursing-file | 安全备份相关的文件存储位置 |
| secroots-file | 执行递归查询的文件存储位置 |
| allow-query | 允许查询的主机 改为any表示允许所有主机都能查询域名 |

向下翻,可以看到两部分配置选项

其中 zone "." 此处的.代表了根域,根域有13个根服务器

当前主机接收到DNS解析的请求后,会把请求发给指定的服务器,服务器的地址就在 file 指定的 "named.ca" 文件中保存

在named.ca文件中,可以看到a ~ m服务器的两种地址,a ~ m也可以看出服务器的数量,有13个

1.2

启动named服务

在把另一台虚拟机的DNS首选地址改为192.168.10.101,DNS2删除

systemctl restart network重启网络服务

重启网络,为了方便进行实验 关闭防火墙

setenforce 0

还需关闭作为DNS缓存域名服务器的101主机的防火墙

1.3

使用ping命令测试DNS是否正常工作,或者为103主机安装bind-utils软件包来使用nslookup功能测试解析DNS


部署正向查找主域名服务器实验步骤

1.1

编辑/etc/named.conf配置文件

定义区域配置选项

保存并退出重启服务

此时会发现重启服务报错了,我们tail /var/log/messages 显示系统日志最后十行内容,可以发现第一行就显示了原因

原因是找不到配置文件中指定的正向查找区域文件

同时可以使用named-checkconf命令来检查配置文件有没有错误

输入完命令后没有提示,说明配置文件没有出错

然而在配置文件中的全局配置选项里,也指定了区域文件的存放位置

1.2

所以我们cd到该目录下 拷贝示例文件进行修改

$TTL 1D # 有效解析记录的生命周期。TTL:生命周期;1D:一天 @ IN SOA @ rname.invalid. ( # 第二个@符号,调整为配置文件中定义的区域名 # SOA:起始授权机构,代表主域名服务器 # rname.invalid:该设备管理员的邮箱账号 由于@符号与该文件规则冲突所以用.代替 0 ; serial # 更新序列号,从0开始,每一次更新就+1 1D ; refresh # 刷新时间,重新下载数据文件的间隔时间;D:天 1H ; retry # 重试时间,每间隔一小时重新同步一次;H:小时 1W ; expire # 失效时间,下载时间超过一周就放弃下载;W:周 3H ) ; minimum # 无效解析记录生命周期 # 告诉该区域有两台DNS服务器和一台邮件服务器 ↓ @ IN NS ns1.example.com. IN NS ns2.example.com. IN MX 10 mail.example.com. # NS:名称服务器 # MX:邮件服务器;10:该邮箱服务器的优先级,数字越小越优先(0 ~ 10)

修改后的样子如下图

A:A记录,域名到IP的解析过程

* IN A 192.168.10.106 表示 泛域名解析,当解析的名字在范围内就按照具体条目解析,如果不在范围内,按照泛域名解析指向具体条目

此时重启named服务就不会报错了

使用 named-checkzone 区域名称 区域文件路径 来检测区域文件的正确性,像图中显示的两行即为正确

1.3

修改文件的属主或数组,确保named服务能够正常访问该文件

再重启named服务,在该文件的属组是root时,该服务认为没有权限读取该文件,所以要刷新一下权限认定

此时去103主机,测试域名解析


部署反向查找主域名服务器实验步骤

1. 修改配置文件

再添加一个区域,保存并退出

2. 拷贝示例文件并编辑该文件
3. 修改文件的属组,使用named-checkzone命令校验文件,重启named服务
4. 回到103主机,测试反向查找域名解析,也可以通过IP解析域名了

部署从服务器实验步骤

  1. 配置环境

关闭防火墙,安装bind相关依赖软件包

打开配置文件

修改全局参数

定义区域

重启服务,查看程序目录下生成的该子目录下是否有生成备份数据

如果想要测试从域名服务器的域名解析能否实现,在103主机将网卡配置的DNS1改为192.168.10.102就可以实现从域名服务器解析测试了。

相关推荐
康熙38bdc22 分钟前
Linux 进程优先级
linux·运维·服务器
hhzz25 分钟前
Linux Shell编程快速入门以及案例(Linux一键批量启动、停止、重启Jar包Shell脚本)
android·linux·jar
只是有点小怂27 分钟前
parted是 Linux 系统中用于管理磁盘分区的命令行工具
linux·运维·服务器
三枪一个麻辣烫1 小时前
linux基础命令
linux·运维·服务器
ZachOn1y1 小时前
计算机网络:计算机网络概述 —— 描述计算机网络的参数
网络·tcp/ip·计算机网络·考研必备
我命由我123451 小时前
SSL 协议(HTTPS 协议的关键)
网络·经验分享·笔记·学习·https·ssl·学习方法
cuisidong19971 小时前
如何在 Kali Linux 上安装 Google Chrome 浏览器
linux·运维·chrome
两点王爷2 小时前
使用WebClient 快速发起请求(不使用WebClientUtils工具类)
java·网络
光通信学徒2 小时前
ubuntu图形界面右上角网络图标找回解决办法
linux·服务器·ubuntu·信息与通信·模块测试
wusam2 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习03(网络及IP规划)
运维·服务器·网络·docker·容器