DNS(二)

news2025/3/13 21:13:29

实现 Internet DNS 架构

架构图

实验环境

关闭SELinux、Firewalld。时间保持一致

主机名IP角色
client192.168.28.146DNS客户端,DNS地址为192.168.28.145
localdns192.168.28.145本地DNS服务器(只缓存)
forward192.168.28.144转发目标DNS服务器
rootdns192.168.28.141根DNS服务器
comdns192.168.28.143com域DNS服务器
master192.168.28.158wenzi.com域的主DNS服务器
slave192.168.28.156wenzi.com域的从DNS服务器
web192.168.28.159www.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       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; 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       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; 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       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

        IN NS   master
com     IN NS   comdns

master  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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TARJAN复习 求强连通分量、割点、桥

TARJAN复习 求强连通分量、割点、桥 文章目录 TARJAN复习 求强连通分量、割点、桥强连通分量缩点桥割点 感觉之前写的不好&#xff0c; 再水一篇博客 强连通分量 “有向图强连通分量&#xff1a;在有向图G中&#xff0c;如果两个顶点vi,vj间&#xff08;vi>vj&#xff09;有…

【vue】vue实现海康ws协议的实时监控播放:

文章目录 一、效果图&#xff1a;二、实现过程&#xff1a;【1】官网下载h5player.js&#xff1a;【2】引入h5player.min.js&#xff1a;【3】使用&#xff1a; 一、效果图&#xff1a; 二、实现过程&#xff1a; 【1】官网下载h5player.js&#xff1a; 【H5视频播放器开发包】…

Linux shell编程学习笔记13:文件测试运算

Linux Shell 脚本编程和其他编程语言一样&#xff0c;支持算数、关系、布尔、逻辑、字符串、文件测试等多种运算。前面几节我们依次研究了 Linux shell编程 中的 字符串运算、算术运算、关系运算、布尔运算 和 逻辑运算&#xff0c;今天我们来研究 Linux shell编程中的文件测…

PowerShell批量修改DNS域名解析

批量添加DNS A记录 $dnsServerName"" # DNS服务器的服务器名称&#xff0c;如果是在DNS服务器本机执行则可留空 $containerName"test.com" # 域名的后缀也就是DNS Zone Name $mydns[WMIClass]"ROOT\MicrosoftDNS:MicrosoftDNS_resourceRecord"…

yarn : 无法加载文件 C:\Program Files\nodejs\yarn.ps1

问题描述&#xff1a; 问题分析&#xff1a; 这个错误提示说明在电脑系统上禁止运行 PowerShell 脚本&#xff0c;因此导致无法加载 Yarn 的安装脚本。这是由于系统的执行策略&#xff08;Execution Policies&#xff09;设置所导致的。 解决方法&#xff1a; 1. 以管理员身…

关于6轴球腕机械臂的肩部奇异描述纠正

对于常见的球腕6轴机械臂构型&#xff0c;在大多数资料中奇异点描述如下&#xff1a; 肩部奇异点&#xff08;Shoulder singularity&#xff09;&#xff1a; 肩部奇异点是在机器人手腕的中心与J1轴关节在同一条直线上时发生。这种情况下&#xff0c;会导致关节轴1和4试图瞬间旋…

【Java-框架-SpringMVC】(01) SpringMVC框架的简单创建与使用,快速上手 - 简易版

前言 【描述】 "SpringMVC"框架的简单创建与使用&#xff0c;快速上手&#xff1b; 【环境】 系统"Windows"&#xff0c;软件"IntelliJ IDEA 2021.1.3(Ultimate Edition)"&#xff1b;“Java版本"1.8.0_202”&#xff0c;“Spring"版…

【Machine Learning】02-Advanced Learning Algorithms

02-Advanced Learning Algorithms 2. Advanced Learning Algorithms2.1 Neural Network2.1.1 概述2.1.2 Neural network model2.1.3 TensorFlow的实现2.1.4 Neural network implementation in Python2.1.5 强人工智能&#xff08;AGI&#xff09; 2.2 Vectorization2.2.1 矩阵使…

Hadoop分布式文件系统-HDFS

1.介绍 HDFS (Hadoop Distributed File System)是 Hadoop 下的分布式文件系统,具有高容错、高吞吐量等特性,可以部署在低成本的硬件上。 2.HDFS 设计原理 2.1 HDFS 架构 HDFS 遵循主/从架构,由单个 NameNode(NN) 和多个 DataNode(DN) 组成:

keep-alive 是 Vue 的一个内置组件,用于缓存其他组件的实例,以避免重复渲染和销毁,它可以在需要频繁切换的组件之间提供性能优化

目录 keep-alive 使用 keep-alive 的示例代码&#xff1a; 手动清除组件缓存的示例代码&#xff1a; keep-alive 组件有以下几个优点&#xff1a; keep-alive 的原理&#xff1a; 使用 keep-alive 组件&#xff0c;你可以包裹需要缓存的组件&#xff0c;然后这些组件在切…

基于Springboot实现在线答疑平台系统项目【项目源码+论文说明】

基于Springboot实现在线答疑平台系统演示 摘要 社会的发展和科学技术的进步&#xff0c;互联网技术越来越受欢迎。网络计算机的生活方式逐渐受到广大师生的喜爱&#xff0c;也逐渐进入了每个学生的使用。互联网具有便利性&#xff0c;速度快&#xff0c;效率高&#xff0c;成本…

Brew包的基本安装(手把手教学)

大家在使用mac或者linux系统的过程中&#xff0c;大致了解Homebrew的用处&#xff0c;不多说直接进入正题 相信大家已经看到了Homebrew官网的安装介绍了&#xff0c;我们依然使用终端&#xff08;不去下载应用过于麻烦&#xff09; 一、开始安装 在按照官网安装时发现会安装失…

Linux常见基本指令合集及其效果展示

Linux基本命令 文章目录 Linux基本命令1. whoami2. who3. clear4. pwd5. 查看文件信息5.0 什么是文件5.1 ls5.2 ls -l5.3 ls -a5.4 ls -a -l 6. 补充知识&#xff1a;对于Linux系统目录的认知6.1 什么是路径 7. cd8. touch9. mkdir10. rmdir11. rm12. man13. cp14. mv15. nano1…

(Python) Python中三种时间格式的转换方法

1. 时间元组 1.1. 时间元组和时间戳的互相转化 import time,datetime # 获取当前时间的时间元组 t time.localtime() print(t) # 时间元组转时间戳 timestamp time.mktime(t) print(timestamp) # time.struct_time(tm_year2019, tm_mon10, tm_mday23, tm_hour23, tm_min15,…

clion 此文件不属于任何项目目标

如果你已经尝试了所有办法都不行&#xff0c;那就试试这个&#xff0c;不需要重启ide&#xff0c;啥都不用干。版本clion 2023.2.2

华为OD机考算法题:评论转换输出

题目部分 题目评论转换输出难度难题目说明在一个博客网站上&#xff0c;每篇博客都有评论。每一条评论都是一个非空英文字母字符串。评论具有树状结构&#xff0c;除了根评论外&#xff0c;每个评论都有一个父评论。当评论保存时&#xff0c;使用以下格式&#xff1a; 首先是评…

24届好未来数开笔试

目录 选择、多选SQL题目描述输入 目标解答解析 题目分享 选择、多选 Java, int x 1, float y 2, x/y 0.5 2. Hive 的数据结构 基本数据类型 复合数据类型 text 不是 Hive 内外表 建表时如果不显示声明表的类型为 外表 Kafka 通过&#xff08;&#xff09;避免任务重复执行…

利用QT通过http协议,来实现上传文件功能

#假如你有一台服务器&#xff0c;你最想做哪些事&#xff1f;# 大体上的软件界面如下&#xff1a; 主要阐述一哈写的这个软件实现的功能&#xff1a; 通过名称找到指定的文件&#xff0c;并且将文件按照后缀名的格式进行分开&#xff0c;最后再将所有找到的文件&#xff0c;进…

Vue3-属性绑定、定时任务

1.Vue3-属性绑定 2.定时任务 1.Vue3-属性绑定 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><!-- vue.js --><script src"https://unpkg.com/vue3/dist/vue.gl…

android开源投屏工具scrcpy简介

目录 一&#xff0c;初识scrcpy 1.1 scrcpy介绍 1.2 scrcpy特点 二&#xff0c;scrcpy指令说明 2.1 画面设置 2.1.1 缩小分辨率 2.1.2 修改画面比特率 2.1.3 限制画面帧率 2.1.4 画面裁剪 2.1.5 锁定屏幕朝向 2.2 屏幕录制 2.3 连接方式 2.3.1 无线 2.3.2 多设备…