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

回炉重造九---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-server172.17.8.101
web-server172.17.8.102
clint172.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主从搭建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6yb7Sziw-1682220052348)(C:%5CUsers%5CHP%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1681972969481.png)]

服务器名称IP地址
master-dns172.17.8.10
salve-dns172.17.8.11
web-server172.17.8.13
client172.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 421 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)存放从主服务器节点同步过来的区域解析文件的路径不能写错,报错显示没有读到区域解析库文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iF8HIIdQ-1682220052348)(C:%5CUsers%5CHP%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1681976554944.png)]

(2)用named-checkzone qiange.com /var/named/qiange.com.zone检测出区域文件格式有错

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8xhWAppO-1682220052349)(C:%5CUsers%5CHP%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1681978833571.png)]

2.3 实现DNS父域和子域服务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z949oBoN-1682220052349)(C:%5CUsers%5CHP%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1681979247134.png)]

服务器的名称IP地址
dns-qiange172.17.8.10
dns-nj172.17.8.11
web-server1172.17.8.100
web-server2172.17.8.110
client172.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 分表

最近看到公司的其中一个数据库用户表每个月都要几百万的新用户数据增加&#xff0c;目前单表已经是两千多万了。所以找了 DBA 讨论&#xff0c;发现以前学的知识&#xff0c;以及网上的一些资料其实说的并不是很正确&#xff0c;比如 mysql 单表不建议超过一千万&#xff0c;我…...

系统架构师02-架构设计 20分

1.架构基本概念 *质量属性效用树&#xff1a;是对系统质量属性进行识别和优先级排序的重要工具 。 包括&#xff1a; 性能&#xff1a;效率指标&#xff0c;处理任务所需时间或单位时间内的处理量。 可用性&#xff1a; 可靠性&#xff1a; 容错&#xff1a;出现错误后人能保…...

【python视图3】networkx图操作示例

一、说明 根据定义&#xff0c;图是节点&#xff08;顶点&#xff09;以及已识别的节点对&#xff08;称为边、链接等&#xff09;的集合。在 NetworkX 中&#xff0c;节点可以是任何可哈希对象&#xff0c;例如文本字符串、图像、XML 对象、另一个图形、自定义节点对象等。 如…...

网络地址转换应用

如图所示,企业使用一台AR 路由器作为出口设备,路由器配置NAT Outbound为私网用户提供访问Internet服务,同时配置NAT Server将私网WEB服务器发布到公网上,对外网用户提供服务。运营商仅为该单位分配了一个公网IP,此地址既作为AR出接口的IP地址,也作为NAT Outbound和NAT Se…...

强化学习-Double DQN、竞争网络结构和Rainbow(第4章)

来源书籍&#xff1a; TENSORFLOW REINFORCEMENT LEARNING QUICK START GUIDE 《TensorFlow强化学习快速入门指南-使用Python动手搭建自学习的智能体》 著者&#xff1a;[美]考希克巴拉克里希南&#xff08;Kaushik Balakrishnan&#xff09; 译者&#xff1a;赵卫东 出版…...

Unity 性能优化锦集

Unity作为一款主流的游戏开发引擎&#xff0c;不仅提供了强大的编辑器和开发工具&#xff0c;还可以让开发者轻松地实现高质量的3D游戏。但是&#xff0c;随着游戏规模的不断扩大和玩家需求的增加&#xff0c;游戏的性能问题也变得越来越重要。因此&#xff0c;在使用Unity进行…...

JS之Map的基本使用

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

音视频八股文(6)-- ffmpeg大体介绍和内存模型

播放器框架 常用音视频术语 • 容器&#xff0f;文件&#xff08;Conainer/File&#xff09;&#xff1a;即特定格式的多媒体文件&#xff0c; 比如mp4、flv、mkv等。 • 媒体流&#xff08;Stream&#xff09;&#xff1a;表示时间轴上的一段连续数据&#xff0c;如一 段声音…...

4.25~~~~~

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

Android 9.0 系统设置显示主菜单添加屏幕旋转菜单实现旋转屏幕功能

1.前言 在android9.0的系统rom定制化开发中,在对系统设置进行定制开发中,有产品需求要求增加旋转屏幕功能的菜单,就是在点击旋转屏幕菜单后弹窗显示旋转0度,旋转 90度,旋转180度,旋转270度针对不同分辨率的无重力感应的大屏设备的屏幕旋转功能的实现,接下来就来分析实现…...

Python数据结构与算法-欧几里算法(p95)

一、欧几里算法原理 欧几里得公式 欧几里得算法&#xff1a;gcd(a,b) gcd(b, a mod b) &#xff1b; mod是指模&#xff0c;即a/b取余数。 运算示例&#xff1a; gcd&#xff08;60,21&#xff09; gcd(21,18) gcd(18,3)gcd(3,0) 证明略 最大公约数-欧几里得求解 &#xff08…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...