卸载 docker 后 DNS 和互联网连接中断

卸载 docker 后 DNS 和互联网连接中断

我的 Debian Stretch 计算机在连接​​互联网时遇到了严重的问题。最奇怪的是,每次我启动计算机时都可以连接到网站(google 或 github),但最终(比如 30 秒后)我在 Firefox 上收到服务器未找到错误。

我认为 DNS 出现故障的原因如下:

目前我可以得到ping 8.8.8.8或的ping google.com结果。作品。 Wget 相同的地址重定向到谷歌并且无法解析主机地址。Name or service not knowTemporary Failure in Name Resolutionping 172.217.0.0

我相信这个问题是由 Docker 引起的,因为 iptables 被设置为删除转发链。不过我在这里可能是错的。我的互联网工作正常,直到我重新启动计算机,今天早上它无法连接。

不管我尝试过重置 iptables但是每次我重新启动时,它们都会再次被编辑。所以我删除了所有 Docker 镜像、容器以及 docker 和 containerd。但是,即使我卸载了它们,问题仍然存在。所以我认为它安装的某些 docker 脚本或某些东西还留在那里。

我尝试过的:

  • 目前我的 iptables 设置为接受所有内容。
  • 我添加了8.8.8.88.8.4.4/etc/resolv.conf
  • /etc/nsswitch.confhosts: files dns
  • 我能够接收 IP 地址
  • 问题不在于路由器,因为我的其他设备可以正常工作。
  • 硬件很好,因为我的窗户隔断工作得很好。

我尝试过查看 systemctl 但该实用程序对我来说是新的,所以我在这里无法弄清楚。

/etc/network/interfacessource /etc/network/interfaces.d/*,但是该目录是空的。

然后它说:

auto lo

iface lo inet loopback

我不知道还能尝试什么,非常感谢您的帮助

答案1

为您尝试此默认设置nsswitch.conf

hosts: files mdns4_minimal [NOTFOUND=return] dns

8.8.8.8和是什么8.8.4.4?它们都是您的 DNS 服务器吗?您只需将您的 DNS 服务器设置为resolv.conf.通常,它是您的路由器,而不是提供商的 DNS 服务器。

有时此类问题可能是由于 IPv6 造成的。因此,您可以尝试在路由器上禁用 IPv6。

尝试ip address检查接口上的 IPv4/IPv6。

ip route将向您显示实际路线。

我的docker处于伸展状态,没有这样的问题。

UPD1

如果您只想使用 Google DNS 服务器,请注释掉/etc/resolv.conf. DNS 请求将发送到第一个找到的名称服务器。

ip- 是命令,addressroute选项

ip address- 列出已配置 IPv4(inet) 和 IPv6(inet6) 地址的网络接口。您可以检查是否有重复或错误的网络掩码。

ip route- “默认”显示您的主要流量;

使用以下命令检查您是否有到 Google DNS 的连接:

telnet 8.8.8.8 53- 必须连接到服务器(“连接到 8.8.8.8”)

跑步host -v google.com

查找“从 [主机] 接收到...字节”行以了解哪个主机处理您的 DNS 请求。

如果您启用了 Wi-Fi,请将其关闭。某些 Wi-Fi 适配器在stretch使用 4.9 内核时存在问题。

相关内容