问题

问题

问题

几乎所有网络都会失败。域名无法解析,网站无法加载,甚至ping本地网络上的大多数命令都会失败。例如:

  • ping localhost如果设置了阈值,则会导致 100% 的数据包丢失,并且将始终超时。
  • ping 8.8.8.8如果设置了阈值,则会导致 100% 的数据包丢失,并且将始终超时。
  • ping ::1(IPv6 上的本地主机)有效。
  • ping 2001:4860:4860::8888(IPv6 上的 Google DNS)结果是ping: connect: Network is unreachable

输出ip addr表明在列出的设备中找不到我的以太网适配器,并且lshw显示它丢失。

由此我推测,除了升级过程可能产生的其他网络问题之外,还有一些未安装的驱动程序,或者升级未能成功升级设备驱动程序。因此,这里可能存在多个问题;这个ping问题是最根本的,因为它阻止我重新安装可能修复其他问题的软件包。

我尝试了一些修复来手动恢复网络功能,例如在 中添加我的 wifi 设备条目,/etc/network/interfaces并在 中再次/etc/netplan/01-network-manager-all.yaml添加。这些都没有成功。我了解的还不够多,无法尝试更多修复,这就是我在这里提问的原因。

其他背景信息

systemctl status networking

可能存在潜在问题resolved

$ systemctl status networking
    ifup[1634]: /etc/network/if-up.d/resolved: 12: mystatedir: not found

systemd-resolved

systemd / systemctl 日志指示了降级状态systemd-resolved- 它在日志指示的两个降级状态之间来回循环。

$ systemctl status systemd-resolved:
    Using degraded feature set UDP instead of TCP for DNS server 192.168.1.1
    Using degraded feature set TCP instead of UDP for DNS server 192.168.1.1
    ...

我已经保存了wireless-infoshell 脚本其命令输出的细节已被删除;它可用作GitHub 要点以获取最大限度的信息。

答案1

    ifup[1634]: /etc/network/if-up.d/resolved: 12: mystatedir: not found

中有 11-13 行/etc/network/if-up.d/resolved,如下所示:

if systemctl is-enabled systemd-resolved > /dev/null 2>&1; then
    mystatedir statedir ifindex interface

在第 26 行:

    mystatedir=/run/network

这意味着:带有变量名的单词mystatedir被用作放置在 $PATH 中的可执行文件的名称。此脚本尚未经过测试。很可能是local行首遗漏了关键字。

其余的可能也尚未得到验证。

答案2

如果其他人在 Digitalocean 或其他云提供商上升级到 22.04 后遇到此问题,以下内容可能会有所帮助。

在 Digitalocean 上从 20.04 升级到 22.04 后,我无法访问我的 droplet,并且从恢复控制台 KVM 中,通过直接 IP ping 无法看到可用的网络,并出现经典的“网络无法访问”提示。

ip a显示没有给出 IP 地址或网关。

事实证明,其中/etc/network/interfaces.d/50-cloud-init.cfg添加了几行新内容:

# control-alias eth0
iface eth0 inet static
    address 10.17.0.6
    netmask 255.255.0.0

这些用正确的 IP 地址和网关覆盖了我的 eth0 接口配置,并导致接口配置不正确。

删除它们即可解决问题。

相关内容