首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu22.04: DNS缓存问题

Ubuntu22.04: DNS缓存问题
EN

Ask Ubuntu用户
提问于 2022-12-09 05:48:25
回答 1查看 970关注 0票数 -2

简介:我相信很多人在DNS缓存方面都遇到了问题。有很多提示和提示用于在Ubuntu中刷新DNS缓存,以及更少的关于完全禁用它的信息。但这些答案大多没有触及问题的核心:当您是运行自己内部DNS服务器的正常用户时,根本不需要DNS缓存吗?(有点开玩笑,但不是。)

问题是,我在内部有自己的域,运行我自己的DNS服务器(BIND),它为我的网络上的两台内部主机(大约75台主机)提供服务,同时也是互联网主机的缓存解析器(这样我可以稍微快一点地浏览web,尽管现在的情况不如20年前那样)。

DNS缓存的目的是减少DNS服务器的负载。我想,如果您是,不运行您自己的DNS服务器,那么它可能被看作是在ISP的DNS服务器上轻松运行的一种方式。但是,对于像我这样的人,他们需要让我的所有主机都可以通过名称在内部访问,因此也必须能够解决内部域问题。

我使用带有nfs的autofs自动挂载不同的音乐、视频、照片等卷。当然,我可以通过IP实现所有这些,但是主机名看起来更好,感觉也更好。谁有时间在75台不同的机器上管理/etc/主机?因此,我希望DNS查询只访问我的DNS服务器,而Ubuntu22.04似乎对此有特殊的问题。

问题是:我已经有过很多尝试打开我的自动NFS卷的例子,但它并不存在。我查了一下我的服务器然后..。在本地运行的缓存中没有记录。我尝试过多种解决方案,但都没有奏效。有一个解决方案应该确保运行在192.168.20.10上的DNS服务器是缓存所依赖的服务器。根本不起作用。

另一个解决方案(有点混乱)是手动设置/etc/kind,然后使其不可变。这不起作用,因为/etc/rupv.conf是一个符号链接。我做了一段时间,只是手动纠正它指向我的DNS,它将不可避免地返回到由NetworkManager设置的。我终于找到了解决办法。

解决方案(但是.)

代码语言:javascript
复制
#!/bin/bash

[[ $(id -u) -ne 0 ]] && echo "This must run as root" && exit

systemctl disable systemd-resolved.service
systemctl stop systemd-resolved

grep "dns=none" /etc/NetworkManager/NetworkManager.conf || sed -i '/\[main\]/a dns=none' /etc/NetworkManager/NetworkManager.conf

rm /etc/resolv.conf

printf "nameserver 192.168.20.10\nsearch mydomain.prv\n" > /etc/resolv.conf

chattr +i /etc/resolv.conf

这真的奏效了。但是,这不是正确的答案。正确的解决方案将是找出为什么DNS缓存将与我的DNS工作一段时间,然后放弃,并开始只服务互联网主机绕过我的DNS服务器。这导致我..。

问题:有人知道Ubuntu22.04中的默认DNS缓存是如何选择从哪里获得DNS答案的吗?我尝试将DNS服务器添加到网络计划中,但这没有起作用。对于Ubuntu使用的DNS缓存,我甚至找不到明确的答案。我见过很多提到泼尼斯卡奇的地方,但也有几处提到了dnsmasq。我的系统没有dnscache命令,但是它有dnsmask命令。我从Ubuntu18.04升级到22.04,所以这些问题可能是因为cruft?只要缓存总是使用我的DNS服务器,我就不会有问题,但是我还没有找到任何可靠的指令来解决真正的问题。所以,现在,我仍然坚持上面的脚本,因为它是“工作的”。但我希望事情能正常运作。

EN

回答 1

Ask Ubuntu用户

发布于 2022-12-09 11:12:12

至少UbuntuServer22.04默认使用systemd-resolved.service。这是一个DNS解析器和DNS缓存。不要并行安装第二个DNS缓存。

Ubuntu使用netplan进行网络配置(Ubuntu使用network )。

systemd-resolved.service是在启动时或由netplan应用程序(Ubuntu )配置的。

您可以通过命令resolvectl查看有关状态、统计等的详细信息,例如,如果通过网络或缓存完成解析,则resolvectl query ubuntuusers.de提供信息。

详细信息请参见resolvectl –helpman resolvectl

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1444729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档