VM ubuntu在虚拟机找不到网卡无法上网的问题
方法一
重启一下 Ubuntu 的 network-manager 服务
sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start
方法二
1.ifconfig
damon@damon-virtual-machine:~$ ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (本地环回)
RX packets 476 bytes 49524 (49.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 476 bytes 49524 (49.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
damon@damon-virtual-machine:~$
1.检查网络状态
首先,检查网络是否正常连接:
damon@damon-virtual-machine:~$ nmcli device status
DEVICE TYPE STATE CONNECTION
ens33 ethernet 未托管 --
lo loopback 未托管 --
damon@damon-virtual-machine:~$
这将列出所有网络设备,并显示它们的状态(连接、断开连接等)。请确认你的网卡是连接状态。
2.激活网络接口
你的 ens33 目前是关闭状态。你可以尝试激活它:
sudo ip link set ens33 up
执行这个命令之后,再次检查网络接口状态:
damon@damon-virtual-machine:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether 00:0c:29:d2:d1:2a brd ff:ff:ff:ff:ff:ff
altname enp2s1
inet6 fe80::20c:29ff:fed2:d12a/64 scope link
valid_lft forever preferred_lft forever
damon@damon-virtual-machine:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::20c:29ff:fed2:d12a prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:d2:d1:2a txqueuelen 1000 (以太网)
RX packets 16 bytes 960 (960.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 23 bytes 2894 (2.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19 base 0x2000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (本地环回)
RX packets 636 bytes 60884 (60.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 636 bytes 60884 (60.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
damon@damon-virtual-machine:~$
3.检查 NetworkManager 的管理权限
“未托管”的状态通常是由于 NetworkManager 没有管理该接口导致的。你需要确认 NetworkManager 可以管理 ens33 接口:
编辑 /etc/NetworkManager/NetworkManager.conf 文件:
sudo gedit /etc/NetworkManager/NetworkManager.conf
内容如下:
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
[device]
wifi.scan-rand-mac-address=no
[ifupdown] 段中 managed=false,这意味着 NetworkManager 不管理 ifupdown 配置的接口(如 ens33)。
要解决“未托管”的问题,你可以修改这个配置,将 managed 设置为 true,这样 NetworkManager 就可以管理你的网络接口了。
重启 NetworkManager 服务
sudo systemctl restart NetworkManager
激活 ens33 网络接口
现在 NetworkManager 应该可以管理 ens33 接口了,尝试激活该接口
nmcli device connect ens33
检查接口状态:
再次运行以下命令,确认网络接口是否已连接:
nmcli device status
此时 ens33 应该显示为“已连接”(CONNECTED)状态。如果还是无法连接,可以尝试使用 DHCP 获取 IP 地址:
sudo dhclient ens33
4.使用 NetworkManager 设置自启动
NetworkManager 是 Ubuntu 中常用的网络管理工具,默认情况下它会自动管理和启动网络接口。
确保 NetworkManager 服务在启动时启用
首先确保 NetworkManager 服务在启动时是启用的:
sudo systemctl enable NetworkManager
设置接口在启动时自动连接
如果你想确保特定的网络接口(例如 ens33)在每次系统启动时自动连接,可以使用 nmcli 命令进行配置:
nmcli connection modify ens33 connection.autoconnect yes
参考
更多推荐
所有评论(0)