解决Ubuntu有网卡但无法上网,且设置中找不到网卡

问题描述 & 现象

  • 系统为Ubuntu 22.04,运行在VMware Workstation 17 Pro中
  • 无法上网,执行ip addr,网卡信息中显示qdisc noop state DOWN group default
  • Ubuntu的“设置->网络“中找不到网卡
  • 重启系统,问题依然存在
  • 使用systemctl重启NetworkManager,问题依然存在,并发现报错failed to open /run/network/ifstate
  • 删除虚拟机网卡,重新添加,问题依然存在

解决方案

方案一

在我的电脑上执行一次后就解决了问题,并且重启电脑后依然可以正常上网。

  1. 先停止NetworkManager服务
sudo systemctl stop NetworkManager
  1. 修改/etc/NetworkManager/NetworkManager.conf,将[ifupdown]managed=false改为managed=true(解决问题后,改回false,不会影响上网)
sudo gedit /etc/NetworkManager/NetworkManager.conf
  1. 删除/var/lib/NetworkManager/NetworkManager.state(删除后会重新生成这个文件)
sudo rm /var/lib/NetworkManager/NetworkManager.state
  1. 启动NetworkManager服务
sudo systemctl start NetworkManager

方案二

该方案来自于华为云:CentOS 7重启后dhclient未运行,导致无法获取IP_弹性云服务器 ECS_故障排除_网络配置_华为云 (huaweicloud.com),在我的电脑上未解决问题。

方案三

在我的电脑上执行完后可以正常上网,但每次重启电脑后就失效。所以如果按照这个方法,每次开电脑,只要没网,就得执行一遍。

sudo dhclient 网卡名称

哪个网卡显示xxx qdisc noop state DOWN group default xxx,就执行一次这条命令,例如ens33网卡:

sudo dhclient ens33