虽然我可以使用 Ubuntu 22.04 连接到移动宽带,并且可以传输数据包(ping 8.8.8.8
工作正常),但 DNS 解析不起作用。结果是我无法使用互联网连接。
这是输出nslookup google.de
:
;; connection timed out; no servers could be reached
/etc/systemd/resolved.conf
我尝试按照建议调整设置这里。设置备用 DNS 服务器根本不起作用。覆盖 DNS 服务器可以(一旦我重新启动 systemd-resolved)。问题是我无法设置固定 DNS 服务器,因为我广泛使用 VPN,并且我需要使用 DNS 服务器在 VPN 内进行名称解析。DNS 服务器是通过网络管理器设置的,所以我不想对其进行硬编码。
的内容/etc/resolv.conf
为:
nameserver 127.0.0.53
options edns0 trust-ad
search .
有人知道如何修复这个问题吗?我上面引用的问答已经很旧了,我想那里讨论的数据包中的错误从那时起就被修复了。
答案1
对我来说,主要问题是systemd-已解决忽视自己的/运行/systemd/resolv/resolv.conf。因为当我连接我的 VPN 时,我看到正确的名称服务器被添加到那里。但这没有任何区别。可能是配置错误,或者我不明白它应该如何工作。
答案2
我找到了原因。这毕竟不是 DNS 查找,而是 Ubuntu 网络管理器模块中的一个错误,该模块在 1.35.91-1 中引入。它被描述为这里。问题在于移动宽带连接未正确启用 ipv6,并且 systemd-resolved 中自动配置的 DNS 服务器仅为 ipv6 服务器。这就是无法访问的原因,但至少配置正确。
不幸的是,我无法降级到仍然有效的网络管理器版本,因为 Ubuntu 22.04 apt repo 不包含旧版本。
毕竟,设置静态全局 DNS 服务器/etc/systemd/resolved.conf
是一种解决方法。它似乎不会覆盖 VPN 的 DNS 服务器。