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

DNS服务实验

该文章将介绍DNS服务的正向和反向解析实验主从实验转发服务器实验以及Web解析实验

正向解析实验:将域名解析为对应的IP地址

反向解析实验:将IP地址解析为对应的域名

主从实验:主服务器区域数据文件发送给从服务器,从服务器通过区域传输(Zone Transfer)机制从服务器获取最新的数据

转发服务器实验:接收客户端的请求,并将这些请求转发到指定的目标服务器

Web解析实验:通过配置DNS服务器,将域名解析为对应的Web服务器IP地址,实现用户通过域名访问Web服务的过程

本篇文章目录

安装软件包(准备工作)

实验部分

正向解析实验

反向解析实验

主从实验

转发服务器实验

Web解析实验


安装软件包(准备工作)

[root@Jian ~]# dnf install bind -y

安装后,该软件包有个配置文件/etc/named.conf

查看该配置文件的相关信息

[root@Jian ~]# ll /etc/named.conf

-rw-r-----. 1 root named 1722 Sep 20  2023 /etc/named.conf

查看named服务的运行状态

[root@Jian ~]# systemctl status named

○ named.service - Berkeley Internet Name Domain (DNS)

     Loaded: loaded (/usr/lib/systemd/system/named.service; disabled; preset: disabled)

     Active: inactive (dead)

注意:该配置文件名称和软件不一样,服务名称和软件也不一样

查看配置文件里面的内容

[root@Jian ~]# vim /etc/named.conf

option里重要的是listen-on和directory

把zone留下,剩下的东西如下所示

options {listen-on port 53 { 127.0.0.1; };directory       "/var/named";
};
zone "." IN {type hint;file "named.ca";
};

options  选项

DNS服务默认的端口——UDP53号端口(本地的IP地址)

注意:IP地址是对外提供服务的IP,127.0.0.1是一个环回地址只能在本机进行使用

directory定义了一个目录,用于保存正向解析文件和反向解析文件

zone区域,例如:zhangsan.com

.         根

type   该区域的类型

file     解析的文件

解析文件named.ca

“.”的字段是区域/主机名,红色显示字段的是超时时间,IN字段是关键字,NS(nameserver),“名称服务器”“DNS服务器”,NS字段是记录类型,最后一个字段是纯正的主机名

实验部分

正向解析实验

配置文件书写

[root@Jian ~]# vim /etc/named.conf

[root@Jian ~]# cat /etc/named.conf

options {listen-on port 53 { 192.168.72.136; };directory      "/var/named";
};
zone "." IN {type hint;file "named.ca";
};
zone "haha.com" IN {type master;file "named.haha";
};

主服务器:master

从服务器:slave

注意:文件名可以随便写,但是最后在目录底下应该有对应的文件

在DNS服务器上配置正向解析区域文件

1D         变量表示一天的意思

@          引用区域“haha.com”

SOA       起始授权记录  定义一个区域的授权信息

[root@Jian ~]# cd /var/named

[root@Jian named]# vim named.haha

[root@Jian named]# cat named.haha

$TTL 1D@ IN SOA @ admin.haha.com.(01111)IN    NS     ns.haha.com.IN    MX     10 mail.haha.com.
ns     IN    A      192.168.72.136
mail   IN    A      192.168.72.141
www    IN    A      192.168.72.142
ftp    IN    CNAME  www

重启服务

[root@Jian named]# systemctl restart named

正向解析

[root@Jian named]# dig -t NS haha.com @192.168.72.136

[root@Jian named]# dig -t MX haha.com @192.168.72.136

[root@Jian named]# dig -t A www.haha.com @192.168.72.136

[root@Jian named]# dig -t CNAME ftp.haha.com @192.168.72.136

反向解析实验

配置文件书写

[root@Jian named]# vim /etc/named.conf

[root@Jian named]# cat /etc/named.conf

options {listen-on port 53 { 192.168.72.136; };directory      "/var/named";
};
zone "." IN {type hint;file "named.ca";
};
zone "haha.com" IN {type master;file "named.haha";
};
zone "72.168.192.in-addr.arpa" IN {type master;file "named.fanxiang";
};

在DNS服务器上配置反向解析区域文件

[root@Jian named]# vim /var/named/named.fanxiang

[root@Jian named]# cat /var/named/named.fanxiang

$TTL 1D@ IN SOA @ admin.haha.com.(01111)IN    NS    ns.haha.com.IN    MX    10 mail.haha.com.
ns     IN    A     192.168.72.136
136    IN    PTR   ns.haha.com.
141    IN    PTR   mail.haha.com.
142    IN    PTR   www.haha.com.
142    IN    PTR   ftp.haha.com.

重启服务

[root@Jian named]# systemctl restart named

反向解析

[root@Jian named]# dig -x 192.168.72.136 @192.168.72.136

[root@Jian named]# dig -x 192.168.72.141 @192.168.72.136

[root@Jian named]# dig -x 192.168.72.142 @192.168.72.136

主从实验

主:关闭防火墙

[root@master ~]# systemctl stop firewalld

加上日志:[root@master ~]# tail -f /var/log/messages

从设备:

[root@slave ~]# vim /etc/named.conf

[root@slave ~]# cat /etc/named.conf

options {listen-on port 53 { 192.168.72.135; };directory      "/var/named";
};
zone "haha.com" IN {type slave;masters { 192.168.72.136; };file "slaves/named.haha";
};
zone "72.168.192.in-addr.arpa" IN {type slave;masters { 192.168.72.136; };file "slaves/named.fanxiang";
};

重启服务

[root@slave ~]# systemctl restart named

主上面能够显示日志

从机上面多出一些相应的文件

[root@slave ~]# ll /var/named/slaves/

total 8

-rw-r--r--. 1 named named 521 Apr 23 17:10 named.fanxiang

-rw-r--r--. 1 named named 366 Apr 23 17:10 named.haha

注意:从服务器的这两个文件是不可以自己去编辑,所以服务器防止这样做会将其加密

[root@slave ~]# vim /var/named/slaves/named.haha

将从的防火墙关闭,主机可以对其进行解析操作

[root@slave ~]# systemctl stop firewalld

[root@master ~]# dig -t A mail.haha.com @192.168.72.135

注意:主从复制使用的是TCP协议,没有使用UDP传数据

转发服务器实验

需求:135不对外提供查询服务,所有的请求全部传给136

[root@slave ~]# vim /etc/named.conf

[root@slave ~]# cat /etc/named.conf

options {listen-on port 53 { 192.168.72.135; };forward only;forwarders { 192.168.72.136; };directory   "/var/named/";
};

重启服务[root@slave ~]# systemctl restart named

解析:

通过解析可以判断是否能够转发成功

[root@slave ~]# dig -t A www.haha.com @192.168.72.135

[root@slave ~]# dig -t NS haha.com @192.168.72.135

Web解析实验

添加一个192.168.72.142的地址

[root@master ~]# nmcli connection modify ens160 +ipv4.addresses 192.168.72.142/24

[root@master ~]# nmcli connection up ens160

Connection successfully activated (D-Bus active path:/org/freedesktop/NetworkManager/ActiveConnection/3)

开启Nginx服务写入显示内容

[root@master ~]# systemctl start nginx

[root@master ~]# cd /usr/share/nginx/html/

[root@master html]# echo hello > index.html

[root@master html]# curl localhost

hello

[root@master html]# curl 192.168.72.142

hello

通过地址访问页面会失败

[root@master html]# curl www.haha.com

添加DNS服务网址

[root@master ~]# nmcli connection modify ens160 ipv4.dns 192.168.72.135

[root@master ~]# nmcli connection up ens160

[root@master html]# nmcli connection show ens160 | grep DNS

现在就能通过网址访问内容

[root@master html]# curl www.haha.com

hello                   #访问成功

相关文章:

DNS服务实验

该文章将介绍DNS服务的正向和反向解析实验、主从实验、转发服务器实验以及Web解析实验 正向解析实验:将域名解析为对应的IP地址 反向解析实验:将IP地址解析为对应的域名 主从实验:主服务器区域数据文件发送给从服务器,从服务器…...

visual studio 2015 安装闪退问题

参考链接: VS2012安装时启动界面一闪而过问题解决办法 visual studio 2015 安装闪退问题...

C语言复习--动态内存管理

下面我们来看C语言中的动态内存管理,在之后的数据结构中会运用到C语言中的指针,结构体和动态内存管理,所以这部分还是比较重要的.下面进入正题. 为什么要有动态内存分配 但是上面的两种方式开辟的内存的大小都是固定的.数组也是,在数组开辟之前一定要确定好数组大小,并且数组开…...

Python实例题:Python协程详解公开课

目录 Python实例题 题目 课程目标 课程内容规划 1. 课程开场(5 分钟) 2. 基础概念讲解(15 分钟) 并发与并行: 线程与进程: 3. Python 协程的实现方式(20 分钟) 生成器实现…...

青藏高原七大河流源区径流深、蒸散发数据集(TPRED)

时间分辨率 月空间分辨率 1km - 10km共享方式 开放获取数据大小 83.27 MB数据时间范围 1998-07-01 — 2017-12-31元数据更新时间 2024-07-22 数据集摘要 通过构建耦合积雪、冻土、冰川等冰冻圈水文物理过程的WEB-DHM模型(Water and Energy Budget-based Distribute…...

[学习]RTKLib详解:rtksvr.c与streamsvr.c

本文是 RTKLlib详解 系列文章的一篇,目前该系列文章还在持续总结写作中,以发表的如下,有兴趣的可以翻阅。 [学习] RTKlib详解:功能、工具与源码结构解析 [学习]RTKLib详解:pntpos.c与postpos.c [学习]RTKLib详解&…...

Docker使用小结

概念 镜像( Image ) :相当于一个 root 文件系统;镜像构建时,分层存储、层层构建;容器( Container ) :镜像是静态的定义,容器是镜像运行时的实体;…...

串口屏调试 1.0

http://wiki.tjc1688.com 先把商家的链接贴过来 淘晶驰T1系列3.2寸串口屏tft液晶屏显示屏HMI触摸屏超12864液晶屏 这是主包的型号 打开这个玩意 有十个基本的功能区 新建工程 在界面的右边,指令一定要写在page前面,这里的波特率等等什么的都可以…...

windows 环境下 python环境安装与配置

运行环境安装 第一步安装包下载 python开发工具安装包下载官网: https://www.python.org/ 根据自己的实际需求选择。 这里记录了各个版本的区别和差异。根据区别和差异选择适合自己的版本。 Windows Installer和Windows embeddable package是两种不同的软件包类…...

浅谈装饰模式

一、前言 hello大家好,本次打算简单聊一下装饰者模式,其实写有关设计模式的内容还是蛮有挑战性的,首先呢就是小永哥实力有限担心说不明白,其次设计模式是为了解决某些问题场景,在当前技术生态圈如此完善的情况下&#…...

LeetCode 270:在二叉搜索树中寻找最接近的值(Swift 实战解析)

文章目录 摘要描述题解答案题解代码分析示例测试及结果时间复杂度空间复杂度总结 摘要 在日常开发中,我们经常需要在一组有序的数据中快速找到最接近某个目标值的元素。LeetCode 第 270 题“Closest Binary Search Tree Value”正是这样一个问题。本文将深入解析该…...

WPF 3D图形编程核心技术解析

一、三维坐标系系统 WPF采用右手坐标系系统,空间定位遵循: X 轴 → 右 Y 轴 → 上 Z 轴 → 观察方向 X轴 \rightarrow 右\quad Y轴 \rightarrow 上\quad Z轴 \rightarrow 观察方向 X轴→右Y轴→上Z轴→观察方向 三维坐标值表示为 ( x , y , z ) (x, y,…...

分布式锁原理

1.锁是什么 一个线程拿到锁,另一个线程就拿不到,满足互斥性。 2.Redis的setnx实现 加锁后解锁,但是要先判断是否是当前线程持有的锁,只能释放本线程的锁。 先判断后释放,两步操作Lua实现原子性 3.为什么要给锁加过期…...

暗物质卯引力挂载技术

1、物体质量以及其所受到的引力约束(暗物质压力差) 自然界的所有物体,其本身都是没有质量的。我们所理解的质量,其实是物体球周空间的暗物质对物体的挤压,压力差。 对于宇宙空间中的单个星球而言,它的球周各处压力是相同的,所以,它处于平衡状态,漂浮在宇宙中。 对于星…...

实现三个采集板数据传送到一个显示屏的方案

实现三个采集板数据传送到一个显示屏的方案 要实现三个相同采集板的数据都传送到一个显示屏上,可行的方案: 方案:串行通信(推荐) 硬件连接: 使用RS485总线连接(适合较长距离)或使用…...

comfyui 如何优雅的从Hugging Face 下载模型,文件夹

如下图所示 使用git 下载整个仓库然后把需要的放到对应的位置...

通过user-agent来源判断阻止爬虫访问网站,并防止生成[ error ] NULL日志

一、TP5.0通过行为&#xff08;Behavior&#xff09;拦截爬虫并避免生成 [ error ] NULL 错误日志 1. 创建行为类&#xff08;拦截爬虫&#xff09; 在 application/common/behavior 目录下新建BlockBot.php &#xff0c;用于识别并拦截爬虫请求&#xff1a; <?php name…...

动态规划法:爬楼梯

假如你现在爬楼梯&#xff0c;需要n阶才能到达楼顶&#xff0c;每次可以爬1或2 台阶&#xff0c;你有多少中不同的方法可以爬到楼顶。 例如&#xff1a; 输入&#xff1a;n2 输出&#xff1a;2 //有两种方法可以到达楼顶&#xff0c;1阶1阶&#xff0c;2阶。 输入&…...

IBM BAW(原BPM升级版)使用教程第七讲

续前篇&#xff01; 一、团队 在 IBM Business Automation Workflow (BAW) 中&#xff0c;团队&#xff08;Team&#xff09; 是流程管理的关键部分&#xff0c;用于定义参与某个流程的用户、角色、组以及服务等。在团队配置中&#xff0c;有许多重要概念&#xff0c;特别是 …...

【论文阅读】Efficient and secure federated learning against backdoor attacks

Efficient and secure federated learning against backdoor attacks -- 高效且安全的可抵御后门攻击的联邦学习 论文来源问题背景TLDR系统及威胁模型实体威胁模型 方法展开服务器初始化本地更新本地压缩高斯噪声与自适应扰动聚合与解压缩总体算法 总结优点缺点 论文来源 名称…...

Java中的代理机制

目录 什么叫代理 静态代理 优缺点 优点&#xff1a; 缺点&#xff1a; 动态代理 JDK动态代理 核心类 JDK动态代理的实现 步骤 示例 特点 CGLIB动态代理 代理机制对比 总结 什么叫代理 代理模式是一种比较好理解的设计模式。简单来说就是我们使用代理对象来代替…...

Kotlin扩展函数提升Android开发效率

在Android开发中&#xff0c;Kotlin的扩展函数&#xff08;Extension Functions&#xff09;犹如一把神奇的瑞士军刀&#xff0c;它能显著提升代码简洁性和开发效率。以下是通过实战案例展示的扩展函数魔法手册&#xff1a; 一、扩展函数基础原理 // 给View添加渐显动画扩展 f…...

Jenkins linux安装

jenkins启动 service jenkins start 重启 service jenkins restart 停止 service jenkins stop jenkins安装 命令切换到自己的下载目录 直接用命令下载 wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.190.3-1.1.noarch.rpm 下载直接安装 rpm -ivh jenkins-2.190.3-…...

加速pip下载:永久解决网络慢问题

一文教你解决 pip 下载太慢了的问题 || 下载时因为网络不好中断下载的问题 一、找到 pip 配置文件路径 1.配置文件位置&#xff1a; Windows 系统的 pip 配置文件默认不存在&#xff0c;需要手动创建&#xff0c;路径为&#xff1a; C:\Users\你的用户名\pip\pip.ini 用户目…...

WPF 触发器 Trigger

触发器 Trigger 触发器&#xff08;Trigger&#xff09;是 WPF 中的一种机制&#xff1a; 当某个条件满足时&#xff0c;自动改变控件的某些属性&#xff0c;比如颜色、大小、透明度等。 换句话说&#xff0c;就是"如果……那么就……" 的一种规则。 常见触发器类…...

Webug4.0靶场通关笔记-靶场搭建方法(3种方法)

目录 一、虚拟机绿色版本 1. 开启phpstudy 2. 访问靶场 二、Docker版本 1.拉取镜像 2.启动镜像 三、源码安装版本 1. 搭建环境 &#xff08;1&#xff09;安装PHPStudy &#xff08;2&#xff09;WeBug4.0靶场源码 &#xff08;3&#xff09;安装Navicat &#xff…...

Python核心编程深度解析:作用域、递归与匿名函数的工程实践

引言 Python作为现代编程语言的代表&#xff0c;其作用域管理、递归算法和匿名函数机制是构建高质量代码的核心要素。本文基于Python 3.11环境&#xff0c;结合工业级开发实践&#xff0c;深入探讨变量作用域的内在逻辑、递归算法的优化策略以及匿名函数的高效应用&#xff0c…...

【Web】LACTF 2025 wp

目录 arclbroth lucky-flag whack-a-mole arclbroth 看到username为admin能拿到flag 但不能重复注册存在的用户 这题是secure-sqlite这个库的问题&#xff0c;底层用的是C&#xff0c;没处理好\0字符截断的问题 &#xff08;在 Node.js 中&#xff0c;由于其字符串表示方式…...

【日撸 Java 三百行】综合任务 1

目录 Day 10&#xff1a;综合任务 1 一、题目分析 1. 数据结构 2. 相关函数基本知识 二、模块介绍 1. 初始化与成绩矩阵的构建 2. 创建总成绩数组 3. 寻找成绩极值 三、代码与测试 小结 拓展&#xff1a;关于求极值的相关算法 Day 10&#xff1a;综合任务 1 Task&…...

yocto的每个recipe都是在工作路径中完成

Yocto项目中每个Recipe的编译过程都会将源文件解压或搬运到tmp/work/下的特定工作目录,并在此完成所有构建任务。具体流程可分为以下关键步骤: 一、源码处理阶段 源码获取(do_fetch) Recipe通过SRC_URI变量指定源码来源(如Git仓库、HTTP下载或本地文件)。这些文件会被下载…...