ubuntu22.04搭建dns内网

news2024/11/19 12:32:28

近期,需要在无网络的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

验证是否成功:

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

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

相关文章

PostgreSQL中的索引类型有哪些,以及何时应选择不同类型的索引?

文章目录 索引 解决方案和示例代码 PostgreSQL提供了多种索引类型&#xff0c;每种类型都有其特定的应用场景和优势。选择合适的索引类型可以显著提高查询性能&#xff0c;减少数据库负载。 索引 以下是PostgreSQL中常见的索引类型及其适用场景&#xff1a; 1. B-tree 索引 …

【Linux 开发第一篇】如何在安装中完成自定义配置分区

安装配置自定义配置分区 在安装Centos的过程中&#xff0c;我们可以在安装位置部分手动配置分区 选择我要配置分区&#xff0c;点击完成&#xff1a; 我们自动分区分为三个分区&#xff1a;boot分区&#xff08;引导分区&#xff09;&#xff0c;swap&#xff08;交换分区&…

互联网技术知识点总览——操作系统知识点框架图

简介 本文对操作系统的知识点整体框架进行梳理和分享如下&#xff1a;

KaiwuDB CTO 魏可伟:AIoT,用行业定义数据库

4月12日&#xff0c;由中国 DBA 联盟&#xff08;ACDU&#xff09;与墨天轮社区联合主办的第十三届数据技术嘉年华&#xff08;DTC 2024&#xff09;于北京盛大召开。KaiwuDB CTO 魏可伟受邀发表《智创当下&#xff0c;KaiwuDB 从多模到 AI 的探索实践》主题演讲&#xff0c;向…

Go之map详解

map的结构 map实现的两个关键数据结构 hmap 定义了map的结构bmap 定义了hmap.buckets中每个bucket的结构 // A header for a Go map. type hmap struct {count int // 元素的个数flags uint8 // 状态标记&#xff0c;标记map当前状态&#xff0c;是否正在写入B …

VASP结合vaspkit+ShengBTE计算热电优值(二)

前文链接&#xff1a;VASP结合vaspkitShengBTE计算热电优值&#xff08;一&#xff09; 1、将前述计算得到的二阶力常数矩阵&#xff0c;三阶力常数矩阵文件分别命名为FORCE_CONSTANTS_2RD&#xff0c;FORCE_CONSTANTS_3RD。放于同一目录中。 编写CONTROL文件&#xff0c;其中…

借助 NVivo 彻底改变业务创新

在收集定性数据时&#xff0c;通常很难确定信息的情感底蕴。尤其是在金融行业&#xff0c;当涉及到经济金融状况和股票走势等问题时&#xff0c;通过文章、社交媒体和其他消费者平台了解市场的真实整体感受至关重要。这就是对数据应用情绪分析可以提供帮助的地方。 在德勤 针对…

追溯历史:SIEM 中的生成式人工智能革命

作者&#xff1a;来自 Elastic Mike Nichols, Mike Paquette 网络安全领域仿佛是现实世界的一个映射&#xff0c;安全运营中心&#xff08;security operation center - SOC&#xff09;就像是你的数字警察局。网络安全分析师就像是警察&#xff0c;他们的工作是阻止网络犯罪分…

【webrtc】m114自己实现的PrioritizedPacketQueue及优先级处理

G:\CDN\WEBRTC-DEV\libwebrtc_build\src\modules\pacing\prioritized_packet_queue.h跟m98不同 :webrtc】m98 RoundRobinPacketQueue的优先级处理,m114直接使用taskqueue顺序处理了。甚至自己实现了优先级队列感觉简化了实现,更为清晰 易读,但是去掉了码率低就优先的逻辑。1…

Linux程序的地址空间,进程终止

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言进阶 数据结构初阶 Linux C初阶 算法 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力&#xff0c;一起奔赴大厂 一.程序的地址空间 1.1程序的地址空间的引入 我们知道frok可以创建…

R语言入门:“Hellinger“转化和“normalize“转化(弦转化)的公式表示与R代码实现

1、写在前面 vegan包中的decostand()函数为群落生态学研究提供了一些流行的(和有效的)标准化方法。有关decostand()函数标准化的一些标准化方法可以看我的另一篇笔记&#xff1a;R语言入门&#xff1a;vegan包使用decostand()函数标准化方法 由于在网络上没有找到关于这两个转…

AI 语音机器人系统怎么搭建

搭建AI语音机器人系统通常包括以下几个关键步骤&#xff1a; 确定需求和技术选型&#xff1a;首先要明确AI语音机器人需要实现的功能&#xff0c;选择合适的技术框架和工具&#xff0c;如自然语言处理工具、语音识别工具等。 搜集和准备数据&#xff1a;收集和整理与业务相关…

2.Python实战小项目—用Python批量压缩图片

2.Python实战小项目—用Python批量压缩图片 一摘要二个人简介三原理四流程五实战演示 一摘要 在Python中&#xff0c;批量压缩图片是一项相对直接且实用的任务&#xff0c;尤其适合需要处理大量图像数据的场合。Pillow库提供了一种简便的方式来达成这个目标&#xff0c;其强大的…

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

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

我为什么想成为一名程序员

#为什么你选择成为一名程序员# 目录 原因&#xff1a; 后续选择&#xff1a; 结尾&#xff1a; 原因&#xff1a; 本人是一个00后&#xff0c;出生在农村当时经济相对来说比较落后&#xff0c;村里面基本上都没几个人有手机。当时有些小伙伴他们拿着自己大人的手机在那里玩…

Youtube DNN

目录 1. 挑战 2. 系统整体结构 3.召回 4. 排序 5. 训练和测试样本的处理 1. 挑战 &#xff08;1&#xff09;规模。很多现有的推荐算法在小规模上效果好&#xff0c;但Youtobe规模很大。 &#xff08;2&#xff09;新颖度。Youtobe语料库是动态的&#xff0c;每秒都会有…

Java中的栈和队列

1.前言 在计算机科学中&#xff0c;数据结构是用来组织和存储数据的方式&#xff0c;以便可以高效地访问和修改。栈和队列是两种最基本的数据结构&#xff0c;它们在各种计算过程中都有广泛的应用。本文将介绍栈和队列的概念、特性以及它们的一些常见应用。 2.栈 2.1概念 栈…

姑苏寻韵~庆开放原子开源大赛 OpenTiny 前端 Web 应用开发挑战赛路演圆满落幕。

春日已至&#xff0c;姑苏古城迎来了一场编程的盛宴——开放原子开源大赛OpenTiny前端Web应用开发挑战赛。历时三个月的激烈角逐&#xff0c;OpenTiny与众多开发者携手共赴这场智慧的较量。决赛路演于4月14日在苏州&#xff08;太湖&#xff09;产业软件园圆满落下帷幕~ 开放原…

编译一个基于debian/ubuntu,centos,arhlinux第三方系统

目录 前言 准备工作 下载linux源码进行编译 linux源码下载 网站 问题 解决办法 编译 可能会遇到的问题 chroot下载debian环境 进入虚拟环境 把chroot的根目录文件打包为.gz文件 编译init文件&#xff08;用于系统启动时的一系列引导&#xff09; 给予文件夹权限 …

Zabbix 监控软件(一)

通常我们服务搭建成功 但不清楚服务器的运行状况&#xff0c;这时候就需要会使用监控系统查看服务器状态以及网站流量指标&#xff0c;利用监控系统的数据去了解上线发布的结果&#xff0c;和网站的健康状态。 利用一个优秀的监控软件&#xff0c;我们可以: ●通过一个友好的界…