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…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...

Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...