DNS/systemd-resolve/dnsmasq/resolvconf 问题。系统日志中的错误。18.04

DNS/systemd-resolve/dnsmasq/resolvconf 问题。系统日志中的错误。18.04

我正在尝试解决这两个重复的错误/var/log/syslog......

nf_conntrack: nf_conntrack: table full, dropping packet

Maximum number of concurrent DNS queries reached (max: 150)

看着/etc/resolv.conf...

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.1

从我的其他 18.04 系统来看,我知道名称服务器应该是 127.0.0.53。如果我手动将 127.0.0.1 更改为 127.0.0.53(我知道我不应该这样做),则会出现错误似乎在 syslog 中停止。当然,重新启动会将此文件设置回 127.0.0.1。

如何让 resolv.conf 正确显示 127.0.0.53,并在重启后继续生效?我这样做对吗?

答案1

首先,感谢@Terrance 和@BernardWei 为我提供信息,最终帮助我解决了这个问题。我利用他们的部分链接制定了自己的流程来解决 syslog 中重复出现的错误消息。

查看后/etc/resolv.conf会给出线索。名称服务器是 127.0.0.1,由 dnsmasq 放置在那里。在 18.04 中,它应该是 127.0.0.53,由 systemd-resolved 放置在那里。

在我的系统上,我做了:

ps auxc | grep -i dns
ps auxc | grep -i resolv

发现 dnsmasq 和 systemd-resolved 都在运行,就 DNS 而言,它们的功能有重叠。有两种可能的修复方法。

修复 #1:

我卸载了 dnsmasq 和 dnsmasq-base(可能是 -29 之前的系统遗留的),然后重新启动 systemd-resolved。/etc/resolv.conf现在正确显示名称服务器是 127.0.0.53。

修复 #2:

如果您需要同时运行 dnsmasq 和 systemd-resolved,则编辑/etc/systemd/resolved.conf并更改:

#DNSStubListener=yes

到:

DNSStubListener=no

并重新启动 systemd-resolved。

相关内容