一种可能的Ubuntu虚拟机没网的解决办法

先说一种物理计算机上网时可能出现的问题,在使用科学上网模式的情况下,当直接关闭电脑时,有时在重启后,即使连接了网络,也可能遇到无法上网的问题。在联想电脑中,使用电脑管家中的网络修复工具可以解决这种情况。初步判断,这可能是由于在连接 VPN 并关闭电脑时,物理计算机的 DNS 配置发生了变化,导致无法正常访问互联网。通过运行网络修复工具,可以重新配置 DNS 设置,解决无法上网的问题。

在我的 Ubuntu 虚拟机中,通常情况下,通过正确配置 NAT 模式,我能够顺利实现上网功能。然而,有时在操作 VPN 时,如果处理不当,例如在虚拟机中打开 VPN 上网后,在关闭虚拟机时未正确关闭 VPN,然后在下次开机时忘记打开 VPN,可能会导致无法连接到互联网的问题。以下是一种可能的解决方法,笔者用这种配置网络的方法成功地让Ubuntu虚拟机重新连接上了网络。

首先使用以下命令查看网络连接状态:

nmcli device

这将输出有关网络设备的信息,包括设备名称(如 “ens33” )、设备类型、连接状态、IP地址等。需要查看 “ens33” 设备的信息,尤其是连接状态和IP地址。

笔者的终端中输出的信息如下:

DEVICE  TYPE      STATE      CONNECTION 
ens33   ethernet  unmanaged  --         
lo      loopback  unmanaged  --  

可以看到 “ens33” 处于未托管 (unmanaged) 状态,这可能是导致网络连接问题的原因。网络管理器 (NetworkManager) 未管理 "ens33" 设备。

可以尝试将 “ens33” 设备交给网络管理器进行管理。运行以下命令:

sudo nmcli device set ens33 managed yes

然后,重新运行 nmcli device 命令确保 “ens33” 的状态变为 connected 并获得了正确的IP地址。

但是笔者在完成这步操作之后,输出显示如下:

(base) lbc@lbc-virtual-machine:~$ sudo nmcli device set ens33 managed yes
(base) lbc@lbc-virtual-machine:~$ nmcli device
DEVICE  TYPE      STATE      CONNECTION 
ens33   ethernet  unmanaged  --         
lo      loopback  unmanaged  --  

可以看到 “ens33” 仍然处于未托管状态。在某些情况下,可能会遇到网络管理冲突,导致无法使用 NetworkManager 管理某些接口。

这种时候可以尝试编辑 NetworkManager 的配置文件,确保 managed 设置为 True。运行以下命令:

sudo nano /etc/NetworkManager/NetworkManager.conf

在打开的文件中,确保 [ifupdown] 部分包含 manage=true。如果没有,添加这一行。保存并关闭文件。

然后,重新启动 NetworkManager 服务:

sudo systemctl restart NetworkManager

笔者在完成以上操作之后,再次查看网络状态。发现输出如下:

(base) lbc@lbc-virtual-machine:~$ sudo systemctl restart NetworkManager
(base) lbc@lbc-virtual-machine:~$ nmcli device
DEVICE  TYPE      STATE      CONNECTION 
ens33   ethernet  unmanaged  --         
lo      loopback  unmanaged  --    

“ens33” 仍是managed状态。

在这种状态下,可以尝试以下步骤:

1.停止 NetworkManager 服务

sudo systemctl stop NetworkManager

2.删除 NetworkManager 的状态文件:

sudo rm /var/lib/NetworkManager/NetworkManager.state

3.重新启动 NetworkManager 服务:

sudo systemctl start NetworkManager

4.检查 ens33 的状态:

nmcli device

完成以上操作之后,笔者终端中输出如下:

DEVICE  TYPE      STATE                   CONNECTION 
ens33   ethernet  connected (externally)  ens33      
lo      loopback  unmanaged               --     

之后虚拟机就应该有网络了,如果还有问题,可以尝试使用上面将 “ens33” 设备交给网络管理器进行管理的指令。如果这样还没有网络,就需要检查一下Vmware的NAT模式配置是否正确了。

希望能起到作用。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值