为什么nmcli无法配置设备?

我对nmcli还不熟悉,正在尝试如何创建eth0连接。使用sudo nmcli con命令打印的输出如下:
NAME       UUID     TYPE      DEVICE
MyWlan0    ...      wifi      wlan0
MyEth0     ...      ethernet  --

无论我给出什么命令,我的MyEth0连接都不会在DEVICE上显示eth0(只有'--'),因此当我尝试sudo nmcli con up MyEth0时,我会收到以下错误提示:
Error: Connection activation failed: No suitable device found for this connection (device lo not available because device is strictly unmanaged).

这是我创建连接的方式:
sudo nmcli con add con-name MyEth0 type ethernet ifname eth0

我还尝试使用以下类型的命令对其进行修改:
sudo nmcli con mod MyEth0 connection.interface-name eth0

运行 sudo nmcli con show MyEth0 connection | grep eth0 表明连接的接口名称是 eth0,但根据上述描述的行为看起来并非如此。

有任何想法吗?

编辑:

这是 sudo lshw -C network 的输出:

  *-network:0
       description: Ethernet interface
       physical id: 2
       logical name: eth0
       serial: dc:a6:32:27:84:45
       size: 100Mbit/s
       capacity: 1Gbit/s
       capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=bcmgenet driverversion=v2.0 duplex=full link=yes multicast=yes port=MII speed=100Mbit/s
  *-network:1
       description: Wireless interface
       physical id: 3
       logical name: wlan0
       serial: dc:a6:32:27:84:46
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=brcmfmac driverversion=7.45.18 firmware=01-6a2c8ad4 ip=192.168.1.201 multicast=yes wireless=IEEE 802.11

https://askubuntu.com/a/1182881/739431 - PRATAP
我看过那个链接。它没有解决我的问题。 - Magnus
请编辑您的问题,包括终端命令 sudo lshw -C network 的结果。 - chili555
@chili555 好的,已完成 - Magnus
1@chili555 额外请求的信息是否证明有用? - Magnus
3个回答

这是因为自Ubuntu 18.04以来,网络配置文件已从interfaces更改为netplan,并且您需要再次使用apt install network-manager修改/etc/netplan/00-installer-config.yaml像这样。
network:
  renderer: NetworkManager

这样可以让网络配置指向NetworkManager,然后使用netplan apply加载该文件。 你可以使用nmcli device status检查配置是否生效。祝好运!

1我记得以前做过这个,但似乎一个更新把它弄坏了。有没有一种方法可以避免被更新破坏的方式来完成这个任务? - D Bear


网络管理员通常只管理WiFi连接。
更改在/etc/NetworkManager/NetworkManager.conf中。
[ifupdown]
managed=false

[ifupdown]
managed=true

重新启动NetworkManager.service和nm-applet,然后再试一次。

1不正确。网络管理员控制所有网络连接,包括以太网。 - chili555
试过了。没有效果。 - Magnus
抱歉,我的知識有時候像我一樣過時。:D 這個更改只在使用 /etc/network/interfaces 時有效。我在錯誤的系統中。 - nobody