当前位置: 首页 > backend >正文

Linux中的DNS的安装与配置

DNS简介

DNS(DomainNameSystem)是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。

DNS使用的是53端口

通常DNS是以UDP这个较快速的数据传输协议来查询的,但是没有查询到完整的信息时,就会再次以TCP这个协议来重新查询所以启动DNS时,会同时启动TCP以及UDP的port53。

域名服务器的类型划分

DNS域名解析的过程

DNS服务器的配置

关于服务端

软件安装包bind
服务名称named
主配置文件/etc/named.conf
数据目录/var/named
端口tcp/53 udp/53

搜索DNS相关软件

dnf search dns

安装

dnf install bind.x86_64 -y

 查看软件对应服务名

rpm -ql bind

rpm命令不了解的可以看看,可以了解一下Linux中的软件管理

Linux中的软件管理还能这样做?!-CSDN博客

火墙放通

注:这一步是在你有启用火墙服务的前提下的

你可以通过下面这条命令来

查看火墙服务是否打开

systemctl status firewalld.service

如果火墙服务已启用则需要执行以下命令:

火墙放通DNS 

firewall-cmd -permanent --add-service=dns

 重新加载火墙服务

firewall-cmd --reload

启用DNS服务 

systemctl enable --now named.service

编辑DNS的配置文件

用vim编辑/etc/named.conf这个文件

vim /etc/named.conf

在主机1的named.conf文件中更改和增加这三处

  1. 监听53端口 原本是监听127.0.0.1,改为any监听所有

  2.  allow-query允许查询项,原本是localhost更改为any,允许所有人查询

  3. 增加项:forwarders {DNS服务器IP;}; 给自己的服务器指路,它允许你的 DNS 服务器将某些查询请求转发到其他 DNS 服务器进行解析

每次修改配置文件后记得重启服务

修改主机1和主机2的域名解析服务器IP地址

分别在主机1和主机2中编辑这个文件:

vim /etc/resolv.conf

在主机1中的named.conf没有做任何修改和配置时,主机2即使将域名服务器改为了主机1的IP,也是不能访问域名网站的

当只改了端口这一项时

重启服务后

在主机2再次访问,会发现被拒绝访问

原因是我们allow-query允许访问项限制了主机2的访问。 

将允许访问的范围改成any

重启服务后

并使用dig进行测试

测试后虽然显示可以正常访问网站,但是访问的速率很慢

高速DNS缓存

通过forwarders指路实现高速DNS缓存

测试访问速率大提升

在经过指路后,得到高速缓存dns的效果后,访问速度大大提升

在主机2(134)上测试访问

同样,在主机2(134)上访问速率也能得到大幅提升

搭建DNS正向解析

主配置文件

在域名不长的情况下,可直接在主配置文件中编写以及维护

子配置文件

如果需要维护的域名较长,则可以在/etc/named.rfc1912.zones这个子配置文件上编写以及维护自己的域名

创建自己的域名.zone文件

复制文件及权限

编写自己的域名.zone文件

注意:每个字符串结束后必须加.否则文件内容会被识别错误。

重启服务

编辑完所有文件后,就可以重启服务刷新配置文件内容

然后就能够访问到自己在dns服务器所手动配置的域名了

部署辅助DNS服务器

安装DNS软件(若已安装可跳过)

注意:这是在主机2(134)上安装的!

编辑配置文件

修改/etc/named.conf

在主机2(134)上的/etc/named.conf这个主配置文件里更改下图红框的这两项

修改/etc/named.rfc1912.zones

然后来到主机2(134)上的/etc/named.rfc1912.zones里,添加橙框这部分,建议复制上面的localhost那一段再做更改

重启服务 

编辑完后务必记得重启

放通火墙

也不要忘了将火墙放通!

更改域名服务器ip地址

主机1

在主机1(132)上的/etc/resolv.conf,改为自己的IP192.168.200.132

主机2 

在主机2(134)上的/etc/resolv.conf,改为自己的IP192.168.200.134

测试访问

辅助DNS的数据同步优化

在132主机1上的/etc/named.rfc1912.zones中增加下图蓝框项

然后我们来到主机1(132)的/var/named/vb.org.zone

在主机1(132)中更改IP或域名和serial值

注意:更改一次域名或IP地址,都需要增量修改serial值来强制其他serial DNS服务器更新自己的信息

增量即是如果当前serial值为2时,你修改了数据后,更改只可以修改为比2大的整数,不可以改成比2小的数字。

修改了ip,并且更改了serial值后,再次测试ping www.vb.org

就可以ping通啦! 

http://www.xdnf.cn/news/7399.html

相关文章:

  • flow-两种SharingStarted策略的区别示例
  • kotlin Flow的技术范畴
  • 解决软件连接RabbitMQ突发System.IO.IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接异常
  • RabbitMQ-高级
  • nginx 漏洞修复 CVE-2024-7347 CVE-2025-23419
  • 深入理解蒙特卡洛树搜索(MCTS):python从零实现
  • SQL:多列匹配(Multiple-column Matching)
  • Mybatis操作数据库(2)
  • 看之前熟悉双亲委派加载机制,看之后了解双亲委派加载机制
  • HarmonyOS实战:自定义时间选择器
  • 仿微钙化结石体模的详细讲解
  • 学习源码?
  • 详解受约束的强化学习(一、入门学习)
  • 【深度学习新浪潮】什么是多模态大模型?
  • 什么是Monorepo(单体仓库)(monolithic repository)
  • 隨筆 20250519 基于MAUI Blazor整合SQLite数据库与Star打印机的详细步骤
  • 【机器学习】线性回归和损失函数
  • WebSphere Application Server(WAS)8.5.5教程第五讲
  • Python网络爬虫入门指南
  • Git初始化本地已有项目,并推送到远端Git仓库完整操作指南
  • ebpf简介
  • Visual Studio解决方案构建三剑客:生成/重新生成/清理完全指南(实战经验总结)
  • 60天python训练计划----day30
  • GloVe 模型讲解与实战
  • 淘宝商品详情PAI接口可以获取哪些信息?
  • 人工智能重塑医疗健康:从辅助诊断到个性化治疗的全方位变革
  • React 个人笔记 Hooks编程
  • android双屏之副屏待机显示图片
  • leetcode 每日一题 1931. 用三种不同颜色为网格涂色
  • autoDL算力云装Xinference[坑与步骤]