DNS(二)
实现 Internet DNS 架构
架构图

实验环境
关闭SELinux、Firewalld。时间保持一致
| 主机名 | IP | 角色 | 
| client | 192.168.28.146 | DNS客户端,DNS地址为192.168.28.145 | 
| localdns | 192.168.28.145 | 本地DNS服务器(只缓存) | 
| forward | 192.168.28.144 | 转发目标DNS服务器 | 
| rootdns | 192.168.28.141 | 根DNS服务器 | 
| comdns | 192.168.28.143 | com域DNS服务器 | 
| master | 192.168.28.158 | wenzi.com域的主DNS服务器 | 
| slave | 192.168.28.156 | wenzi.com域的从DNS服务器 | 
| web | 192.168.28.159 | www.wenzi.com的web服务器 | 
一、配置设备网络
将DNS客户端的dns指向本地DNS服务器(只缓存)
[root@client ~]# nmcli con mod "System ens33" ipv4.address 192.168.28.146/24 ipv4.method manual ipv4.gateway 192.168.28.2 ipv4.dns 192.168.28.145
[root@client ~]# nmcli con reload
[root@client ~]# nmcli con up "System ens33"
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
[root@client ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.28.145 
二、实现web服务
[root@web ~]# yum -y install httpd && systemctl enable --now httpd && echo 'This is www.wenzi.com' > /var/www/html/index.html 
三、实现wenzi.com域的主DNS服务器
修改配置文件
[root@master ~]# vim /etc/named.conf
options {listen-on port 53 { 127.0.0.1; localhost; };    监听端口范围
...allow-query     { localhost; 192.168.28.0/24; };    允许查询范围allow-transfer  { 192.168.28.156; };    允许区域传输范围,即从DNS
...
 
定义 wenzi.com 区域
[root@master ~]# vim /etc/named.rfc1912.zones
zone "wenzi.com" IN {type master;file "wenzi.com.zone";
};
... 
编译wenzi.com.zone文件
[root@master ~]# cd /var/named/
[root@master named]# ll
total 16
drwxrwx--- 2 named named   23 Oct 17 21:43 data
drwxrwx--- 2 named named   60 Oct 17 21:52 dynamic
-rw-r----- 1 root  named 2253 Aug 25  2021 named.ca
-rw-r----- 1 root  named  152 Aug 25  2021 named.empty
-rw-r----- 1 root  named  152 Aug 25  2021 named.localhost
-rw-r----- 1 root  named  168 Aug 25  2021 named.loopback
drwxrwx--- 2 named named    6 Aug 25  2021 slaves
[root@master named]# cp -a named.localhost wenzi.com.zone
[root@master named]# vim wenzi.com.zone
$TTL 1D
@       IN SOA  master admin.wenzi.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimum@       IN NS   master.wenzi.com.
@       IN NS   slave.wenzi.com.master  IN A    192.168.28.158
slave   IN A    192.168.28.156
www     IN A    192.168.28.159 
检查语法,重启服务
[root@master named]# named-checkconf
[root@master named]# named-checkzone wenzi.com  wenzi.com.zone
zone wenzi.com/IN: loaded serial 0
OK
[root@master named]# rndc reload
server reload successful
 
四、实现wenzi.com域的从DNS服务器
修改配置
[root@slave ~]# vim /etc/named.conf
options {listen-on port 53 { 127.0.0.1; localhost; };
...allow-query     { localhost; 192.168.28.0/24; };allow-transfer  { none; };    禁止其它设备进行区域传输
...
 
定义区域
[root@slave ~]# vim /etc/named.rfc1912.zones
zone "wenzi.com" {type slave;masters { 192.168.28.158; };file "slaves/wenzi.com.zone.slave";
};
... 
校验语法,并重启服务,发现区域文件已同步
[root@slave ~]# named-checkconf
[root@slave ~]# rndc reload
server reload successful
[root@slave ~]# ll /var/named/slaves/
total 4
-rw-r--r-- 1 named named 310 Oct 17 22:31 wenzi.com.zone.slave 
五、实现com域的主DNS服务器
修改配置
[root@comdns ~]# vim /etc/named.conf
options {listen-on port 53 { 127.0.0.1;localhost; };
...allow-query     { localhost; 192.168.28.0/24; };
... 
定义 com 区域
[root@comdns ~]# vim /etc/named.rfc1912.zones
zone "com" {type master;file "com.zone";
};
 
编写 com.zone 文件
[root@comdns ~]# cd /var/named/
[root@comdns named]# cp -a named.localhost  com.zone
$TTL 1D
@       IN SOA  master admin.wenzi.com.. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimum@       IN NS   master
wenzi   IN NS   dnservermaster    wenzi.com.的主DNS服务器
wenzi   IN NS   dnserverslave     wenzi.com.的从DNS服务器master  IN A    192.168.28.143
dnservermaster  IN A    192.168.28.158    主DNS服务器映射地址
dnserverslave   IN A    192.168.28.156    从DNS服务器映射地址
 
校验语法,并重启服务
[root@comdns named]# named-checkconf
[root@comdns named]# named-checkzone com com.zone
zone com/IN: loaded serial 0
OK
[root@comdns named]# rndc reload
server reload successful 
六、实现根域的主DNS服务器
修改配置
[root@rootdns ~]# vim /etc/named.conf
options {listen-on port 53 { 127.0.0.1; localhost;  };
...allow-query     { localhost; 192.168.28.0/24; };
... 
定义区域
[root@rootdns ~]# vim /etc/named.rfc1912.zones
zone "." IN {type master;file "root.zone";
};
 
编写区域文件
[root@rootdns named]# cp -a named.localhost root.zone
[root@rootdns named]# vim root.zone
$TTL 1D
@       IN SOA  master admin.wenzi.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumIN NS   master
com     IN NS   comdnsmaster  IN A    192.168.28.141
comdns  IN A    192.168.28.143 
校验语法,重启服务
[root@rootdns named]# named-checkconf
[root@rootdns named]# named-checkzone . root.zone
zone ./IN: loaded serial 0
OK
[root@rootdns named]# rndc reload
server reload successful 
七、实现转发目标的DNS服务器
修改配置
[root@forward ~]# vim /etc/named.conf
options {listen-on port 53 { 127.0.0.1; localhost; };
...allow-query     { localhost; 192.168.28.0/24; };
...
 
修改bind软件自带的根DNS服务器,实现将请求转发给自建DNS根服务器,而不是直接去互联网查找
[root@forward ~]# vim /var/named/named.ca
...
;; QUESTION SECTION:
;.                              IN      NS;; ANSWER SECTION:
.                       518400  IN      NS      a.root-servers.net.;; ADDITIONAL SECTION:
a.root-servers.net.     518400  IN      A       192.168.28.141
... 
校验语法,重启服务
[root@forward ~]# named-checkconf
[root@forward ~]# rndc reload
server reload successful 
八、实现本地只缓存DNS服务器
修改配置
options {listen-on port 53 { 127.0.0.1; localhost; };
...allow-query     { localhost; 192.168.28.0/24; };forward only;forwarders  { 192.168.28.144; };
...recursion yes;    启动dns递归查询dnssec-enable no;    不启用DNS安全拓展,通常关闭dnssec-validation no;    不验证dnssec数据有效性,通常关闭
...
 
检查语法,重启服务
[root@localdns ~]# named-checkconf
[root@localdns ~]# rndc reload
server reload successful 
九、客户端测试
[root@client ~]# host www.wenzi.com
www.wenzi.com has address 192.168.28.159[root@client ~]# dig www.wenzi.com; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.14 <<>> www.wenzi.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15173
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.wenzi.com.                 IN      A;; ANSWER SECTION:
www.wenzi.com.          85706   IN      A       192.168.28.159;; AUTHORITY SECTION:
wenzi.com.              85706   IN      NS      dnservermaster.com.
wenzi.com.              85706   IN      NS      dnserverslave.com.;; ADDITIONAL SECTION:
dnserverslave.com.      85706   IN      A       192.168.28.156
dnservermaster.com.     85706   IN      A       192.168.28.158;; Query time: 0 msec
;; SERVER: 192.168.28.145#53(192.168.28.145)
;; WHEN: Tue Oct 17 23:48:33 CST 2023
;; MSG SIZE  rcvd: 147[root@client ~]# curl www.wenzi.com
This is www.wenzi.com
相关文章:
DNS(二)
实现 Internet DNS 架构 架构图 实验环境 关闭SELinux、Firewalld。时间保持一致 主机名IP角色client192.168.28.146DNS客户端,DNS地址为192.168.28.145localdns192.168.28.145本地DNS服务器(只缓存)forward192.168.28.144转发目标DNS服务…...
win 10怎么录屏?教你轻松捕捉屏幕活动
在当今科技快速发展的时代,录屏已成为信息分享、教学、游戏直播等方面的重要工具。无论是为了制作教程、分享游戏过程还是保存重要信息,录屏功能都发挥着举足轻重的作用。可是很多人不知道win 10怎么录屏,本文将详细介绍win10的三种常用录屏方…...
IP 协议的相关特性(部分)
IP 协议的报文格式 4位版本号: 用来表示IP协议的版本,现有的IP协议只有两个版本,IPv4,IPv6。 4位首部长度: 设定和TCP的首部长度一样 8位服务类型: (真正只有4位才有效果)…...
Java设计模式之代表模式
代表模式(Mediator Pattern)是一种行为型设计模式,它通过封装一组对象之间的交互方式,使得这些对象之间的通信变得松散耦合,从而降低了对象之间的直接依赖关系。代表模式通过引入一个中介者(Mediator&#…...
MySQL 查询 唯一约束 对应的字段,列名称合并
MySQL 查询 唯一约束 对应的字段,列名称合并 SELECT F.DbName,F.TableName,F.ConstraintName,GROUP_CONCAT(ColumnName) ColumnName FROM ( SELECT t1.TABLE_SCHEMA DbName, t1.TABLE_NAME TableName,t1.CONSTRAINT_NAME ConstraintName,t2.COLUMN_NAME ColumnNam…...
JDBC-day05(DAO及相关实现类)
七:DAO及相关实现类 1. DAO介绍 DAO:全称Data Access Object,是数据访问对象.在java服务器开发的三层架构中分成控制层(Controller),表示层(Service),数据访问层(Dao),数据访问层专门负责跟数据库进行数据交互.,包括了对数据的CRUDÿ…...
华为汪涛:5.5G时代UBB目标网,跃升数字生产力
[阿联酋,迪拜,2023年10月12日] 在2023全球超宽带高峰论坛上,华为常务董事、ICT基础设施业务管理委员会主任汪涛发表了“5.5G时代UBB目标网,跃升数字生产力”的主题发言,分享了超宽带产业的最新思考与实践,探…...
docker部署多个node-red操作过程
docker部署多个node-red操作过程 一、docker安装教程二、docker安装node-red2.1 在线安装node-red镜像2.1.1 拉取镜像2.1.2 创建目录并分配权限 2.2 离线安装node-red镜像 三、 docker操作node-red3.1 部署node-red3.2 查看\关闭\删除容器 四、Docker删除Redis镜像五、离线安装…...
王兴投资5G小基站
边缘计算社区获悉,近期深圳佳贤通信正式完成数亿元股权融资,本轮融资由美团龙珠领投。本轮融资资金主要用于技术研发、市场拓展等,将进一步巩固和扩大佳贤通信在5G小基站领域的技术及市场领先地位。 01 佳贤通信是什么样的公司? 深…...
【SA8295P 源码分析 (一)】54 - /ifs/bin/startupmgr 程序工作流程分析 及 script.c 介绍
【SA8295P 源码分析】54 - /ifs/bin/startupmgr 程序工作流程分析 及 script.c 介绍 一、startupmgr 可执行程序工作解析1. startupmgr\src\script.c 入口 main 函数:调用 init_loader_and_launcher 解析 scripts 数组二、ifsloader镜像加载流程分析:init_loader_and_launche…...
git 使用
参考 https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%8E%B7%E5%8F%96-Git-%E4%BB%93%E5%BA%93 文件的状态变化周期 文章目录 git 基础检查当前文件状态、查看已暂存和未暂存的修改暂存前后的变化跟踪新文件提交更新移除文件移动文件、重命名操作查看提交历史撤消…...
MFC扩展库BCGControlBar Pro v33.6新版亮点 - 图形管理器改造升级
BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。 BCGControlBar专业版 v33.6已正式发布了,此版本包含了对图表组件的改进、带隐藏标签的单类功能区栏…...
云上攻防-云原生篇KubernetesK8s安全APIKubelet未授权访问容器执行
文章目录 K8S集群架构解释K8S集群攻击点-重点API Server未授权访问&kubelet未授权访问复现k8s集群环境搭建1、攻击8080端口:API Server未授权访问2、攻击6443端口:API Server未授权访问3、攻击10250端口:kubelet未授权访问 K8S集群架构解…...
Django 访问静态文件的APP staticfiles
Django 框架默认带的 APP: django.contrib.staticfiles Django文档中也写明了:如何管理静态文件(如图片、JavaScript、CSS) |姜戈 文档 |姜戈 (djangoproject.com)https://docs.djangoproject.com/zh-hans/4.2/howto/static-file…...
Airbnb 迁移 SwiftUI 实践
从 2022 年开始,Airbnb 的 iOS 团队就认为 SwiftUI 已经足够成熟,可以在他们的官方应用中使用它。但 Airbnb 的工程师 Bryn Bodayle 表示,这需要一个谨慎的转换过程。 Airbnb 的工程师认为,SwiftUI 的主要优势是它的灵活性和可组合性、声明性、简洁性和惯用性,他们希望这…...
爱胜品YPS-1133DN系列打印机与奔图P3301DN打印机耗材更换的简单对比说明
速印机(理想、荣大等)、复印机(夏普、理光、佳能、震旦等全系列)、打印机、扫描仪、传真机、多媒体教学一体机、交互式电子白板、报警器材、监控、监考设备、特种安防设备维护及维修。吴中函 某用户的爱胜品YPS-1133DN Pro、爱胜品…...
“高级小程序开发指南“
目录 引言小程序视图层小程序逻辑层及生命周期总结 引言 随着移动互联网的快速发展,小程序作为一种轻量级的应用形态,在用户使用体验和开发者便捷性方面受到了广泛关注。本篇博客将带你深入探索小程序的视图层和逻辑层,并介绍其生命周期。 …...
分类算法-逻辑回归与二分类
1、逻辑回归的应用场景 广告点击率是否为垃圾邮件是否患病金融诈骗虚假账号 看到上面的例子,我们可以发现其中的特点,那就是都属于两个类别之间的判断。逻辑回归就是解决二分类问题的利器。 2、 逻辑回归的原理 2.1 输入 逻辑回归的输入就是一个线性…...
金融液冷数据中心,噱头还是趋势?
当前,全社会数字化进程加速,金融行业已全面进入数字化和智能化时代。与此同时,随着云计算、分布式架构、大数据分析、通用人工智能等技术的广泛运用,金融行业从数据大集中到分布式融合,金融企业的数据中心建设正围绕其…...
LeetCode 高频题目分类列表
💡 LeetCode 高频面试题分类列表,总共24类,312道题目! 图 133.克隆图 207.课程表 210.课程表 II 399.除法求值 547.省份数量 684.冗余连接 743.网络延迟时间 785.判断二分图 堆 215.数组中的第K个最大元素 295.数据流的中位数 26…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
云安全与网络安全:核心区别与协同作用解析
在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...
用 FFmpeg 实现 RTMP 推流直播
RTMP(Real-Time Messaging Protocol) 是直播行业中常用的传输协议。 一般来说,直播服务商会给你: ✅ 一个 RTMP 推流地址(你推视频上去) ✅ 一个 HLS 或 FLV 拉流地址(观众观看用)…...
代理服务器-LVS的3种模式与调度算法
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 我们上一章介绍了Web服务器,其中以Nginx为主,本章我们来讲解几个代理软件:…...
数据可视化交互
目录 【实验目的】 【实验原理】 【实验环境】 【实验步骤】 一、安装 pyecharts 二、下载数据 三、实验任务 实验 1:AQI 横向对比条形图 代码说明: 运行结果: 实验 2:AQI 等级分布饼图 实验 3:多城市 AQI…...
【汇编逆向系列】四、函数调用包含单个参数之Double类型-mmword,movsd,mulsd,addsd指令,总结汇编的数据类型
一、汇编代码 上一节开始,讲到了很多debug编译独有的汇编方式,为了更好的区分release的编译器优化和debug的区别,从本章节开始将会提供debug和release的汇编用作对比 Debugb编译 single_double_param:00000000000000A0: F2 0F 11 44 24 08…...
Flask+LayUI开发手记(八):通用封面缩略图上传实现
前一节做了头像上传的程序,应该说,这个程序编写和操作都相当繁琐,实际上,头像这种缩略图在很多功能中都会用到,屏幕界面有限,绝不会给那么大空间摆开那么大一个界面,更可能的处理,就…...
