升级到Kubuntu 19.04后,我不知道如何编写一个服务,以便它可以在初始化DNS服务后启动。
以前我只是用After=network.target,但现在不行了。我也尝试过After=network-online.target,但没有运气。
所以我认为问题是systemd-resolved,我该如何解决这个问题?
更新:
ERROR: getaddrinfo: Temporary failure in name resolution
ERROR: failed to resolve the provided hostname
Run Code Online (Sandbox Code Playgroud)
这是两个相关的日志。所以我可以确认问题与 DNS 服务有关。
在 ubuntu 中,有两种提供 dns 缓存和配置功能的解决方案。一种是 resolvconf.service(resolvconf 包的一部分)。另一个是 systemd-resolved.service (systemd 包的一部分)。在某些情况下,一种解决方案会被激活,而在某些情况下,另一种解决方案则会被激活。这两种解决方案都是ubuntu系统核心的一部分。smbd知道为什么会这样吗?
有没有办法仅在通过网络管理器或其配置文件之一连接到 VPN (OpenVPN) 时优先考虑特定 DNS 服务器?
我有一个经常连接的 VPN ( 192.168.1.*),它192.168.1.53配置了 DNS ( ) 以解析其网络上的主机名*.internal.example.com。我的本地路由器 ( 192.168.0.1) 上有 DD-WRT 和 Google 的 DNS 设置(这些并不是严格需要的)。
/etc/resolv.conf我已用符号链接替换了 systemd存根/run/systemd/resolve/resolv.conf,以便主机名实际上可以使用 VPN 的 DNS 服务器进行解析。昨天它运行良好,因为 VPN 的 DNS 服务器位于列表的顶部。
# /etc/resolv.conf -> /run/systemd/resolve/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
# ...
nameserver 192.168.1.53
nameserver 192.168.0.1
nameserver 8.8.8.8
# Too many DNS servers configured, the following entries may be ignored.
nameserver 8.8.4.4
search Home …Run Code Online (Sandbox Code Playgroud) 为什么默认的 Ubuntu LTS 安装不允许host -6 gnu.org或dig -6 gnu.org无法工作?
Welcome to Ubuntu 22.04 LTS (GNU/Linux 5.15.0-27-generic x86_64)\n\n$ host -6 gnu.org\n;; communications error to ::1#53: connection refused\n\n$\xc2\xa0dig -6 gnu.org\n;; communications error to ::1#53: connection refused\nRun Code Online (Sandbox Code Playgroud)\n存根解析器似乎只侦听 IPv4:
\n$\xc2\xa0tail -3 /etc/resolv.conf\nnameserver 127.0.0.53\noptions edns0 trust-ad\nsearch home.idallen.ca\n\n#\xc2\xa0netstat -nap | grep resolv\ntcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 603/systemd-resolve\nudp 0 0 127.0.0.53:53 0.0.0.0:* 603/systemd-resolve\nunix 2 [ ACC ] STREAM LISTENING 25992 603/systemd-resolve /run/systemd/resolve/io.systemd.Resolve\nunix 2 [ ] DGRAM CONNECTED 25969 603/systemd-resolve\nunix …Run Code Online (Sandbox Code Playgroud) 我可以通过网络设置的手动 dns 输入字段来执行此操作,但如果我想通过终端 (ssh) 管理它,我可以做什么来完成此操作?
我应该如何在 18.04 上启用 LAN 名称解析?
我有一个充满 Ubuntu 16.04 设备的 LAN,通过运行 dnsmasq 的路由器连接。所有本地设备都有一个单词名称,IP 不是固定的,并且通过 dnsmasq 解析(因为它也处理 DHCP)。我已经将我的笔记本电脑升级到 18.04,它的 DNS 请求由于某种原因被 systemd 解决了。
我想知道,减轻管理负担的最明智的长期策略是什么。
我有一个装有 Ubuntu 18.04 的系统,并且在处理 DHCP 客户端和 DNS 的方式方面发生了一些(显然)根本性的变化。
在翻阅有关systemd-resolved 的文档后,我发现无论出于何种原因:
请参阅下面的屏幕截图,对于小文本很抱歉:
请注意,“dhclient”请求(并获得)了一个不同的 IP,该 IP 在某个时候被 systemd-networkd 覆盖,因为系统静默地恢复到 25.207。
最后,在键入“dhclient”之后,重新启动网络服务systemctl restart networkd-systemd并重新启动解决方法systemctl restart systemd-resolved将搜索行留在符号链接中的适当位置/etc/resolv.conf。
有人可以指出我现在如何处理 ubuntu 18.04 的 DHCP 的文档,以及为什么它可能不会提取搜索域信息并在 systemd-resolved 中正确设置?
我正在使用焦点 Ubuntu 20.04.1 LTS(托管虚拟机)
偶尔重启后 DNS 解析失败(例如ping google.com > Resource temporarily unavailable)
为了“解决”这个问题,我重新启动了机器。
什么是正确的修复方法,为什么会偶尔发生这种情况?
的内容resolv.conf表示文件正在被管理systemd-resolved
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in …Run Code Online (Sandbox Code Playgroud) 我在有线连接上遇到 DNS 问题。由于某种原因,尽管我可以 ping 通,但 DNS 无法正常工作。一些日志:
systemd[1]: Started Network Name Resolution.
systemd-resolved[1060]: Using degraded feature set (UDP) for DNS server 8.8.8.8.
systemd-resolved[1060]: Using degraded feature set (TCP) for DNS server 8.8.8.8.
$ 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 …Run Code Online (Sandbox Code Playgroud) systemd-resolved ×10
dns ×7
networking ×5
systemd ×3
18.04 ×2
19.04 ×1
dhcp ×1
ipv6 ×1
resolv.conf ×1
resolvconf ×1