Linux中搭建DNS 域名解析服务器(详细版)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: Linux中搭建DNS 域名解析服务器(详细版)

DNS 从哪里获取 IP 地址?

本地缓存: DNS服务器会将先前查询过的域名和对应的IP地址存储在本地缓存中,以便在后续查询中加快响应速度。如果之前已经查询过某个域名,DNS服务器会直接从本地缓存中获取对应的IP地址。


递归查询: 如果本地缓存中没有目标域名的IP地址,DNS服务器会发起递归查询。它首先向根域名服务器发送查询请求,根域名服务器会返回指向负责顶级域(如.com、.net、.org等)的权威域名服务器的IP地址。然后,DNS服务器会向权威域名服务器发送查询请求,直到获取到目标域名的IP地址或者查询失败。


转发查询: DNS服务器还可以配置为转发查询,即将未命中本地缓存的查询请求转发给其他DNS服务器处理。通常情况下,本地DNS服务器会将这些请求发送给ISP(Internet Service Provider,互联网服务提供商)提供的DNS服务器或者其他可靠的DNS服务器进行处理。


DNS的作用

域名解析: DNS最主要的作用是将域名解析为对应的IP地址。当用户在浏览器中输入一个域名时,DNS系统会将这个域名转换为相应的IP地址,然后浏览器才能通过IP地址找到并访问目标网站。


负载均衡: 通过DNS解析可以实现负载均衡,即将多个服务器的域名解析为不同的IP地址并在不同的时间将其返回给用户。这样可以分散流量到多台服务器上,提高网站的访问速度和稳定性。


邮箱服务器定位: DNS也用于指定邮件服务器的IP地址。当发送电子邮件时,邮件服务器通过DNS解析找到收件人域名的邮件服务器IP地址,然后发送邮件。


防止DNS劫持: DNS还能够通过各种方式来防止DNS劫持,即恶意修改DNS解析结果以实施网络攻击或监视用户活动的行为。例如,DNSSEC(DNS Security Extensions)可以通过数字签名来保护DNS解析结果的完整性和真实性。


提供其他网络服务: DNS还可以用于提供其他网络服务,如反向DNS解析(将IP地址解析为域名)、动态域名解析(将动态IP地址映射到域名)、域名注册等。

接下来讲讲我们在本地搭建DNS解析

以下实验测试均在VMware中 centos操作系统

首先服务器的配置


1.服务器配置


配置ip,关闭防火墙和selinux

安装BIND包他就是dns的安装包需要下载它

yum install bind -y


2.编辑配置文件


/etc/named.conf 是DNS的配置文件

vim /etc/named.conf
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };


以下是详细配置解释:

大家了解即可 主要还是图中红色框中的字母

options: 这个部分包含了DNS服务器的一般选项设置。


listen-on port 53 { any; }: 指定DNS服务器监听的端口。在这个示例中,DNS服务器监听在53端口,允许任何IP地址连接到该端口。这意味着DNS服务器会接受来自任何IP地址的DNS查询请求。


listen-on-v6 port 53 { ::1; }: 指定IPv6地址的监听端口。在这个示例中,DNS服务器监听IPv6地址的53端口,只允许本地IPv6地址(::1)连接到该端口。


directory "/var/named";: 指定存储DNS服务器相关数据文件的目录路径。在这个示例中,数据文件存储在/var/named目录下。


dump-file "/var/named/data/cache_dump.db";: 指定DNS服务器在关闭时将缓存内容写入的文件路径。这个文件通常用于调试和故障排除。


statistics-file "/var/named/data/named_stats.txt";: 指定DNS服务器的统计信息输出文件路径,用于记录DNS服务器的运行统计数据。


memstatistics-file "/var/named/data/named_mem_stats.txt";: 指定DNS服务器的内存使用统计输出文件路径,用于记录DNS服务器的内存使用情况。


recursing-file "/var/named/data/named.recursing";: 指定DNS服务器递归查询的记录文件路径。


secroots-file "/var/named/data/named.secroots";: 指定DNS服务器的安全根文件路径。


allow-query { any; };: 指定允许查询的IP地址范围。在这个示例中,允许任何IP地址进行DNS查询。


定义正向查询

正向查询是最常见的DNS查询方式之一。


正向查询用于将域名解析为IP地址,这样用户就可以使用易记的域名来访问互联网上的各种网络资源,而不需要记忆IP地址。


在dns配置文件中加入如下信息:

1. zone "example.com" IN {
2. type master;
3.         file "example.com.zone";
4.         allow-update { none; };
5. };

红色框框里边的就是

以下是配置详解:

需要强调的是file指定的是文件路径

type master;: 表明这是主 DNS 服务器,负责提供 "example.com" 区域的数据。


file "example.com.zone";: 指定了包含 "example.com" 区域数据的文件的路径。


allow-update { none; };: 指定了允许对区域进行动态更新的权限。在这种情况下,none 表示不允许任何动态更新,因此区域数据只能通过手动编辑区域文件来更新。


定义反向查询

反向查询是一种从IP地址到域名的查询方式。


反向查询主要用于安全审计、网络管理和验证IP地址归属等方面。例如,当收到来自某个IP地址的网络流量时,可以通过反向查询确认该IP地址对应的域名,从而了解到流量的来源。


1. zone "180.168.192.in-addr.arpa" IN {
2. type master;
3.         file "example.com.arpa";
4.         allow-update { none; };
5. };

如图红色框框


检测是否语法错误

named-checkconf /etc/named.conf

编辑完成之后保存退出并且重启

systemctl restart named
修改正反区域文件(重点)

进入到DNS服务器相关文件存储目录 /var/named/

cd /var/named/

观察这两个文件 其实是一个实例文件接下来我们复制两份用(找任意一个都可以)

1. 
cp -p named.empty example.com.zone
2. cp -p named.empty example.com.arpa

如下就是我复制的文件

example.com.zone        当做正向查询解析来用

example.com.arpa         当做反向查询来使用


加入解析信息(正向)
vim example.com.zone

观看如下配置

格式就是这样的 请大家按照这样写

红色框框里边可以修改


example.com.: 指定了主域名为 example.com。


root.example.com.: 这个字段指定了负责管理该域名的DNS服务器的邮箱地址,形式为 root@example.com。root 是指定了这个域名的管理员(或者叫根管理员),而 example.com 是该管理员的邮箱地址的域名部分。


@ IN NS dns.example.com.:这行指定了域名 example.com 的DNS服务器是 dns.example.com。NS记录(Name Server)指定了管理特定区域的DNS服务器。


dns IN A 192.168.180.188:这行指定了主机名 dns 对应的IP地址是 192.168.180.188。A记录(Address Record)用于将域名解析为IPv4地址。


www IN A 192.168.180.189:这行指定了主机名 www 对应的IP地址是 192.168.180.189。


exam IN A 192.168.180.190:这行指定了主机名 exam 对应的IP地址是 192.168.180.190。


ftp IN A 192.168.180.191:这行指定了主机名 ftp 对应的IP地址是 192.168.180.191。


sun IN A 192.168.180.44:这行指定了主机名 sun 对应的IP地址是 192.168.180.44。

加入解析信息(反向)
vim example.com.arpa

观看如下配置

格式就是这样的 请大家按照这样写

红色框框里边可以修改


PTR 记录将 IP 地址映射到相应的域名。


@ IN NS dns.example.com.:这行指定了该反向区域的DNS服务器是 dns.example.com。NS记录(Name Server)指定了管理特定区域的DNS服务器。


188 IN PTR dns.example.com.:这行指定了IP地址以 188 结尾的主机对应的域名是 dns.example.com。PTR记录(Pointer Record)用于将IP地址解析为域名。


189 IN PTR www.example.com.:这行指定了IP地址以 189 结尾的主机对应的域名是 www.example.com。


190 IN PTR exam.example.com.:这行指定了IP地址以 190 结尾的主机对应的域名是 exam.example.com。


191 IN PTR ftp.example.com.:这行指定了IP地址以 191 结尾的主机对应的域名是 ftp.example.com。


44 IN PTR sun.example.com.:这行指定了IP地址以 44 结尾的主机对应的域名是 sun.example.com。


此刻已经写完了所有的配置信息 重启服务


3.客户机测试


配置ip,关闭防火墙和selinux

[root@localhost ~] vim /etc/resolv.conf

/etc/resolv.conf 是一个用于配置 DNS 解析的重要文件

将它指向dns服务器IP地址


正向解析测试

通过测试发现一切都如配置文件对应关系那样

反向解析测试

通过测试发现一切都如配置文件对应关系那样

 

注意事项


如果重启发现


Job for named.service failed because the control process exited with error code. See "systemctl status named.service" and "journalctl -xe" for details.



那就是配置文件在你编辑时候出现了错误


vim        /etc/named.conf 编辑这个文件 仔细的去观察你编辑的信息

如果解析发现解析失败 那就是正反解析文件中的问题

还有就是.记得加上去

相关文章
|
3天前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
23 5
|
30天前
|
安全 编译器 Linux
深入解析与防范:基于缓冲区溢出的FTP服务器攻击及调用计算器示例
本文深入解析了利用缓冲区溢出漏洞对FTP服务器进行远程攻击的技术,通过分析FreeFlow FTP 1.75版本的漏洞,展示了如何通过构造过长的用户名触发缓冲区溢出并调用计算器(`calc.exe`)。文章详细介绍了攻击原理、关键代码组件及其实现步骤,并提出了有效的防范措施,如输入验证、编译器保护和安全编程语言的选择,以保障系统的安全性。环境搭建基于Windows XP SP3和Kali Linux,使用Metasploit Framework进行攻击演示。请注意,此内容仅用于教育和研究目的。
79 4
|
1月前
|
域名解析 弹性计算 安全
阿里云服务器租用、注册域名、备案及域名解析完整流程参考(图文教程)
对于很多初次建站的用户来说,选购云服务器和注册应及备案和域名解析步骤必须了解的,目前轻量云服务器2核2G68元一年,2核4G4M服务器298元一年,域名注册方面,阿里云推出域名1元购买活动,新用户注册com和cn域名2年首年仅需0元,xyz和top等域名首年仅需1元。对于建站的用户来说,购买完云服务器并注册好域名之后,下一步还需要操作备案和域名绑定。本文为大家展示阿里云服务器的购买流程,域名注册、绑定以及备案的完整流程,全文以图文教程形式为大家展示具体细节及注意事项,以供新手用户参考。
|
1月前
|
存储 监控 调度
云服务器成本优化深度解析与实战案例
本文深入探讨了云服务器成本优化的策略与实践,涵盖基本原则、具体策略及案例分析。基本原则包括以实际需求为导向、动态调整资源、成本控制为核心。具体策略涉及选择合适计费模式、优化资源配置、存储与网络配置、实施资源监控与审计、应用性能优化、利用优惠政策及考虑多云策略。文章还通过电商、制造企业和初创团队的实际案例,展示了云服务器成本优化的有效性,最后展望了未来的发展趋势,包括智能化优化、多云管理和绿色节能。
|
2月前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
51 2
|
2月前
|
存储 机器学习/深度学习 编解码
阿里云服务器计算型c8i实例解析:实例规格性能及使用场景和最新价格参考
计算型c8i实例作为阿里云服务器家族中的重要成员,以其卓越的计算性能、稳定的算力输出、强劲的I/O引擎以及芯片级的安全加固,广泛适用于机器学习推理、数据分析、批量计算、视频编码、游戏服务器前端、高性能科学和工程应用以及Web前端服务器等多种场景。本文将全面介绍阿里云服务器计算型c8i实例,从规格族特性、适用场景、详细规格指标、性能优势、实际应用案例,到最新的活动价格,以供大家参考。
|
2月前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。
501 2
|
2月前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
82 4
|
1月前
|
弹性计算 移动开发 安全
阿里云域名注册、续费收费标准价格表及最新优惠口令获取及使用教程参考
阿里云域名注册和续费收费标准在9月份随着全球域名价格的上涨,域名收费标准也做了调整,目前阿里云的.com英文域名的注册价格为83元,续费收费标准为90元,为了让更多用户在注册和续费时价格能更加实惠,阿里云推出了域名优惠口令活动,域名优惠口令适合在域名注册和续费时使用,使用优惠口令通常可以使注册和续费价格减免几元到十几元不等,例如使用优惠口令续费.com域名就可减少5元。本文为大家展示目前阿里云域名注册和续费的最新收费标准以及如何领取和使用域名优惠口令的相关教程,以供参考。
521 11
|
3月前
|
域名解析 网络协议
非阿里云注册域名如何在云解析DNS设置解析?
非阿里云注册域名如何在云解析DNS设置解析?