ubuntu22.04搭建dns内网

近期,需要在无网络的ubuntu环境下搭建内部可用的dns内网,总共花费3个工作日晚上,总算成功搭建,做个记录,记录踩坑记录,同时方便以后翻阅。

安装软件包:

有网络环境下,比较简单:

在终端提示符下,输入以下命令安装 dns:

sudo apt install bind9

dnsutils 软件包是测试和解决 DNS 问题非常有用的。 这些工具通常已经安装,但是要检查或安装 dnsutils,请输入以下内容:

sudo apt install dnsutils

重点讲下无网络环境:

在有网络的虚拟机下载好相关依赖包,笔主是安装vmtools安装一模一样的虚拟机环境下载相关软件包。

要下载软件包而不安装它们,只需运行

sudo apt-get install --download-only <package_name>
apt-get install --download-only udev_249.11


要安装下载的软件包,
请转到缓存文件夹/var/cache/apt/archives并按如下所示安装它们。

sudo dpkg -i *

如果尚未安装 apt-rdepends,请使用以下命令进行安装:

sudo apt install apt-rdepends

然后使用以下命令下载主包(即我们的例子中的 Vim)以及所有依赖项:

apt download $(apt-rdepends vim | grep -v "^ ")

此命令将递归下载所有必需的依赖包。


如果遇到如下错误:

E: Can't select candidate version from package debconf-2.0 as it has no candidate
1

可以使用以下命令:

apt-get download $(apt-rdepends vim | grep -v "^ " | sed 's/debconf-2.0/debconf/g')

此命令将成功下载 Vim 和所有需要的包并将它们保存在/var/cache/apt/archives目录中。

如果还是不行,可以使用如下代码

for i in $(apt-cache depends modemmanager| grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/'<'/''/ -e s/'>'/''/); do sudo apt-get download $i 2>>errors.txt; done

以上是笔者安装的各种包,可能还有更多的,自己按需下载

记得设置vmstools共享文件夹,方便copy相关安装包到另外的环境中,

虚拟机-设置-选项-共享文件夹

有时候挂在不生效,记得在虚拟机上挂载一下  一般共享目录在  、/mnt/huge/目录下
$ sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other

、如图,之前挂载过,不知道为啥总是会掉,重新挂载后显示

记得加chmod 777 dir权限

配置dns:

参考这篇博文:

Ubuntu Server 安装配置 bind9 - 简书

named 配置 · DNS

主服务器

在本节中,将BIND9配置为域的主服务器 example.com。只需 example.com 用您的FQDN(完全合格的域名)替换即可。

转发区域文件

要将DNS区域添加到BIND9,将BIND9变成主服务器,请首先编辑 vim /etc/bind/named.conf.local

zone "wa.com" {
        type master;
        file "etc/bind/db.wa.com";

};

使用现有的区域文件作为模板来创建 /etc/bind/db.example.com 文件:

sudo cp /etc/bind/db.local /etc/bind/db.example.comcp db.local db.wa.com

vim db.wa.com

每次更改区域文件时,都必须增加序列号(Serial)。如果在重新启动BIND9之前进行了多次更改,只需增加一次串行。

现在,您可以将DNS记录添加到区域文件的底部。有关详细信息,请参阅公共记录类型。

注意,许多管理员喜欢使用最后编辑的日期作为区域的序列号(Serial),例如2020012100,它是yyyymmddss(其中ss是序列号)

对区域文件进行了更改之后,需要重新启动BIND9以使更改生效

反向区域文件

现在已经设置了区域并将名称解析为IP地址,现在需要添加反向区域以允许DNS将地址解析为名称。

编辑 /etc/bind/named.conf.local 并添加以下内容:

zone "10.168.192.in-addr.arpa" {type master;file "/etc/bind/db.192";
};

注意:
将 1.168.192 替换为所用网络的前三个八位位组。 另外,适当命名区域文件 /etc/bind/db.192。 它应与网络的第一个八位位组匹配。

现在创建 /etc/bind/db.192 文件:

sudo cp /etc/bind/db.127 /etc/bind/db.192

接下来编辑 /etc/bind/db.192,更改与/etc/bind/db.example.com相同的选项:

注意128 改成自己实际的末尾ip

每次更改时,“反向”区域中的序列号也需要增加。 对于您在/etc/bind/db.example.com中配置的每个A记录(即针对另一个地址),您需要在/etc/bind/db.192中创建一个PTR记录。

创建反向区域文件后,重新启动BIND9

sudo systemctl restart bind9.service

辅助服务器,本文不搭了,需要搭的参考资料

测试

resolv.conf

测试BIND9的第一步是将名称服务器的IP地址添加到主机解析器。应该配置主要名称服务器以及另一个主机,以仔细检查。有关将名称服务器地址添加到网络客户端的详细信息,请参阅DNS客户端配置。最后,您的nameserver一行/etc/resolv.conf应指向,127.0.0.53(dns服务器ip)并且您应该search为您的域指定一个参数。像这样:

nameserver  127.0.0.53
search example.com

 /etc/resolv.conf它是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。该文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。

  1. nameserver #定义DNS服务器的IP地址

  2. domain #定义本地域名

  3. search #定义域名的搜索列表

  4. sortlist #对返回的域名进行排序

/etc/resolv.conf的一个示例:

要检查您的本地解析器正在使用哪个DNS服务器,请运行:

systemd-resolve --status

本机验证:

报错

提示2:检查绑定区域文件
要检查区域文件使用命令的语法如下。它会在两种情况下显示的结果。
# named-checkzone wa.com  db.wa.com

同样,要测试反向区域文件,请输入以下内容:

named-checkzone 10.168.192.in-addr.arpa /etc/bind/db.192

bind配置检查:

named-checkconf /etc/bind/named.conf

发现有报错,不要慌,打开文件看看,发现只有三个include文件,并没有报错的内容,笔者这里也是一头雾水,报错内容不符,后面查了好多资料,才明白,依次打开三个文件检查。

注释掉

在此运行无报错:

配置结束验证

配置完,记得在自己电脑刷新dns

windows刷新:
ipconfig /flushdns  刷新dns缓存

ubuntu刷新:
nmcli dev show  查看dns信息
/etc/init.d/dns-clean   刷新
/etc/init.d/networking restart # 最好重启一下网络

systemctl status network-manager


要检查您的本地解析器正在使用哪个DNS服务器,请运行:
systemd-resolve --status

验证是否成功:

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

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

相关文章

一个java项目中,如何使用sse协议,构造一个chatgpt的流式对话接口

前言 如何注册chatGPT&#xff0c;怎么和它交互&#xff0c;本文就不讲了&#xff1b;因为网上教程一大堆&#xff0c;而且你要使用的话&#xff0c;通常会再包一个算法服务&#xff0c;用来做一些数据训练和过滤处理之类的&#xff0c;业务服务基本不会直接与原生chatGPT交互。…

OpenCV-基于阴影勾勒的图纸清晰度增强算法

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 实现原理 大家在工作和学习中&#xff0c;无论是写报告还是论文&#xff0c;经常有截图的需求&#xff0c;比如图表、图纸等&…

使用 Docker 部署 TailChat 开源即时通讯平台

1&#xff09;介绍 TailChat 官网&#xff1a; https://tailchat.msgbyte.com/ 作者&#xff1a;https://www.moonrailgun.com/about/ GitHub &#xff1a; https://github.com/msgbyte/tailchat TailChat 是一款插件化易拓展的开源 IM 应用。可拓展架构赋予 Tailchat 无限可能…

【前端】vue的基础知识及开发指引

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Vue是什么二、学习 Vue.js 的基础知识三、熟悉 Vue.js 的生态系统四、掌握常用工具和库五、实践和项目开发六、 持续学习和跟进 前言 随着开发语言及人工智…

使用Docker搭建本地Nexus私有仓库

0-1开始Java语言编程之路 一、Ubuntu下Java语言环境搭建 二、Ubuntu下Docker环境安装 三、使用Docker搭建本地Nexus Maven私有仓库 四、Ubuntu下使用VisualStudioCode进行Java开发 你需要Nexus Java应用编译构建的一种主流方式就是通过Maven, Maven可以很方便的管理Java应用的…

全国832个贫困县名单及精准扶贫脱贫(摘帽名单)数据(2016-2020.11)

01、数据简介 自党的十八大以来&#xff0c;我国脱贫攻坚战取得了举世瞩目的伟大胜利。经过全党全国各族人民的共同努力&#xff0c;现行标准下9899万农村贫困人口全部脱贫&#xff0c;832个贫困县全部摘帽&#xff0c;12.8万个贫困村全部出列&#xff0c;区域性整体贫困得到解…

金融风控信用评分卡建模(Kaggle give me credit数据集)

1 数据预处理数据 数据来源于Kaggle的Give Me Some Credit&#xff0c;包括25万条个人财务情况的样本数据 1.1 导包读数据 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.ensemble import RandomForestRegressor import seaborn as …

Excel图表智能排序

实例需求&#xff1a;表格中的多个图表如下图左侧所示&#xff0c;对于表格进行排序时&#xff0c;希望第一列中的图表跟随相应数据。 方法1&#xff1a; Sub SortTableWithChart()Dim oSht As Worksheet, RowCnt As Long, ColCnt As LongDim arrData, i As Long, oCht As Cha…

基于STM32CubeMX的嵌入式开发基础

内部没有上拉电阻&#xff0c;外部就要加一个 上拉或者下拉电阻&#xff0c;最基本上的作用是将状态不确定的信号通过一个电阻将其稳定在高电平或低电平 上拉下拉其实起的是稳定电平的作用 问题&#xff1a;单片机的外围电路设计及程序编写大多是以低电平有效来驱动电路的&…

【主流电商API接口数据采集】聚合电商API接口平台:让数据成为生产力!

API接口接入测试||文档 随着数字化商业时代的到来&#xff0c;API接口已成为电商资源连接利器&#xff0c;也是全球传统互联网企业转型的基础。 2021年 Google Cloud 研究显示&#xff0c;全球互联网企业近3/4的企业持续投入数字化转型&#xff0c;2/3的企业在持续增加投入&a…

轻松学会微信小程序开发(一)

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

Java进阶-Stream流

概述 在Java8中&#xff0c;得益于lambda所带来的函数式编程&#xff0c;引入了一个全新的Stream流的概念目的&#xff1a;用于简化集合和数组操作的api 案例 需求&#xff1a;创建一个集合存储多个字符串元素&#xff0c;将集合中所有以“z”开头的元素存储到新的集合中&am…

Torch 模型 感受野可视化

前言&#xff1a;感受野是卷积神经网络 (CNN) 中一个重要的概念&#xff0c;它表示 CNN 每一层输出的特征图上的像素点在输入图像上映射的区域。感受野的大小和形状直接影响到网络对输入图像的感知范围和精度&#xff0c;进而调整网络结构、卷积核大小和步长等参数&#xff0c;…

javaweb-maven

前端HTML,CSS,JS,Vue&#xff0c;Element&#xff0c;Nginx最后去复习&#xff0c; Java开发工程师 主要学习方向是服务端 所以进入javaweb的服务端的第一个知识点 maven 什么是maven 用于管理和构建java项目的工具 maven的官方网站 Maven – Welcome to Apache Maven …

Flink面试(1)

1.Flink 的并行度的怎么设置的&#xff1f; Flink设置并行度的几种方式 1.代码中设置setParallelism() 全局设置&#xff1a; 1 env.setParallelism(3);  算子设置&#xff08;部分设置&#xff09;&#xff1a; 1 sum(1).setParallelism(3) 2.客户端CLI设置&#xff0…

邀请全球创作者参与 The Sandbox 创作者训练营

作为首屈一指的元宇宙平台之一&#xff0c;The Sandbox 的使命是成为全球创作者的中心。随着我们对 Game Maker 的不断改进、旨在激发创作者灵感的定期 Game Jams、革命性的 "创作者挑战 "以及众多其他活动的开展&#xff0c;我们见证了大量个人加入我们充满活力的创…

opencv_5_图像像素的算术操作

方法1&#xff1a;调用库函数 void ColorInvert::mat_operator(Mat& image) { Mat dst; Mat m Mat::zeros(image.size(), image.type()); m Scalar(2, 2, 2); multiply(image, m, dst); m1 Scalar(50,50, 50); //divide(image, m, dst); //add(im…

WordPress social-warfare插件XSS和RCE漏洞【CVE-2019-9978】

WordPress social-warfare插件XSS和RCE漏洞 ~~ 漏洞编号 : CVE-2019-9978 影响版本 : WordPress social-warfare < 3.5.3 漏洞描述 : WordPress是一套使用PHP语言开发的博客平台&#xff0c;该平台支持在PHP和MySQL的服务器上架设个人博客网站。social-warfare plugin是使用…

AIGC元年大模型发展现状手册

零、AIGC大模型概览 AIGC大模型在人工智能领域取得了重大突破&#xff0c;涵盖了LLM大模型、多模态大模型、图像生成大模型以及视频生成大模型等四种类型。这些模型不仅拓宽了人工智能的应用范围&#xff0c;也提升了其处理复杂任务的能力。a.) LLM大模型通过深度学习和自然语…

MSR是个什么寄存器

MSR 这种寄存器专门用于调试、程序执行跟踪、计算机性能监控、简化软件编程、电源控制等等各种实验性功能。 什么是 MSR MSR 的概念是不易理解&#xff0c;所以这一节只说一些 MSR 的外在&#xff0c;比如形容和指令等&#xff0c;然后展开说说&#xff0c;看完整篇文章你应该…