我最近通过 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
,但这并没有什么用。
因此,我将非常感激任何能帮助我的:
- 我如何重新激活我的以太网?
- 如何让我的桌面在 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 try
sudo 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 系统!)相应地更新您的文件,然后重新启动。看看这是否可以让您再次控制以太网卡等。