DNS原理与配置
DNS介绍
域名管理系统DNS(Domain Name System)是域名解析服务器的意思,应用层协议,是互联网的一项服务。
DNS作用是:
把域名转换成网络可以识别的ip地址,在通过IP地址访问主机。
- 正向解析:根据域名查找对应的IP地址
- 反向解析:根据IP地址查找对应的域名
DNS系统的分布式数据结构:
顶级域/一级域:
.org(团体组织)
.net(网络供应商)
.com(工商企业)
.edu(教育机构)
.gov(政府部门)
.cn(中国国家域名)
二级域:
.com.cn
.net.cn
.edu.cn
子域:二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名;
主机:域名结构的最下层,就是一台具体的计算机。
DNS系统类型
1.缓存域名服务器:
只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,
但是没有自己控制的区域地址数据。
构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
2.主域名服务器:
管理和维护所负责解析的域内解析库的服务器
3.从域名服务器:
从主服务器或从服务器"复制"解析库副本序列号:解析库版本号,主服务器解析库变化时,其序列递增
刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔
重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔
过期时长:从服务器联系不到主服务器时,多久后停止服务
通知机制:主服务器解析库发生变化时,会主动通知从服务器
DNS域名解析过程:
1.迭代查询:
主机向本地域名服务器的查询一般都是采用递归查询。
所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,
向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。
因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。
2.递归查询
本地域名服务器向根域名服务器的查询的迭代查询。
迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。
然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。
顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。
最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。
3.总结:
递归查询是 客户端只发起一次请求,返回结果只有查询成功或失败;迭代查询会返回最佳查询点或主机地址。
图解:
构建DNS正向域名解析服务器过程
1 、安装bind软件包,查看需要修改的配置文件所在路径
yum install bind
rpm -qc bind

2、 修改主配置文件
vim /etc/named.conf
3、 修改区域配置文件,添加正向区域配置
vim /etc/named.rfc1912.zones
4、 配置正向区域数据文件
cd /var/named/
cp -p named.localhost benet. com. zone
vim /var/named/benet.com.zone
$TTL 1D #有效解析记录的生存周期
@ IN SOA benet.com.admin.benet.com.
“@"符号表示当前的DNS区域名(别名)
0 ; serial #更新序列号,可以是10位以内的整数
1D ; refresh #刷新时间,重新下载地址数据的间隔
1H ; retry #重试延时,下载失败后的重试间隔
1W ; expire #失效时间,超过该时间仍无法下载则放弃
3H ; minimum #无效解析记录的生存周期
NS master #记录当前区域的DNS服务器的名称
A 192.168.28.128 #记录主机IP地址
www A 192. 168.28.129 #记录正向解析www.xhx.com对应的IP
mail A 192. 168.28.130#记录正向解析mail.xhx.com对应的IP
5、 启动服务,关闭防火墙
systemctl start named
systemctl stop firewalld.service
setenforce 0
6、 在客户端的域名解析配置文件中添加DNS服务器地址
vi /etc/resolv.conf
nameserver 192.168.28.128
vi /etc/sysconfig/network-scripts/ifcfg-ens33
DNS1=192.168.28.128
systemctl restart network
反向域名解析与正向域名解析不同点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?