千家信息网

详解Linux搭建DNS服务器

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,1.DNS服务器概念在互联网上通信需要借助于IP地址,但人类对于数字的记忆能力远不如文字,那么将IP地址转换成容易记忆的文字是个好办法,可是计算机只能识别0、1代码,这时就需要一种机制来解决IP地址与
千家信息网最后更新 2025年12月02日详解Linux搭建DNS服务器

1.DNS服务器概念

在互联网上通信需要借助于IP地址,但人类对于数字的记忆能力远不如文字,那么将IP地址转换成容易记忆的文字是个好办法,可是计算机只能识别0、1代码,这时就需要一种机制来解决IP地址与主机名的转换问题,DNS全称为Domain Name System,即域名系统,其作用就是将我们经常使用的"网址"解析为IP地址 联机分布式数据库系统,DNS大多数名字在本地解析,仅少量需要在网上通讯,所以效率高

2.DNS相关概念

DNS利用树形目录结构,将主机名的管理分配给不同的层级,这样可以实现更加快速的完成主机名的查找, 修改主机名解析时也更加方便

域:

TLD: Top Level Domain (顶级域名)

组织域:.com, .org, .net, .edu,.gov,.mil,.cc,…

国家域:.cn, .us, .tw, .iq,…

反向域:.in-addr-arpa

FQDN:

FQDN全称为Fully Qualified Domain Name,即完全合格域名
FQDN由两个部分组成:主机名和域名。
因为DNS是逐级管理的 ,所以在不同的层级中主机名与域名也是不同的;
以www.google.com为例:
在第二层中,.com就是域名,google就是主机名;
而到了第三层中,.google.
正向解析: 从FQDN转换为IP地址称为正向解析

反向解析: 从IP地址转换为FQDN称为反向解析

区域:正向解析或反向解析中,每个域的记录就是一个区域

3.DNS服务器解析

DNS的主要作用是进行主机名的解析

解析:

根据用户提供一种名称,去查询解析库,以得到另一种名称。 域名->IP,IP->域名

资源记录:rr(resource record) 有类型的概念;用于此记录解析的属性

  1. *SOA记录:起始授权记录,一个区域文件只能有一个
  2. *A记录:用来指定主机名(或域名)对应的IP(ipv4)地址记录。(AAAA ipv6)
  3. *CNAME记录:别名解析(域名)
  4. *NS记录:域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。
  5. *MX记录:邮件交换记录,指向邮件服务器
  6. *PTR记录:反向DNS记录,A记录的反向
  7. *TTL值:生存时间,DNS记录在DNS服务器上缓存时间

4.DNS服务器原理

DNS采用两种查询机制:递归和迭代

客户端向DNS服务器发起查询请求,DNS服务器搜索本地解析库没有结果,于是向根域发起查询请求,根域告诉DNS服务器.com服务器上有它需要的资源,DNS服务器又向.com服务器发起查询请求,结果被告知.google.com服务器上有它想要的结果,后终于在.google.com服务器上找到了解析记录,并返回给了客户端 在上面的查询过程中,客户端只发起了一次请求,并得到了后的结果,这种查询方式被称为递归
而DNS服务器在查询过程中不停的发起请求,直到找到想要的结果,这种查询方式被称为迭代

5.DNS查询顺序

  1. 本地hosts文件
  2. 本地DNS缓存
  3. 本地DNS服务器
  4. 发起迭代查询

6.DNS服务器端口 TCP UDP 53

7.DNS服务器类型

主DNS服务器:

为客户端提供域名解析的主要区域,主DNS服务器宕机,会启用从DNS服务器提供服务

从DNS服务器:

  1. 1.主服务器DNS长期无应答,从服务器也会停止提供服务
  2. 2.主从区域之间的同步采用周期性检查+通知的机制
  3. 3.从服务器周期性的检查主服务器上的记录情况,一旦发现修改就会同步,另外主服务器上如果有数据被修改了,会立即通知从服务器更新记录

缓存服务器:

服务器本身不提供解析区域,只提供非权威应答

转发服务器:

当DNS服务器的解析区域(包括缓存)中无法为当前的请求提供权威应答时,将请求转发至其它的DNS服务器,此时本地DNS服务器就是转发服务器

配置:

nslookup,dig dns客户端测试工具
#tcpdump,wireshark抓包分析工具

DNS服务器搭建,正向解析、反向解析

1.关闭防火墙&Selinux

systemctl stop firewalld systemctl disable firewalld setenforce 0 getenforce

2.安装DNS服务器软件

yum install bind-chroot #主配置文件/etc/named.conf#区域配置文件/etc/named.rfc1912.zones 用来保存域名和IP地址对应关系 #数据配置文件目录/var/named 用来保存域名和IP地址对应关系的所在位置

3.修改主配置文件

vi /etc/named.conf listen-on port 53 { any; }; #服务器上的所有IP地址均可提供DNS域名解析服务 allow-query { any; };  #允许所有人对本服务器发送DNS查询请求 #named-checkconf 命令检测语法

4.修改区域配置文件

#用来保存域名和IP地址对应关系的所在位置,在这个文件中,定义了域名与IP地址解析规则,保存的文件位置,以及服务类型等内容,而没有包含具体的域名、IP地址对应关系等信息。服务类型有三种,分别为hint(根区域)、master(主区域)、slave(辅助区域),其中常用的master和slave指的就是主服务器和从服务器 zone "c74.com" IN {       type master; #服务类型       file "c74.com.zone";  #域名与IP地址解析规则保存文件       allow-update { none; };  #允许哪些客户机动态更新解析信息      }; #正向解析参数zone "1.168.192.in-addr.arpa" IN {  #表示为192.168.1.0/24网段的反射解析区域       type master;       file "192.168.1.arpa";      }; #反向解析参数

5.正向解析

5.1 vi /etc/named.rfc1912.zones

可在原有的基础上进行修改,也可清空,保留只用的信息 zone "c74.com" IN {        #服务类型     type master; #域名与IP地址解析规则保存文件      file "c74.com.zone";    #允许哪些客户机动态更新解析信息      allow-update { none; };      }; #named-checkzone 检测zone文件的配置

5.2#编辑数据配置文件。从/var/named目录中复制一份正向解析的模板文件(named.localhost),然后把域名和IP地址的对应数据填写到数据配置文件中并保存。在复制时记得加上-a参数,这可以保留原始文件的所有者、所属组、权限属性等信息

cd /var/namedcp -a named.localhost c74.com.zone #将named.localhost中的文件内容(模板)复制到c74.com.zone里vi c74.com.zone $TTL 1D #生存周期为1天 @  IN SOA c74.com. root.c74.com.( #@当前的域名 #授权信息开始 #DNS区域的地址 #域名管理员邮箱不要用@符号         0  ; serial #更新序列号                  1D  ; refresh #更新时间                  1H  ; retry  #重试延时                  1W  ; expire #失效时间                  3H ) ; minimum #无效解析记录时间         NS  ns.c74.com.  #域名服务器记录  ns  IN A 192.168.5.153 #地址记录ns.c74.com.   IN MX 10 mail.c74.com. #邮箱交换记录10为优先级数字越小级别越高  mail IN A 192.168.5.153 #地址记录mail.c74.com.  www  IN A 192.168.5.153 #地址记录www.c74.com.  news IN A 192.168.5.153 #地址记录news.c74.com. 

5.3 启动服务及测试

 systemctl restart named  yum install bind-utils -y  #bind-utils为客户端 测试dns使用 nslookup  > www.c74.com  Server:   192.168.5.153  Address:  192.168.5.153#53 #其它也要测试,这里省略

6.反向解析

#反向解析的作用是将用户提交的IP地址解析为对应的域名信息,它一般用于对某个IP地址上绑定的所有域名进行整体屏蔽,屏蔽由某些域名发送的垃圾邮件

6.1 vi /etc/named.rfc1912.zones

zone "1.168.192.in-addr.arpa" IN {  type master;  file "192.168.1.arpa"; };

6.2 编辑配置文件

 #从/var/named目录中复制一份反向解析的模板文件(named.loopback),然后把下面的参数填写到文件中  cd /var/named  cp -a named.loopback 192.168.1.arpa  vi 192.168.1.arpa  $TTL 1D  @  IN SOA c74.com. root.c74.com. (                 0  ; serial                 1D  ; refresh                 1H  ; retry                 1W  ; expire                 3H ) ; minimum        NS  ns.c74.com.   ns  A  192.168.5.153   153  PTR  ns.c74.com.  #PTR为指针记录,仅用于反向解析中  153  PTR  mail.c74.com.  153  PTR  www.c74.com.   153  PTR  news.c74.com.

6.3 测试

 systemctl restart named   nslookup

7.DNS高级之主从服务

#由于上边已部署主服务器,下主要介绍从服务器
#在DNS域名解析服务中,从服务器可以从主服务器上获取指定的区域数据文件,从而起到备份解析记录与负载均衡的作用,因此通过部署从服务器可以减轻主服务器的负载压力,还可以提升用户的查询效率
#测试需要两台服务器!主192.168.10.10,从192.168.10.20

7.1#在主服务器的区域配置文件中允许该从服务器的更新请求,即修改allow-update {允许更新区域信息的主机地址;};参 数,然后重启主服务器的DNS服务程序

 vi /etc/named.rfc1912.  zones zone "c74.com" IN {         type master;        file "c74.com.zone";         allow-update { 192.168.10.20; };         };   zone "10.168.192.in-addr.arpa" IN {         type master; file "192.168.10.arpa";         allow-update { 192.168.10.20; };        };   systemctl restart named 

7.2#在从服务器中填写主服务器的IP地址与要抓取的区域信息,然后重启服务。注意此时的服务类型应该是slave(从), 而不再是master(主)。masters参数后面应该为主服务器的IP地址,而且file参数后面定义的是同步数据配置文件后 要保存到的位置,稍后可以在该目录内看到同步的文件

 vi /etc/named.rfc1912.zones   zone "c74.com" IN {       type slave;        masters { 192.168.10.10; };        file "slaves/c74.com.zone";        };   zone "10.168.192.in-addr.arpa" IN {        type slave;        masters { 192.168.10.10; };        file "slaves/192.168.10.arpa";        };   #file参数后面定义的是同步数据配置文件后 要保存到的位置,稍后可以在该目录内看到同步的文件}; systemctl restart named

7.3 #检验解析结果。当从服务器的DNS服务程序在重启后,一般就已经自动从主服务器上同步了数据配置文件,而且该文件 默认会放置在区域配置文件中所定义的目录位置中。随后修改从服务器的网络参数,把DNS地址参数修改成 192.168.10.20,这样即可使用从服务器自身提供的DNS域名解析服务。后就可以使用nslookup命令顺利看到解析结果了

 cd /var/named/slaves  ls #注意从服务器会同步主服务器的文件!  nslookup   www.c74.com   192.168.10.10 

以上所述是小编给大家介绍的Linux搭建DNS服务器详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

服务 服务器 域名 文件 地址 区域 配置 查询 主机 数据 信息 参数 客户 目录 类型 结果 更新 位置 客户端 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 淄博宏金软件开发有限公司 服务器管理平台好吗 云计算管理服务器的工具 战地1服务器无法显示ping 网络安全小心行观后感 天津大学数据库应用技术期末 服务器如何做权限管理 网络安全 成效 儿童体质测评数据库 怎么让远程服务器不关闭项目 陕西联想服务器维修调试多少钱 育碧服务器历史记录如何删除 画图工具软件开发 闵行区微型软件开发服务商是什么 华为服务器制造商全称 兰州展厅多媒体软件开发 双11网络安全团队新闻 网络安全威胁类型划分依据 战地五一个服务器多少钱 大搜网络技术有限公司官网 淄博宏金软件开发有限公司 书生之路模组服务器选什么 银监关于网络安全的制度 怎么对比不同表格的数据库 完美世界还有多少服务器 服务器上数据库没有启动 db2停数据库 少年包青天3 互联网科技爆料 软件开发专业学什么 武汉_软件开发.net
0