在 02/09 Tumbleweed 更新之后,我的 DNS 似乎被破坏了。
我的右上角的 wifi 图标有一个问号,ping google.com
返回Name or service not known
,但nslookup google.com
正确返回 IP 地址。如果我在 Firefox 中访问 Google 的 IP 地址,我会收到该消息We can't connect to the server at www.google.com.
,因此该问题正在以某种方式得到解决。
我可以 ping 通8.8.8.8
。
我已经尝试了我能看到的相关问题的所有其他答案,但没有一个对我有用。我的resolv.conf
是:
search MYDOMAIN
nameserver IP1
nameserver IP2
其中 IP1 和 2 是我的公司地址。
我尝试更改nsswitch.conf
并减少hosts
线路files dns
(删除 mdns4 位)。
如果我强制使用 Google 的 DNS,那么它仍然无法工作,即如果我尝试nslookup google.com 8.8.8.8
失败,并且如果我进入 NetworkManager 并8.8.8.8,8.8.4.4
在 Wifi 的 IPv4 设置中添加 DNS,那么它仍然无法工作。
答案1
从 Leap 15.0 更新到 Leap 15.1 后,我遇到了类似的问题:nslookup
可以工作,但ping
或任何其他需要 dns 解析的东西却不能。我做了所有标准检查(resolv.conf
、、),这些都是按顺序进行的nsswitch.conf
。如上所述/etc/sysconfig/network/config
切换到wicked
并NetworkManager
启用最初解决了我的问题。dnsmasq
我更深入地挖掘了一下,发现了一个提示,它可能与 apparmor 配置中的问题有关:https://forums.opensuse.org/showthread.php/536437-DNS-problem-after-upgrade-from-15-0?p=2906092#post2906092
与我系统上的那个线程类似,有一个更新的配置,其中/etc/apparmor.d/abstractions/nameservice.rpmnew
允许访问nscd
.一旦我复制了这个新的配置文件并清除了该帖子中所述的 apparmor 缓存,wicked
就开始工作,我可以将我的网络管理器配置恢复到原始版本,而无需使用dnsmasq
.
答案2
我通过在 中dns=dnsmasq
添加来实现此功能。[main]
/etc/NetworkManager/NetworkManager.conf