Linux搭建主从DNS服务器

DNS简介:

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

DNS产生的原因:

互联网的不同计算机之间通信是通过IP地址来进行实现的,每台联网计算机都需要通过 IP 地址来互相联系,但由于 IP 地址是由一串容易混淆的数字串构成,人们很难记忆所有计算机的 IP 地址,这样对于我们日常工作生活访问不同网站是很困难的。

对此,人们在IP地址的基础上有发展出了一种更易识别的符号化标识,标识由人们自行选择的字母和数字构成,相比 IP 地址更易被识别和记忆,逐渐代替 IP 地址成为互联网用户进行访问互联的主要入口。这种符号化标识就是域名。

域名虽然好记更易于被用户所接受,但计算机只能识别纯数字的IP地址,不能直接识别域名,因此就需要将域名翻译成IP地址,DNS域名解析服务就担任这种翻译工作

作用:

DNS用于将域名和IP地址进行相互映射,使人更方便的访问互联网

  • 正向解析:域名  -->  IP地址
  • 反向解析:IP地址  -->  域名

连接:

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

域名服务器类型划分

Linux搭建DNS主从服务器

需求:

利用两台linux主机,配置dns主从服务器,能够实现正常的正反向解析

配置思路:

配置文件:

  • /etc/named.conf            -->  主配置文件
  • /etc/named.rfc1912.zones     -->  域配置文件(此配置文件会默认加载到主配置文件)
  • /var/named/                   -->  所有的域名解析文件所在目录

主服务器:

  1. 在主服务器上对主配置文件配置对本服务器进行监听IP地址和端口号53,允许至少‘从服务器主机可以访问,允许对从服务器的IP进行“传送数据”
  2.  对主服务器的域配置文件,进行相应域的配置
  3. 在  /var/named/  文件下创建域名解析文件,并对其进行相应编写

从服务器:

  1. 在主配置文件对本服务器进行监听IP地址和端口号53,允许相应主机进行访问,
  2. 对域配置文件,进行相应域的配置
  3. 重启DNS服务后,观察  /var/named/slaves/ 文件目录下的变化

配置过程:

准备工作:

主从服务器关闭防火墙、关闭selinux,安装DNS相应软件包(bind)

# 关闭防火墙、selinux
systemctl status firewalld.service
setenforce 0

# 安装DNS软件包
yum install bind -y
主服务器:
vim /etc/named.conf        # 编辑主配置文件

# 对主配置文件进行“局部”的修改
options {
        listen-on port 53 { 192.168.217.132; };        # 监听本机ip地址和端口
        allow-query     { any; };                      # 允许所有主机的访问
        allow-transfer  { 192.168.217.133; };          # 允许对从服务器的 "传送数据"
        }


vim /etc/named.rfc1912.zones        # 编辑与配置文件(对其模板进行修改即可)

# 正向解析
zone "openlab.com" IN {        # 域在此写二级域名
        type master;            # 类型为主
        file "named.openlab";    # 解析文件路径(默认在/var/named/目录下)
};

# 反向解析
zone "217.168.192.in-addr.arpa" IN {        # 此处IP反着写
        type master;                       # 类型为主
        file "named.openlab.arpa";          # 解析文件路径(默认在/var/named/目录下)
};

对域名解析文件模板进行复制再配置

# 对模版完全复制加-a

cp -a /var/named/named.localhost /var/named/named.openlab

cp -a /var/named/named.localhost /var/named/named.openlab.arpa

域名解析文件配置

# 正向解析
vim /var/named/named.openlab

# 内容:↓↓↓
$TTL 1D
@       IN SOA  @ dragon.163.com. (               # SOA起始授权,对openlab.com的主机进行授权
                                        0       ; serial
                                        1M      ; refresh
                                        1M      ; retry
                                        3M      ; expire
                                        1M )    ; minimum

        NS      dns.openlab.com.                # NS:管理这个域名的服务器主机名字,即由哪一台主机去解析当前所定义的域主机    
        NS      ns.opnelab.com.        # 从服务器的主机名
dns     A       192.168.217.132                 # 主机的IPv4的IP地址 
ns      A       192.168.217.133
www     A       192.168.217.136
ftp     A       192.168.217.111
mstp    A       192.168.217.110    
stp     CNAME   mstp                            # 代表这个主机别名的主机名字

--------------------------------------------------------------------------------------------

# 反向解析
vim /var/named/named.openlab.arpa 

# 内容:↓↓↓
$TTL 1D
@       IN SOA  @ dragon.163.com. (
                                        0       ; serial
                                        1M      ; refresh
                                        1M      ; retry
                                        3M      ; expire
                                        1M )    ; minimum
        NS      dns.openlab.com.
        NS      ns.openlab.com.
133     PTR     ns.openlab.com.
132     PTR     dns.openlab.com.
136     PTR     www.openlab.com.
111     PTR     ftp.openlab.com.
110     PTR     mstp.openlab.com.
110     PTR     stp.openlab.com.

配置完后在本机对其进行测试

DNS的ip地址文件:vim /etc/resolv.conf(可对其进行修改,对配置的DNS服务器进行测试)

解析工具:

nslookup  、 dig

systemctl restart named        # 重启DNS服务器(start是开启)

测试:
[root@openEuler ~]# nslookup 
> server 192.168.217.132            # 临时让本机IP地址为DNS服务器
Default server: 192.168.217.132
Address: 192.168.217.132#53
> www.openlab.com                    # 测试正向解析
Server:		192.168.217.132
Address:	192.168.217.132#53

Name:	www.openlab.com
Address: 192.168.217.136
> 192.168.217.111                    # 测试反向解析
111.217.168.192.in-addr.arpa	name = ftp.openlab.com.

从服务器:
vim /etc/named.conf        # 编辑主配置文件

# 对主配置文件进行“局部”的修改
options {
        listen-on port 53 { 192.168.217.132; };        # 监听本机ip地址和端口
        allow-query     { any; };                      # 允许所有主机的访问
        }


vim /etc/named.rfc1912.zones        # 编辑与配置文件(对其模板进行修改即可)

# 正向解析
zone "openlab.com" IN {        # 域在此写二级域名
        type slave;            # 类型为主
        file "slaves/named.openlab";    # 解析文件路径(默认在/var/named/目录下)
        masters { 192.168.217.132; };    # 主DNS的IP地址
        
};

# 反向解析
zone "217.168.192.in-addr.arpa" IN {        # 此处IP反着写
        type slave;                       # 类型为主
        file "slaves/named.openlab.arpa";          # 解析文件路径(默认在/var/named/目录下)
        masters { 192.168.217.132; };    # 主DNS的IP地址
};

启动DNS服务,观察域名解析文件是否拉取过来

watch ls /var/named/slaves/        --> 监控文件变化

# 再开启一台窗口实时监控
watch ls /var/named/slaves/

#  然后在开启DNS服务
systemctl start named

以此可见拉取成功

在主服务器上修改DNS的IP地址为从服务器的IP,测试是否可以解析成功

 vim /etc/resolv.conf 
# Generated by NetworkManager
nameserver 192.168.217.133        # 修改DNS地址

测试:

nslookup、dig解析工具都可以

以下都展示↓↓↓↓↓↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/337335.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【软件测试】学习笔记-网站高可用架构设计

顾名思义,网站高可用指的就是,在绝大多的时间里,网站一直处于可以对外提供服务的正常状态。业界通常使用有多少个“9”来衡量网站的可用性指标,具体的计算公式也很简单,就是一段时间内(比如一年&#xff09…

Mybatis原理 - 标签解析

很多开源框架之所以能够流行起来,是因为它们解决了领域内的一些通用问题。但在实际使用这些开源框架的时候,我们都是要解决通用问题中的一个特例问题,所以这时我们就需要使用一种方式来控制开源框架的行为,这就是开源框架提供各种…

Redis原理篇(String)

一.编码方式 String 有三种编码方式 1.RAW编码 type是类型,表示该类型是String类型 encoding是编码方式,表示当前是String的RAW编码方式 ptr指针指向一个SDS(动态字符串)对象 2.EMBSTR编码 当要存的字符串长度小于44个字节时&…

ElasticSearch 7.x现网运行问题汇集3

问题描述 某现网ElasticSearch 故障,很长时间unassgined_shards的数量都不减少。 原因分析与解决方案: 先了解整体状态,使用Postman请求,如下几个请求命令: GET /_cat/indicesGET /_cat/shardsGET /_cluster/health…

《Python数据分析技术栈》第03章 03 可视化各级数据(Visualizing various levels of data)

03 可视化各级数据(Visualizing various levels of data) 《Python数据分析技术栈》第03章 03 可视化各级数据(Visualizing various levels of data) Whenever you need to analyze data, first understand if the data is stru…

【图解数据结构】顺序表实战指南:手把手教你详细实现(超详细解析)

🌈个人主页:聆风吟 🔥系列专栏:图解数据结构、算法模板 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 一. ⛳️线性表1.1 🔔线性表的定义1.2 🔔线性表的存储结构 二. ⛳️顺序表…

解决Windows下Goland的Terminal设置为Git Bash失败

路径不要选错了: 如果还是不行: 把bash路径加进去试试 goland设置Terminal

在Qt中通过控制按钮实现登录界面密码与明码的转换

创建控件: 首先,在Qt设计师界面界面上创建QLineEdit类文本框,用于输入密码,并且实现密码与明码相互转化。 设置初始状态: 默认情况下,输入密码的文本框应该是可见的并允许用户输入。 添加切换按钮&…

MCM备赛笔记——PCA主成分分析法

Key Concept 主成分分析(PCA,Principal Component Analysis)是一种统计方法,它通过线性变换将多维数据变换到新的坐标系统中,使得这一数据的任何投影的第一大方差出现在第一个坐标(即第一个主成分&#xf…

H5嵌入小程序适配方案

时间过去了两个多月,2024已经到来,又老了一岁。头发也掉了好多。在这两个月时间里都忙着写页面,感觉时间过去得很快。没有以前那么轻松了。也不是遇到了什么难点技术,而是接手了一个很烂得项目。能有多烂,一个页面发起…

Linux之进程间通信(管道)

目录 一、进程间通信 1、进程间通信的概念 2、进程间通信的目的 3、进程间通信的分类 二、管道 1、管道基本介绍 2、匿名管道 3、命名管道 一、进程间通信 1、进程间通信的概念 什么是进程间通信? 我们在学习了进程的相关知识后,知道&#xff…

Vue记录

vue2、vue3记录 vue2记录 经典vue2结构 index.vue&#xff1a; <template><div>...</div> </template><script>import method from "xxx.js"import component from "xxx.vue"export default {name: "ComponentName&…

Vue3.0性能提升主要是通过哪几方面体现的?

文章目录 一、编译阶段diff算法优化静态提升事件监听缓存SSR优化 二、源码体积三、响应式系统参考文献 一、编译阶段 回顾Vue2&#xff0c;我们知道每个组件实例都对应一个 watcher 实例&#xff0c;它会在组件渲染的过程中把用到的数据property记录为依赖&#xff0c;当依赖发…

Cloudreve存储策略-通过从机存储来拓展容量

Sham的云服务器是搬瓦工最低低低配的&#xff0c;1H 0.5G不说&#xff0c;硬盘容量也只有10g&#xff0c;说实话&#xff0c;装了宝塔面板和服务器套件后&#xff0c;基本满了&#xff0c;这时又想在云服务器上打个网盘用于下载、存储&#xff0c;这时就需要拓展硬盘&#xff0…

Redis 面试题 | 01.精选Redis高频面试题

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

HCIA——22DNS:DNS层次域名空间、域名服务器、域名解析的原理

学习目标&#xff1a; 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议&#xff0c;了解典型网络设备的组成和特点&#xff0c;理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…

基于springboot+vue的母婴商城系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

第二课:BERT

文章目录 第二课&#xff1a;BERT1、学习总结&#xff1a;为什么要学习BERT&#xff1f;预训练模型的发展历程BERT结构BERT 输入BERT EmbeddingBERT 模型构建BERT self-attention 层BERT self-attention 输出层BERT feed-forward 层BERT 最后的Add&NormBERT EncoderBERT 输…

c++ mysql数据库编程(linux系统)

ubuntu下mysql数据库的安装 ubuntu安装mysql&#xff08;图文详解&#xff09;-CSDN博客https://blog.csdn.net/qq_58158950/article/details/135667062?spm1001.2014.3001.5501 项目目录结构 数据库及表结构 public.h //打印错误信息 #ifndef PUBLIC_h #define PUBLIC_H…

Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥)

根据我的经验 部署Gitlab&#xff08;社区版&#xff09; 至少需要2核4g的服务器 带宽3~4M 1. 在自己电脑上安装终端&#xff1a;宝塔ssl终端 或者 FinalShell&#xff0c;根据喜好安装即可 http://www.hostbuf.com/t/988.html http://www.hostbuf.com/downloads/finalshell_w…