Jar*_*ung 13 network-manager internet dns systemd-resolved
我的 NetworkManager 连接到互联网,但由于 DNS 配置错误,我无法访问互联网。我对 DNS 设置没有太多经验,但问题似乎是由 systemd 解决的。我可以直接 ping IP 地址(例如 8.8.8.8)并正常获得响应,但使用下面的默认配置时无法解析域。我尝试了指向 systemd-resolved 文档中列出的三种配置模式的符号链接,但它们都不起作用。
无法使用以下命令解析任何域,但我可以 ping IP(尝试了很多,它们都有效),没有任何问题。
# /etc/resolv.conf
nameserver 127.0.0.53
options edns0 trust-ad
Run Code Online (Sandbox Code Playgroud)
使用 dig 或 host 时我也会遇到超时错误。
; <<>> DiG 9.16.1-Ubuntu <<>> www.ubuntu.com
;; global options: +cmd
;; connection timed out; no servers could be reached
Run Code Online (Sandbox Code Playgroud)
我可以通过将 resolv.conf 名称服务器更改为 8.8.8.8 来获得域解析并连接到互联网,但解析需要很长时间,即使网络速度测试报告超过 100 mbps 和 ping,网页也需要 >1 分钟才能加载在同一台机器上 <30 毫秒。
下面的配置可以工作,但响应时间非常慢
# /etc/resolv.conf
nameserver 8.8.8.8
options edns0 trust-ad
Run Code Online (Sandbox Code Playgroud)
就像我说的,我是这些系统的新手,我正在努力解决问题。以下是我认为可能有用的所有内容。以下所有输出均使用名称服务器 127.0.0.53
Ubuntu 20.04.3 LTS
systemd-resolve --status 的输出
Global
LLMNR setting: no
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 3 (ipv6leakintrf0)
Current Scopes: DNS
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: ::1
DNS Servers: ::1
DNS Domain: ~.
Link 2 (wlo1)
Current Scopes: none
DefaultRoute setting: no
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Run Code Online (Sandbox Code Playgroud)
# /etc/systemd/resolved.conf
[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=no-negative
#DNSStubListener=yes
#ReadEtcHosts=yes
Run Code Online (Sandbox Code Playgroud)
# NetworkManager configuration: /etc/NetworkManager/NetworkManager.conf (lib: 10-dns-resolved.conf, 20-connectivity-ubuntu.conf, no-mac-addr-change.conf) (run: 10-globally-managed-devices.conf) (etc: default-wifi-powersave-on.conf)
[main]
# rc-manager=symlink
# auth-polkit=true
# dhcp=internal
dns=systemd-resolved
plugins=ifupdown,keyfile
[connectivity]
uri=http://connectivity-check.ubuntu.com/
[ifupdown]
managed=false
[logging]
# backend=journal
# audit=true
[device]
wifi.scan-rand-mac-address=no
[device-mac-addr-change-wifi]
match-device=driver:rtl8723bs,driver:rtl8189es,driver:r8188eu,driver:8188eu,driver:eagle_sdio,driver:wl
wifi.scan-rand-mac-address=no
[connection]
wifi.powersave=3
# no-auto-default file "/var/lib/NetworkManager/no-auto-default.state"
Run Code Online (Sandbox Code Playgroud)
系统启动时登录
Starting Network Name Resolution...
sisyphus systemd-resolved[6024]: Positive Trust Anchors:
sisyphus systemd-resolved[6024]: . IN DS 20326 8 2 e17f45b80b8f1d39a95f0b0d7c45a08458e880409bbc683457104237c7f8ec8d
sisyphus systemd-resolved[6024]: Negative trust anchors: 10.in-addr.arpa 16.172.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa 22.172.in-addr.arpa 23.172.in-addr.arpa 24.172.in-addr.arpa 25.172.in-addr.arpa 26.172.in-addr.arpa 27.172.in-addr.arpa 28.172.in-addr.arpa 29.172.in-addr.arpa 30.172.in-addr.arpa 31.172.in-addr.arpa 168.192.in-addr.arpa d.f.ip6.arpa corp home internal intranet lan local private test
sisyphus systemd-resolved[6024]: Using system hostname 'sisyphus'.
Run Code Online (Sandbox Code Playgroud)
调试模式下的系统日志输出以下内容,在 UDP 和 TCP 协议之间切换。
Transaction 33247 for <ntp.ubuntu.com IN A> scope dns on ipv6leakintrf0/*.
systemd-resolved[4805]: Using feature level TCP for transaction 33247.
systemd-resolved[4805]: Sending query via TCP since UDP isn't supported.
systemd-resolved[4805]: Using feature level TCP for transaction 33247.
systemd-resolved[4805]: Connection failure for DNS TCP stream: Connection refused
systemd-resolved[4805]: Retrying transaction 33247.
Run Code Online (Sandbox Code Playgroud)
这种情况经常发生,现在我通常通过禁用 systemd-resolved 来取回我的 /etc/resolv.conf 文件。
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
Run Code Online (Sandbox Code Playgroud)
然后在你的 /etc/resov.conf 文件中添加名称服务器(你想要使用的 DNS 服务器的 IP)
nameserver 8.8.4.4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20140 次 |
| 最近记录: |