新装的 Debian 系统如何启用域名解析功能?

2022-12-10 07:25:28 +08:00
 61162833
新的 Debian 系统没有附加功能安装,但是存在:/etc/resolv.conf ,内容为:nameserver 8.8.8.8

此时 ping qq.com 结果为:ping: qq.com Temporary failure in name resolution

也就是没法解析任何域名(即没法使用 /etc/resolv.conf 来解析域名)

搜索了下,根据这篇文章 https://phoenixnap.com/kb/temporary-failure-in-name-resolution

使用命令:sudo systemctl restart systemd-resolved.service 启用了 systemd-resolved 服务,然后 ping 结果正常可以解析域名了。

但是在 netstat 中出现了若干端口占用:
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 862/systemd-resolve
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 862/systemd-resolve
tcp6 0 0 :::5355 :::* LISTEN 862/systemd-resolve
udp 0 0 0.0.0.0:5355 0.0.0.0:* 862/systemd-resolve
udp 0 0 127.0.0.53:53 0.0.0.0:* 862/systemd-resolve
udp6 0 0 :::5355 :::* 862/systemd-resolve


比较奇怪,其他的机器没有使用这个 systemd-resolved ,并没有这些端口占用,仍可以解析域名

新机器如果只需要 ping 能解析出域名,应该怎么使 /etc/resolv.conf 生效?
1128 次点击
所在节点    问与答
8 条回复
ysc3839
2022-12-10 08:40:58 +08:00
你有试过把 8.8.8.8 改成别的吗?确定不是你网络连不上 8.8.8.8 ?
Cooky
2022-12-10 08:49:01 +08:00
看看你网络管理器是啥
61162833
2022-12-10 09:04:32 +08:00
@ysc3839 的确是连不上 8.8.8.8

也就是说实际是不需要安装任何服务,只要 /etc/resolv.conf 中定义的 DNS 正确就可以 ping 解析域名是吗?

谢谢。
jasonyang9
2022-12-10 09:48:21 +08:00
现代 Linux 发行版在这方面是有一点绕,因为要照顾移动设备什么的场景。

据我所知 Debian 上有安装桌面环境的话默认应该是 NetworkManager 接管了 DNS 解析,否则是 systemd-resolved ,你也可以把它们都关了通过`/etc/resolv.conf`来手动设定上游
61162833
2022-12-10 09:50:19 +08:00
@jasonyang9 谢谢,我意思是即使什么服务都不开,仅在 /etc/resolv.conf 中设置正确的 DNS ,ping 也是可以正常解析出域名的是吧?
siknet
2022-12-10 09:56:16 +08:00
8.8.8.8 改成 114.114.114.114
hefish
2022-12-10 09:59:34 +08:00
dns 解析不需要服务吧,只需要客户端发起 dns request 就可以吧。
m4d3bug
2022-12-10 10:36:20 +08:00
systemd-resolved 关闭掉,目前就 deb 系有这个东西,一堆人关闭,rpm 系是 rhel8.6 以后才有,但还是 techical preview

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/901473

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX