升级到 22.04.01,DNS 不起作用,尝试修复,现在以太网不起作用

升级到 22.04.01,DNS 不起作用,尝试修复,现在以太网不起作用

我最近通过 Ubuntu 的标准更新流程将我的笔记本电脑(使用 WiFi)和台式机(使用以太网)从 20.04 升级到 22.04.01(他们提示我升级,我点击了“确定”)。笔记本电脑上的 22.04.01 网络连接没有问题。两台机器都双启动到 Windows 10;笔记本电脑在 WiFi 上运行良好,而台式机在以太网上运行良好。但是,由于某种 DNS 错误,运行 Ubuntu 22.04.01 的台式机无法正确连接到互联网;ping google.com 失败,但 ping 8.8.8.8 正常。

网络搜索显示我可以编辑 /etc/resolv.conf 以添加 DNS 地址,例如 9.9.9.9 代替 127.0.0.53。这种方法暂时有效,但重启后,systemd 似乎已将其改回 127.0.0.53,DNS 不再有效。这并不奇怪,因为 resolv.conf 本身表明它由 systemd 管理,并且还说“请勿编辑”。

我发现别处(参见 intelfx 的回复)我可以改为更新 /etc/systemd/resolved.conf 以包含 DNS 地址。这也行不通。在 Ubuntu 设置 GUI 中更新 DNS 也行不通(如图所示)。但是,同一链接还包含有关使用 netplan 设置 DNS 的说明。我尝试根据这些说明编辑 /etc/netplan/01-network-manager.yaml,但也没有用。

不知何故(可能是在摆弄 netplan 时)我停用了以太网(无论 ping 8.8.8.8 还是 google.com,ping 都不再起作用)。 sudo lshw -C network给出:

*-network DISABLED
    description: Ethernet interface
    product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
    vendor: Realtek Semiconductor Co., Ltd.
    physical id: 0
    bus info: pci@0000:04:00.0
    logical name: enp4s0
    version: 0c
    serial: 78:24:af:34:3e:04
    width: 64 bits
    clock: 33 MHz
    capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical
    configuration: broadcast=yes driver=r8169 driverversion=5.15.0-47-generic latency=0 link=no multicast=yes
    resources: irq:17 iport:d000(size=256) memory:fe900000-fe900fff memory:f0300000-f0303fff

此外,在“网络”下的“设置”GUI 中,不再像以前那样有“有线”条目;它只有“VPN”和“网络代理”。在屏幕右上角靠近电源按钮的地方,我的有线连接图标也消失了。

sudo nmcli networking off在其他地方,我发现了通过; 重新激活以太网的建议sudo nmcli networking on,但这并没有什么用。

因此,我将非常感激任何能帮助我的:

  1. 我如何重新激活我的以太网?
  2. 如何让我的桌面在 Ubuntu 22.04.01 上正确使用 DNS?为什么在我升级后它就坏了?

我不是命令行专家,也不太了解 Ubuntu 如何处理网络,但我可以相当好地遵循指令。

添加评论中请求的信息:

/etc/network/interfaces 不存在。/etc/networkls中提供以下目录:

if-down.d  if-post-down.d  if-pre-up.d  if-up.d

/etc/netplan/01-network-manager-all.yaml 只有 3 行;我之前基于以下内容进行了扩展这些说明并运行sudo netplan try,但之后并没有解决我的 DNS 问题,我通过删除我添加的行并再次sudo netplan apply运行将其恢复到原始形式:sudo netplan trysudo netplan apply

# Let NetworkManager manage all devices on this system.
network:
  version: 2   

更新和解决方案:

谢谢@thomas-ward解决了我的以太网问题——在我的 YAML 文件中添加第 4 行、运行sudo netplan apply并重新启动后,该问题就解决了。

我的 DNS 问题也解决了;经过进一步搜索,我发现以太网不适用于 Ubuntu Server 20.04这让我https://netplan.io/examples/etc/netplan。我根据“使用 DHCP 和静态寻址”示例修改了中的 YAML 文件,运行sudo netplan try,接受更改,并且它起作用了,重启后仍然有效(用您自己的接口名称替换 enp3s0,间距很重要):

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true

问题升级到 22.04 后无法解析主机名也很有帮助(根据@C0rn3j,“这似乎是由于 Ubuntu 22.04 期望通过 netplan 进行配置而导致的。Netplan 配置是在全新安装时创建的,但如果您升级了系统,则不存在必要的配置。”)

答案1

您的配置似乎有问题。如果您想使用网络管理器,则需/etc/netplan/01-network-manager-all.yaml要这样做:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

您需要renderer一行来告诉系统网络管理器处于控制状态。而您的环境中似乎缺少这一点。使用我发布的示例(来自干净的 22.04 系统!)相应地更新您的文件,然后重新启动。看看这是否可以让您再次控制以太网卡等。

相关内容