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

Linux案例:DNS服务器配置

Linux案例:DNS服务器配置

实验一:正向解析

服务端配置:

[root@server ~]# setenforce 0
[root@server ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.70.131/24 ipv4.gateway 192.168.70.2 ipv4.dns 114.114.114.114
[root@server ~]# nmcli  c reload 
[root@server ~]# nmcli c u ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
[root@server ~]# vim /etc/named.conf 
[root@server ~]# vim /etc/named.rfc1912.zones 
[root@server ~]# cd /var/named
[root@server named]# ls
192.168.70.arpa  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  named.openlab.com  openlab.com.zone  slaves
[root@server named]# cp -a named.localhost openlab.com.zone 
cp:是否覆盖'openlab.com.zone'? 
[root@server named]# vim openlab.com.zone 
[root@server named]# systemctl restart named

客户端配置

[root@cilent ~]# setenforce 0   
[root@cilent ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.70.132/24 ipv4.gateway 192.168.70.2 ipv4.dns 114.114.114.114
[root@cilent ~]# nmcli c reload 
[root@cilent ~]# nmcli c u ens160
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
[root@cilent ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens160 
[root@cilent ~]# nmcli c reload 
[root@cilent ~]# nmcli c u ens160 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
[root@cilent ~]# nslookup www.openlab.com
Server:		192.168.70.131
Address:	192.168.70.131#53Name:	www.openlab.com
Address: 192.168.70.131[root@cilent ~]# 
[root@cilent ~]# nslookup 
> bbs.openlab.com
Server:		192.168.70.131
Address:	192.168.70.131#53Name:	bbs.openlab.com
Address: 192.168.70.131
> 
[root@cilent ~]# dig www.openlab.com; <<>> DiG 9.16.23-RH <<>> www.openlab.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14614
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 7a5edfca7630180d010000006725a90878cd979838ac7c70 (good)
;; QUESTION SECTION:
;www.openlab.com.		IN	A;; ANSWER SECTION:
www.openlab.com.	86400	IN	A	192.168.70.131;; Query time: 3 msec
;; SERVER: 192.168.70.131#53(192.168.70.131)
;; WHEN: Sat Nov 02 12:22:30 CST 2024
;; MSG SIZE  rcvd: 88

实验二:反向解析

服务端配置

[root@server ~]# nmcli  c  modify  ens160   ipv4.method manual ipv4.addresses  192.168.48.130/24  ipv4.gateway  192.168.48.2  ipv4.dns  114.114.114.114
[root@server ~]# nmcli  c  reload 
[root@server ~]# nmcli  c  up  ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)
[root@server ~]# vim  /etc/named.conf 
# 需改2行listen-on port 53 { any; };  # any为允许所有主机allow-query     { 192.168.48.131; };  # 此处也可以写为IP地址 
[root@server ~]# vim /etc/named.conf 
[root@server ~]# vim /etc/named.rfc1912.zones 
[root@server ~]# cd /var/named
[root@server named]# ls
192.168.70.arpa  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  named.openlab.com  openlab.com.zone  slaves
[root@server named]# cp -a named.localhost openlab.com.zone 
cp:是否覆盖'openlab.com.zone'? 
[root@server named]# vim openlab.com.zone 
[root@server named]# systemctl restart named
[root@server named]# vim /etc/named.conf
[root@server named]# vim /etc/named.rfc1912.zones 
[root@server named]# ls
192.168.70.arpa  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  named.openlab.com  openlab.com.zone  slaves
[root@server named]# cp -a named.loopback 192.168.70.arpa 
cp:是否覆盖'192.168.70.arpa'? 
[root@server named]# vim 192.168.70.arpa 
[root@server named]# systemctl restart named

客户端配置

[root@cilent ~]# nmcli c modify ens160  ipv4.method manual ipv4.addresses 192.168.48.131/24 ipv4.gateway 192.168.48.2 ipv4.dns 192.168.48.130  # 注意,此处dns改为服务端的IP地址,后续就不用再单独修改
[root@cilent ~]# nmcli  c  reload 
[root@cilent ~]# nmcli  c  up  ens160
[root@cilent ~]# nslookup 192.168.70.131
131.70.168.192.in-addr.arpa	name = www.openlab.com.
131.70.168.192.in-addr.arpa	name = ftp.openlab.com.
131.70.168.192.in-addr.arpa	name = ns.openlab.com.

实验三:主从DNS服务器

主服务端

[root@server named]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.70.131/24 ipv4.gateway 192.168.70.2 ipv4.dns 192.168.70.131
[root@server named]# nmcli c reload 
[root@server named]# nmcli c u ens160 
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
[root@server named]# vim /etc/named.conf
[root@server named]# vim /etc/named.rfc1912.zones 
[root@server named]# ls
192.168.70.arpa  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  named.openlab.com  openlab.com.zone  slaves
[root@server named]# cp -a named.localhost openlab.com.zone 
cp:是否覆盖'openlab.com.zone'? 
[root@server named]# vim openlab.com.zone 
[root@server named]# cp -a named.loopback 192.168.70.arpa 
cp:是否覆盖'192.168.70.arpa'? 
[root@server named]# vim 192.168.70.arpa 
[root@server named]# systemctl restart named

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

从服务端

[root@cilent ~]# vim /etc/named.conf
[root@cilent ~]# vim /etc/named.rfc1912.zones 
[root@cilent ~]# cd /var/named/slaves/
[root@cilent slaves]# ls
openlab.com.zone
[root@cilent slaves]# systemctl start named
[root@cilent slaves]# ls
192.168.70.arpa  openlab.com.zone
[root@cilent slaves]# nslookup www.openlab.com
Server:		192.168.70.131
Address:	192.168.70.131#53Name:	www.openlab.com
Address: 192.168.70.131[root@cilent slaves]# nslookup 192.168.70.131
131.70.168.192.in-addr.arpa	name = ftp.openlab.com.
131.70.168.192.in-addr.arpa	name = bbs.openlab.com.
131.70.168.192.in-addr.arpa	name = ns.openlab.com.
131.70.168.192.in-addr.arpa	name = www.openlab.com.[root@cilent slaves]# dig @192.168.70.131 www.openlab.com; <<>> DiG 9.16.23-RH <<>> @192.168.70.131 www.openlab.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47991
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: bfa413a2fb854884010000006725b78df48699372a4e885e (good)
;; QUESTION SECTION:
;www.openlab.com.		IN	A;; ANSWER SECTION:
www.openlab.com.	86400	IN	A	192.168.70.131;; Query time: 4 msec
;; SERVER: 192.168.70.131#53(192.168.70.131)
;; WHEN: Sat Nov 02 13:24:27 CST 2024
;; MSG SIZE  rcvd: 88

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

Linux案例:DNS服务器配置

Linux案例&#xff1a;DNS服务器配置 实验一&#xff1a;正向解析 服务端配置&#xff1a; [rootserver ~]# setenforce 0 [rootserver ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.70.131/24 ipv4.gateway 192.168.70.2 ipv4.dns 114.114.114.11…...

【Python】__getitem__()方法

getitem() 方法介绍 __getitem__ 方法是 Python 中的一个特殊方法&#xff08;也被称为魔术方法或特殊方法&#xff09;&#xff0c;用于在类中实现索引访问对象元素的操作。这个方法允许对象实现类似于列表、字典等容器类型的索引操作。当自定义类中定义了 __getitem__ 方法时…...

《Atomic Picnic》进不去游戏解决方法

Atomic Picnic有时候会遇到进不去游戏的情况&#xff0c;这可能是由多种原因造成的&#xff0c;玩家可以采取很多解决方法&#xff0c;比如检查电脑配置、更新系统和驱动或验证游戏文件。 Atomic Picnic进不去游戏怎么办 检查电脑配置 查看自己的电脑配置是否达到了游戏的要求…...

学习日志007--python函数 学完再练习练

函数小练习 一、函数的概念 1.定义 函数是组织好的&#xff0c;可重复使用的&#xff0c;用来实现单一&#xff0c;或相关联功能的代码段。 2.作用 函数能提高应用的模块性&#xff0c;和代码的重复利用率 3.定义 函数代码块以 def 关键词开头&#xff0c;后接函数标识符…...

DOM操作和事件监听综合练习——轮播图

下面制作一个如下图所示的轮播图&#xff08;按Enter键可以控制轮播的开启和关闭&#xff0c;或者点击按钮“第几张”即可跳转到第几张&#xff09;&#xff1a; 下面是其HTML和CSS代码&#xff08;还没有设置轮播&#xff09;&#xff1a; <!DOCTYPE html> <html …...

nodejs:下载,安装,系统环境配置,更换镜像

​​​​ 下载 地址&#xff1a;https://nodejs.org/zh-cn/download/prebuilt-installer 安装包 开始安装 安装完成 配置环境变量 将原来的用户变量-> Path D:\nodejs\node_global 【系统变量】 添加Path–>变量名&#xff1a;NODE_PATH-> 变量值&#xff1a;D: \…...

【Django】视图函数

【Django】视图函数 视图函数的本质是Python中的函数&#xff0c;视图函数负责处理用户的请求并返回响应&#xff0c;该响应可以是网页的HTML内容、重定向、404错误、XML文档、图像或者任何东西&#xff0c;一般在应用中的views.py编写&#xff0c;示例代码如下&#xff1a; …...

MySQL查询-补充

数据准备&#xff1a; -- 部门表 create table dept(deptno int primary key, -- 部门编号 主键&#xff1a;唯一&#xff0c;非空dname varchar(14), -- 部门名称loc varchar(13) -- 部门地址 );insert into dept values (10,accounting,n…...

【Python Tips】多个条件判断——一种更加简洁清晰的写法

一、引言 在python写条件判断 if 语句时&#xff0c;有时会遇到多种条件的真假判断考虑&#xff0c;比如要同时考虑A和B两个变量的True or False&#xff0c;只有当两者都为真&#xff0c;或都为假&#xff0c;或任意为真为假&#xff0c;再继续处理。此时如果用 if&#xff0c…...

【Vue】简易博客项目跟做

项目框架搭建 1.使用vue create快速搭建vue项目 2.使用VC Code打开新生成的项目 端口号简单配置 修改vue.config.js文件&#xff0c;内容修改如下 所需库安装 npm install vue-resource --save --no-fund npm install vue-router3 --save --no-fund npm install axios --save …...

【HarmonyOS】PixelMap转化为Uri

【HarmonyOS】PixelMap转化为Uri 问题背景 鸿蒙中的PixelMap类型&#xff0c;其实类似于Android和IOS中的bitmap&#xff0c;是对图片数据信息进行描述的一种逻辑运算使用的图片类型。 而鸿蒙中的Uri类型&#xff0c;本质其实是带file头的文件存储地址&#xff0c;是用来指向…...

【架构论文-2】架构设计中存在的问题和改进方向

一、性能优化相关 当前情况 在高负载情况下&#xff0c;系统的响应时间出现了一定程度的延迟。特别是在业务高峰期&#xff0c;大量并发请求导致部分关键业务模块的处理效率降低&#xff0c;影响了用户体验。改进方向 计划引入性能分析工具对系统进行全面的性能剖析&#xff0…...

go语言中的结构体含义和用法详解

在Go语言中,结构体(struct)是一种聚合数据类型,可以将多个不同类型的数据组合成一个更复杂的类型。结构体类似于面向对象编程中的“类”,但是Go语言没有类和继承的概念,而是通过结构体和接口实现面向对象编程的特性。 1. 结构体的定义 结构体是一组字段(field)的集合…...

985研一学习日记 - 2024.11.8

一个人内耗&#xff0c;说明他活在过去&#xff1b;一个人焦虑&#xff0c;说明他活在未来。只有当一个人平静时&#xff0c;他才活在现在。 日常 1、起床 2、健身 3、LeetCode刷了2题 买卖股票的最佳时机 将最大利润拆分为每天的利润之和&#xff0c;仅仅收集每天的正利润…...

编写一个基于React的聊天室

前言 此前已经编写了一版后端的im&#xff0c;此次就用其作为服务端&#xff0c;可查看参考资料1 代码 使用WebStorm创建React项目 安装依赖包 PS C:\learn-demo\front\chatroom> npm installadded 183 packages, and audited 184 packages in 16s43 packages are looki…...

[前端]NodeJS常见面试题目

什么是非阻塞 I/O? Node.js 如何实现非阻塞 I/O? 非阻塞 I/O 是一种编程模式&#xff0c;它允许 I/O 操作&#xff08;如读取文件、网络请求等&#xff09;在执行时不阻塞程序的其余部分。换句话说&#xff0c;当一个 I/O 操作发起后&#xff0c;程序可以立即继续执行其他任…...

【实测可用】Sublime Text4 4180 windows 已测可用

------------------测试时间2024年11月7日------------------- 打开浏览器进入网站&#xff1a; 点击进入修改网站打开sublime text4安装目录选择文件sublime_text.exe搜索80 79 05 00 0f 94 c2更改为c6 41 05 01 b2 00 90(第一个匹配到的)保存文件命名为sublime_text.exe并…...

JAVA日期加减运算 JsonObject 转换对象List

1.用java.util.Calender来实现 Calendar calendarCalendar.getInstance(); calendar.setTime(new Date());System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)1);//让日期加1 Sy…...

在 PostgreSQL 中,重建索引可以通过 `REINDEX` 命令来完成

在 PostgreSQL 中&#xff0c;重建索引 在 PostgreSQL 中&#xff0c;重建索引可以通过 REINDEX 命令来完成。 重建索引的主要目的是提高查询性能&#xff0c;尤其是在数据频繁更新的情况下。以下是重建索引的基本语法和示例&#xff1a; 基本语法 REINDEX INDEX index_name…...

SQL相关常见的面试题

SQL&#xff08;Structured Query Language&#xff09;是数据库管理中不可或缺的一部分&#xff0c;因此在技术面试中经常会被问到与 SQL 相关的问题。以下是一些常见的 SQL 面试题及其答案。 基础概念 什么是 SQL&#xff1f; SQL 是一种用于管理和处理关系型数据库的标准语…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分&#xff1a;派生类构造函数与析构函数 当创建一个派生类对象时&#xff0c;基类成员是如何初始化的&#xff1f; 1.当派生类对象创建的时候&#xff0c;基类成员的初始化顺序 …...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下&#xff0c;音视频内容犹如璀璨繁星&#xff0c;点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频&#xff0c;到在线课堂中知识渊博的专家授课&#xff0c;再到影视平台上扣人心弦的高清大片&#xff0c;音…...

LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》

&#x1f9e0; LangChain 中 TextSplitter 的使用详解&#xff1a;从基础到进阶&#xff08;附代码&#xff09; 一、前言 在处理大规模文本数据时&#xff0c;特别是在构建知识库或进行大模型训练与推理时&#xff0c;文本切分&#xff08;Text Splitting&#xff09; 是一个…...

电脑桌面太单调,用Python写一个桌面小宠物应用。

下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡&#xff0c;可以响应鼠标点击&#xff0c;并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...