回炉重造九---DNS服务器
1、DNS服务器的相关概念和技术
1.1 DNS服务器的类型
- 主DNS服务器
- 从DNS服务器
- 缓存DNS服务器(forward DNS服务器{转发器})
1.1.1 主DNS服务器的作用
管理和维护所负责解析的域内解析库的服务器
1.1.2 从DNS服务器的作用
从主服务器或从服务器“复制”解析库副本
1.2 解析形式
- 正向解析:域名------>IP地址
- 反向解析:IP地址------->域名
1.3 各种资源记录
注意:区域解析库是由各种资源记录组成的(一般只有SOA记录、NS记录、A记录)
- SOA资源记录: SOA 记录表示此域名的权威解析服务器地址。 当要查询的域名在所有递归解析服务器中没要域名解析的缓存时,就会回源来请求此域名的SOA记录,也叫权威解析记录 。
- A记录(正向解析):把域名解析成IP
- PTR(反向解析):把IP解析成域名
- NS:name server,用于标明当前区域的DNS服务器
2.DNS的相关配置
(DNS服务器软件:bind,powerdns,dnsmasq,coredns,unbund**)
1.1 bind安装包相关文件
- BIND主程序:/usr/sbin/named
- 服务脚本和Unit名称:/etc/rc.d/init.d/named,/usr/lib/systemd/system/named.service
- 主配置文件:/etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key
- 管理工具:/usr/sbin/rndc:remote name domain controller,默认与bind安装在同一主机,且
只能通过127.0.0.1连接named进程,提供辅助性的管理功能;953/tcp - 解析库文件:/var/named/ZONE_NAME.ZONE
注意:
(1) 一台物理服务器可同时为多个区域提供解析
(2) 必须要有根区域文件;named.ca
(3) 应该有两个(如果包括ipv6的,应该更多)实现localhost和本地回环地址的解析库
1.3 相关命令
1.3.1 相关文件检查的命令
1、主配置文件语法检查
named-checkconf
2、解析库文件语法检查
named-checkzone “域名” 区域解析文件
3、使DNS配置文件生效
(1)rndc reload
(2)systemctl reload named
(3)service named reload
4、测试和管理
(1)dig
(2)nslookup
1.3.2 测试和管理的命令—rndc
rndc COMMAND
COMMAND:status: 查看状态
reload: 重载主配置文件和区域解析库文件
reload zonename: 重载区域解析库文件
retransfer zonename: 手动启动区域传送,而不管序列号是否增加
notify zonename: 重新对区域传送发通知
reconfig: 重载主配置文件
querylog: 开启或关闭查询日志文件/var/log/message
trace: 递增debug一个级别
trace LEVEL: 指定使用的级别
notrace:将调试级别设置为 0
flush:清空DNS服务器的所有缓存记录
2、DNS的相关案例
2.1 DNS正向域名解析
服务器名称 | IP地址 |
---|---|
dns-server | 172.17.8.101 |
web-server | 172.17.8.102 |
clint | 172.17.8.103 |
(1)环境初始化
1、关闭防火墙和selinux
2、时间同步
(2)DNS服务器的配置
1、安装dns服务(安装bind包)
yum -y install bind bind-utils
2、修改named的配置文件
vim /etc/named.conf
#注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
allow-transfer { none;};
3、创建dns区域解析库文件
vim /etc/named.rfc1912.zones
zone "qiange.com" {type master;file "qiange.com.zone";
};
4、配置区域解析库
cp -a /var/named/named.localhost /var/named/qiange.com.zone
#如果没有-a,需要改权限。chgrp named wang.org.zone
vim /var/named/qiange.com.zone
@ IN SOA qiange.com admin.wang.org. (2019042214 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum@ NS ns.qiange.comns.qiange.com A 172.17.8.101www A 172.17.8.1025、检查配置文件和域名解析库文件是否有错
named-checkconf
named-checkzone qiange.com /var/named/qiange.com.zone6、启动服务
systemctl start named #第一次启动服务
rndc reload #不是第一次启动服务
(3)web服务器的配置
(1)安装http服务
yum -y install httpd
(2)配置主页面
echo www.wang.org > /var/www/html/index.html
(3)启动服务
systemctl start httpd
(4)客户端的配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=172.17.8.101
#有以下记录,算是成功
cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 172.17.8.101
#测试网页,能显示就是成功
curl www.wang.org
2.2 DNS主从搭建
服务器名称 | IP地址 |
---|---|
master-dns | 172.17.8.10 |
salve-dns | 172.17.8.11 |
web-server | 172.17.8.13 |
client | 172.17.8.12 |
(1)主DNS的配置
[root@dns-master ~]# yum -y install bind bind-utils
[root@dns-master ~]# vim /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; #注释listen-on-v6 port 53 { ::1; };directory "/var/named";dump-file "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";recursing-file "/var/named/data/named.recursing";secroots-file "/var/named/data/named.secroots";
// allow-query { localhost; }; #注释allow-transfer { 172.17.8.11; #配置从DNS的IP }; #只允许从服务器进行区域传输
[root@dns-master ~]# vim /etc/named.rfc1912.zones
zone "qiange.com" IN {type master;file "qiange.com.zone";
};
[root@dns-master ~]# cp -a /var/named/named.localhost /var/named/qiange.com.zone
[root@dns-master named]# cat qiange.com.zone
$TTL 1D
@ IN SOA ns.qiange.com admin.qiange.com. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum
@ NS master.qiange.com.
@ NS salve.qiange.com.master A 172.17.8.10
salve A 172.17.8.11
www A 172.17.8.12
[root@dns-master ~]#named-checkconf
[root@dns-master ~]#named-checkzone qiange.com /var/named/qiange.com.zone
[root@dns-master ~]#systemctl start named
(2)从DNS的配置
[root@dns-salve ~]#yum -y install bind bind-utils
[root@dns-salve ~]#vim /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; #注释listen-on-v6 port 53 { ::1; };
// allow-query { localhost; }; #注释allow-transfer { none; }; #不允许其他主机进行区域传输[root@dns-salve ~]#vim /etc/named.rfc1912.zoneszone "qiange.com" IN {type slave; #服务器的类型masters { 172.17.8.10;}; #主服务器的IPfile "slaves/qiange.com.slave"; #注意:存放从主服务器节点同步过来的区域解析文件的路径不能写错};[root@dns-salve ~]#systemctl start named[root@dns-salve slaves]# ll qiange.com.slave #看此文件是否生成
-rw-r--r-- 1 named named 326 4月 21 15:41 qiange.com.slave
(3)web-server的配置
(1)安装http服务
[root@web-server ~]#yum -y install httpd
(2)配置主页面
[root@web-server ~]#echo hello > /var/www/html/index.html
(3)启动服务
[root@web-server ~]#systemctl start httpd
(4)客户端配置
[root@client ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=172.17.8.10
DNS2=172.17.8.11#测试
[root@client ~]# curl www.qiange.com
hello
[root@client ~]# nslookup www.qiange.com
Server: 172.17.8.10
Address: 172.17.8.10#53Name: www.qiange.com
Address: 172.17.8.12#关闭主DNS服务
[root@client ~]# nslookup www.qiange.com
Server: 172.17.8.11
Address: 172.17.8.11#53Name: www.qiange.com
Address: 172.17.8.12
实验报错总结
(1)存放从主服务器节点同步过来的区域解析文件的路径不能写错,报错显示没有读到区域解析库文件
(2)用named-checkzone qiange.com /var/named/qiange.com.zone检测出区域文件格式有错
2.3 实现DNS父域和子域服务
服务器的名称 | IP地址 |
---|---|
dns-qiange | 172.17.8.10 |
dns-nj | 172.17.8.11 |
web-server1 | 172.17.8.100 |
web-server2 | 172.17.8.110 |
client | 172.17.8.6 |
(1)172.17.8.10 父域DNS的配置
yum install bind -y
vim /etc/named.conf
#注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
#只允许从服务器进行区域传输
allow-transfer { 172.17.8.11;};
#建议关闭加密验证
dnssec-enable no;
dnssec-validation no;
vim /etc/named.rfc1912.zones
#加上这段
zone "qiange.com" {type master;file "qiange.com.zone";
};
cp -p /var/named/named.localhost /var/named/qiange.com.zone
#如果没有-p,需要改权限。chgrp named wang.org.zone
vim /var/named/wang.org.zone
$TTL 1D
@ IN SOA qiange.com admin.qiange.com. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum@ NS qiangenj NS nj
qiange A 172.17.8.10
nj A 172.17.8.11
www A 172.17.8.100
systemctl start named #第一次启动服务
rndc reload #不是第一次启动服务
(2)172.17.8.11 子域DNS的配置
yum install bind -y
vim /etc/named.conf
#注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
allow-transfer { none;};
vim /etc/named.rfc1912.zones
zone "nj.qiange.com" {type master;file "nj.qiange.com.zone";
};
cp -p /var/named/named.localhost /var/named/nj.qiange.com.zone
#如果没有-p,需要改权限。chgrp named wang.org.zone
vim /var/named/nj.qiange.com.zone
$TTL 1D
@ IN SOA master admin.wang.org. (2019042214 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumNS njnj A 172.17.8.11www A 172.17.8.110
systemctl start named #第一次启动服务
rndc reload #不是第一次启动服务
named wang.org.zone
vim /var/named/nj.qiange.com.zone
$TTL 1D
@ IN SOA master admin.wang.org. (
2019042214 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS nj
nj A 172.17.8.11
www A 172.17.8.110
systemctl start named #第一次启动服务
rndc reload #不是第一次启动服务
相关文章:

回炉重造九---DNS服务器
1、DNS服务器的相关概念和技术 1.1 DNS服务器的类型 主DNS服务器从DNS服务器缓存DNS服务器(forward DNS服务器{转发器}) 1.1.1 主DNS服务器的作用 管理和维护所负责解析的域内解析库的服务器1.1.2 从DNS服务器的作用 从主服务器或从服务器“复制”解…...

UE4/5多人游戏详解(七、自定义委托,实现寻找会话和加入会话的函数,通过Steam进行两台电脑的联机)
目录 可能出现问题(在六部分的测试可能无法连接的问题【在末尾加上了,怕有人没看见在这里写一下】) 自定义委托 调整位置 创建更多的委托和回调函数给菜单: 多播和动态多播 代码: 委托变量 代码: 回…...

【数据库多表操作】sql语句基础及进阶
常用数据库: 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它是长期存储在计算机内、有组织、有结构的数据集合。数据库是信息系统的核心部分,现代软件系统中大量采用了数据库管理系统(DBM…...
DPDK和RDMA的区别
网络的发展好像在各方面都是滞后于计算和存储,时延方面也不例外,网络传输时延高,逐渐成为了数据中心高性能的瓶颈。因为传统两个节点间传输数据的网络路径上有大量的内存拷贝,导致网络传输效率低下,网络数据包的收发处…...

体验 Google Bard
环境 windows 10 64bitGoogle Bardpython 3.8 简介 本篇介绍一个开源的 Google 聊天机器人Bard 的 API 逆向工程,使用它,可以免费的使用 Bard 服务,项目地址:https://github.com/acheong08/Bard 安装及使用 通过 pip 来安装 pip &…...

MITA触摸屏维修WP4053米塔工控机控制屏维修
MITA-TEKNIK米塔触摸屏维修工控机工控屏控制器维修DISPLAY 2COM全系列型号 Mita-Teknik触摸屏维修常见故障:上电无显示,运行报故障,无法与电脑通讯,触摸无反应,触控板破裂,触摸玻璃,上电黑屏&a…...

Nacos简介 安装 配置
简介 什么是注册中心 注册中心在微服务项目中扮演着非常重要的角色,是微服务架构中的纽带,类似于通讯录,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,…...

五、MyBatis各种查询功能
MyBatis的各种查询功能 如果查询出的数据只有一条,可以通过 实体类对象接收List集合接收Map集合接收 如果查询出的数据有多条,一定不能用实体对象接收,会抛TooManyResultsException,可以通过 实体类类型的List集合接收Map类型…...
uni-app——picker组件的用法、时间、日期、地区选择器等
1、uniapp–picker组件 <template><view class"signUp"><view class"signUp_dv1"><u-form :model"form" ref"uForm" label-width"95px"><u-form-item label"日期" :required"tr…...
什么情况需要考虑 mysql 分表
最近看到公司的其中一个数据库用户表每个月都要几百万的新用户数据增加,目前单表已经是两千多万了。所以找了 DBA 讨论,发现以前学的知识,以及网上的一些资料其实说的并不是很正确,比如 mysql 单表不建议超过一千万,我…...
系统架构师02-架构设计 20分
1.架构基本概念 *质量属性效用树:是对系统质量属性进行识别和优先级排序的重要工具 。 包括: 性能:效率指标,处理任务所需时间或单位时间内的处理量。 可用性: 可靠性: 容错:出现错误后人能保…...

【python视图3】networkx图操作示例
一、说明 根据定义,图是节点(顶点)以及已识别的节点对(称为边、链接等)的集合。在 NetworkX 中,节点可以是任何可哈希对象,例如文本字符串、图像、XML 对象、另一个图形、自定义节点对象等。 如…...

网络地址转换应用
如图所示,企业使用一台AR 路由器作为出口设备,路由器配置NAT Outbound为私网用户提供访问Internet服务,同时配置NAT Server将私网WEB服务器发布到公网上,对外网用户提供服务。运营商仅为该单位分配了一个公网IP,此地址既作为AR出接口的IP地址,也作为NAT Outbound和NAT Se…...
强化学习-Double DQN、竞争网络结构和Rainbow(第4章)
来源书籍: TENSORFLOW REINFORCEMENT LEARNING QUICK START GUIDE 《TensorFlow强化学习快速入门指南-使用Python动手搭建自学习的智能体》 著者:[美]考希克巴拉克里希南(Kaushik Balakrishnan) 译者:赵卫东 出版…...
Unity 性能优化锦集
Unity作为一款主流的游戏开发引擎,不仅提供了强大的编辑器和开发工具,还可以让开发者轻松地实现高质量的3D游戏。但是,随着游戏规模的不断扩大和玩家需求的增加,游戏的性能问题也变得越来越重要。因此,在使用Unity进行…...

JS之Map的基本使用
一、Map的基本API 创建: const map new Map()插入:map.set("name", "郑建")读取:map.get("name")判断:map.has("name")删除:map.delete大小:map.size遍历&#…...

音视频八股文(6)-- ffmpeg大体介绍和内存模型
播放器框架 常用音视频术语 • 容器/文件(Conainer/File):即特定格式的多媒体文件, 比如mp4、flv、mkv等。 • 媒体流(Stream):表示时间轴上的一段连续数据,如一 段声音…...

4.25~~~~~
接着之前PE文件结构的预习 DOS 定位到NT 怎么操作的? 用的是e_lfanew,然后是相对于文件头的偏移量(也就是raw表示方法) 现在有个问题,为什么e_lfanew 这个变量不直接存储PE头 的绝对地址呢? 比如说&…...

Android 9.0 系统设置显示主菜单添加屏幕旋转菜单实现旋转屏幕功能
1.前言 在android9.0的系统rom定制化开发中,在对系统设置进行定制开发中,有产品需求要求增加旋转屏幕功能的菜单,就是在点击旋转屏幕菜单后弹窗显示旋转0度,旋转 90度,旋转180度,旋转270度针对不同分辨率的无重力感应的大屏设备的屏幕旋转功能的实现,接下来就来分析实现…...
Python数据结构与算法-欧几里算法(p95)
一、欧几里算法原理 欧几里得公式 欧几里得算法:gcd(a,b) gcd(b, a mod b) ; mod是指模,即a/b取余数。 运算示例: gcd(60,21) gcd(21,18) gcd(18,3)gcd(3,0) 证明略 最大公约数-欧几里得求解 (…...

VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...