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.com
 cp 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

验证是否成功:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

科研基础与工具(论文搜索)

免责申明&#xff1a; 本文内容只是学习笔记&#xff0c;不代表个人观点&#xff0c;希望各位看官自行甄别 参考文献 科研基础与工具&#xff08;YouTube&#xff09; 搜索论文 Google Scholar 谷歌学术 涵盖面太全了&#xff0c;都收录&#xff0c;就会有很多低质量的论文…

基于STM32F103RCT6最小系统原理图和PCB

目录 1、原理图 2、PCB 3、3D图 资料下载地址&#xff1a;基于STM32F103RCT6最小系统原理图和PCB 1、原理图 2、PCB 3、3D图

解决Error in writing header file of the driver

在源代码里面更新了一批常规的内容&#xff0c;编译的时候遇到一个error&#xff0c;一大片都是红的。XXX是项目名称。 Description Resource Path Location Type Generator: ERROR: Error in writing header file of the driver XXX Cpu Processor Expert Problem 表面意思是…

nvm下载的node没有npm

nvm下载的node没有npm 相信大家最近可能发现自己使用的nvm下载nodejs没有npm了。 会出现这种情况&#xff1a; C:\Users\89121>nvm install 15 Downloading node.js version 15.14.0 (64-bit)... Complete Downloading npm version 7.7.6... Download failed. Rolling Bac…

门禁管理系统服务器如何内网映射让外网访问?

禁管理系统整体解决方案,可实现请假出入联动、门状态监控、电子地图、非法闯入报警、远程开门、红外防夹、智能统计等功能&#xff0c;应用非常广泛。 如果门禁管理系统部署在没有公网IP的本地服务器上&#xff0c;如何设置&#xff0c;能让外网互联网上也能登录访问内部的管理…

04 JavaScript学习:输出

JavaScript 没有任何打印或者输出的函数。 JavaScript 显示数据 JavaScript 可以通过不同的方式来输出数据&#xff1a; 使用 window.alert() 弹出警告框。使用 document.write() 方法将内容写到 HTML 文档中。使用 innerHTML 写入到 HTML 元素。使用 console.log() 写入到浏…

怎样在外网登录访问CRM管理系统?

一、什么是CRM管理系统&#xff1f; Customer Relationship Management&#xff0c;简称CRM&#xff0c;指客户关系管理&#xff0c;是企业利用信息互联网技术&#xff0c;协调企业、顾客和服务上的交互&#xff0c;提升管理服务。为了企业信息安全以及使用方便&#xff0c;企业…

SQLAIchemy 异步DBManager封装-01入门理解

前言 SQLAlchemy 是一个强大的 Python SQL 工具包和对象关系映射&#xff08;ORM&#xff09;系统&#xff0c;是业内比较流行的ORM&#xff0c;设计非常优雅。随着其2.0版本的发布&#xff0c;SQLAlchemy 引入了原生的异步支持&#xff0c;这极大地增强了其在处理高并发和异步…

C++11的更新介绍(lamada、包装器)

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;c大冒险 总有光环在陨落&#xff0c;总有新星在闪烁 lambda表达式 C98中的一个…

51-42 NÜWA:女娲,统一的多模态预训练模型

21年11月&#xff0c;微软、北大联合发布了NUWA模型&#xff0c;一个统一的多模态预训练模型&#xff0c;在 8 个下游任务上效果惊艳。目前该项目已经发展成为一系列工作&#xff0c;而且都公开了源代码。 Abstract 本文提出了一种统一的多模态预训练模型N̈UWA&#xff0c;该…

FPGA中按键程序设计示例

本文中使用Zynq 7000系列中的xc7z035ffg676-2器件的100MHz PL侧的外部差分时钟来检测外部按键是否按下&#xff0c;当按键被按下时&#xff0c;对应的灯会被点亮。当松开按键时&#xff0c;对应的灯会熄灭。 1、编写代码 新建工程&#xff0c;选用xc7z035ffg676-2器件。 点击…

递归——汉诺塔

汉诺塔 法国数学家爱德华卢卡斯曾编写过一个印度的古老传说&#xff1a;在世界中心贝拿勒斯&#xff08;在印度北部&#xff09;的圣庙里&#xff0c;一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候&#xff0c;在其中一根针上从下到上地穿好了由大到小的64片金…

通过拖拽动态调整div的大小

最近遇到一个需求&#xff0c;页面展示两块内容&#xff0c;需要通过拖拽可以动态改变大小&#xff0c;如下图&#xff1a; 实现思路&#xff1a;其实就是改变div样式的width&#xff0c;本质上就是Dom操作。 完整代码&#xff1a;&#xff08;基于vue2项目实践&#xff09; …

23年新算法,SAO-SVM,基于SAO雪消融算法优化SVM支持向量机回归预测(多输入单输出)-附代码

SAO-SVM是一种基于SAO雪消融算法优化的支持向量机&#xff08;SVM&#xff09;回归预测方法&#xff0c;适用于多输入单输出的情况。下面是一个简要的概述&#xff0c;包括如何使用SAO-SVM进行回归预测的步骤&#xff1a; 步骤&#xff1a; 1. 数据准备&#xff1a; 收集并准…

API 自动化测试的实践与技巧

在软件开发的快速迭代过程中&#xff0c;及时准确地进行测试变得越来越重要。Apifox 作为一款先进的 API 接口管理和自动化测试平台&#xff0c;为测试人员提供了强大的工具来适应这种变化。以下是使用 Apifox 进行 自动化测试 的实际指南。 1. 接口管理与自动化测试设置 在 …

增强现实(AR)开发框架

增强现实&#xff08;AR&#xff09;开发框架为开发者提供了构建AR应用程序所需的基本工具和功能。它们通常包括3D引擎、场景图、输入系统、音频系统和网络功能。以下是一些流行的AR开发框架。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流…

证照之星是免费的吗?证照之星怎么使用?证照之星XE v7.0 免费版 证照之星版本区别

证件照是每个人都必须用到的&#xff0c;并且机构不同&#xff0c;对于证件照的规格也不同。为了提升我们的效率&#xff0c;我们会使用证照之星这类证件照编辑软件对证件照进行编辑&#xff0c;那么这种类型的证件照编辑软件应该如何使用&#xff0c;收费标准又是怎么样的呢&a…

C++中的运算符

一、算数运算符 1.1 加减乘除取模 #include <iostream> using namespace std;int main() {//加减乘除int a1 10;int b1 5;cout << "a1 b1 " << a1 b1 << endl;cout << "a1 - b1 " << a1 - b1 << endl;co…

安装zlmediakit和wvp-pro

通过docker安装zlmediakit&#xff0c;并单独启动wvp-pro.jar - zlmediakit安装 zlmediakit安装比较依赖环境和系统配置&#xff0c;所以这里直接使用docker的方式来安装。 docke pull拉取镜像 docker pull zlmediakit/zlmediakit:master使用下边命令先运行起来 sudo docke…

【深度学习实战(12)】训练之模型参数初始化

在深度学习模型的训练中&#xff0c;权重的初始值极为重要。一个好的初始值&#xff0c;会使模型收敛速度提高&#xff0c;使模型准确率更精确。一般情况下&#xff0c;我们不使用全0初始值训练网络。为了利于训练和减少收敛时间&#xff0c;我们需要对模型进行合理的初始化。 …