用Ubuntu的时候,你是不是被127.0.0.53困扰好久了?来看看怎么修改DNS配置

最近用了比较多的Ubuntu系统没有图形界面,如何快速部署一个Ubuntu 24.10的Server虚拟机,但是有个问题一直很愁人,那就是DNS服务器的配置问题。

按照之前正常使用CentOS的习惯,我每次创建虚拟机时都是选择最小化安装,而且尽可能使用静态IP地址,在过去的十来年里,从来没出过问题CentOS 7多网卡配置(最小化安装)

但是,最近用的多了,愈发感觉这个问题很严重。毫不夸张的说,我测试了Ubuntu 18.04、20.04、22.04、23.10、24.04的桌面版和服务器版,还使用了阿里云、腾讯云、天翼云的公有云版本,简单的结论就是:除了桌面版使用自动获取IP地址的方式能正常使用之外,其余的DNS配置都不好使,尤其是服务器版,就没一个好使的。

大家可以对比一下问题现象,看看是不是遇到过类似的问题。我现在已经知道Ubuntu的DNS配置是保存在/etc/resolv.conf中,每当我发现DNS无法解析时,我就会看一下DNS服务器是不是变成了127.0.0.53。   

7c35fbcf8c9346191f1c872392e3fed6.png

解决方案是每次都要修改/etc/resolv.conf配置,将nameserver修改为223.5.5.5,就可以解析了。

fdac984da1d731a0a219eeae95fe14d7.png

但是存在一个问题,每次重启网卡或虚拟机之后,/etc/resolv.conf中配置的DNS服务器地址都会恢复成127.0.0.53,导致域名无法解析。

其实,如果我们看/etc/resolv.conf中的介绍,可以发现/etc/resolv.conf还有一个影子文件/run/systemd/resolve/stub-resolv.conf,都是由systemd-resolved服务管理。   

701e0e337047dba0d346c49e779448f6.png

官方的建议是不要修改这个文件,因为这是一个动态文件,用于将本地客户端连接到systemd-resolved的内部DNS存根解析器,此文件列出了所有配置的DNS服务器。

当然,如果禁用systemd-resolved服务,本次不影响DNS解析,但是不能阻止这个文件刷新,因为重启之后连/etc/resolv.conf这个文件都消失了,需要重启服务才能重新生成,而且DNS服务器还是127.0.0.53。

按照提示,我们可以运行“resolvectl status”查看当前正在使用的上行DNS服务器的详细信息。

b609d41845693f5dfc3b3fa7a7e59c91.png

回想一下我们创建虚拟机的时候,网卡配置是加了DNS服务器的,而且测试解析软件仓库也没有问题。   

331a5b9c9ad8d8e0fd10bbb12bef314a.png

那么问题来了,我配置的DNS服务器去哪了?

首先,对于Ubuntu 24.10来说,连之前的网卡配置文件/etc/network/interfaces都没有了,甚至跟/etc/network相关的路径下一个网卡地址都没存。

3b60399523619536db34928ac295561c.png

经过查询,现在网卡的配置保存在YAML文件中,但是这里的DNS服务器配置还是会被systemd-resolved服务所覆盖,那我配置这个DNS服务器的作用是什么?   

50d247d410179c1e5b71c6039bffb52f.png

而且还必须使用systemd-resolved服务,我在安装时配置了DNS服务器,启动之后还要再去修改它的配置文件/etc/systemd/resolved.conf。

bec460adf5ed51bf11cf638be8754b4f.png    

然后重启systemd-resolved服务使配置生效。

5921d5117ac75d282da5ed53ae6d89e2.png

真是搞不懂,挺简单的DNS配置为什么要搞这么复杂?

不过也不是一无是处,配置完之后Google就可以通了,神奇不?   

d8f7598e78d0ba188561abc7d343a9eb.png

当然,现在Linux还有一个优先使用IPv6的问题,这个用一条命令就能解决。

sysctl -w net.ipv6.conf.all.disable_ipv6=1

41f26a31a620ea0cb2cff7a6ee50f45c.png

唉,这下就舒服多了!   

***推荐阅读***

【送书福利】中国移动无线智算网络领域最新图书《通算一体:使能泛在AI》

使用ddns-go实现自动配置IPv6的DDNS

当你买了一台Linux云主机,应该如何测试主机性能?

没有图形界面,如何快速部署一个Ubuntu 24.10的Server虚拟机

拿捏!Ubuntu和FortiGate对接GENEVE是如此简单

客户管理DNS资源记录

Ubuntu使用Tesla P4配置Anaconda+CUDA+PyTorch

Ubuntu配置PPTP服务端和客户端

在Ubuntu系统手撸一个自动搭建openVPN服务端的SHELL脚本

Ubuntu一键导入openVPN配置文件

openVPN配置实现客户端互访

使用ddns-go实现自动配置IPv6的DDNS

成本增加了100块,内网服务器上公网解决方案2.0重磅来袭!

e4546e0ccef5311211f6a915064d2cfe.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Danileaf_Guo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值