虚拟机重启网卡命令是管理和维护虚拟化环境中网络连接的重要操作,不同虚拟化平台(如VMware、KVM、VirtualBox等)和操作系统(如Linux、Windows)下,重启网卡的具体命令和操作步骤存在差异,以下将分场景详细介绍各类虚拟机中重启网卡的方法,包括命令操作、注意事项及常见问题排查,帮助用户高效解决虚拟机网络故障。

Linux系统虚拟机重启网卡命令
Linux系统作为虚拟机中最常见的操作系统之一,重启网卡的操作因发行版不同(如CentOS/RHEL、Ubuntu/Debian等)略有差异,核心工具包括ifdown/ifup、ifconfig、ip命令以及NetworkManager服务管理。
传统网络接口管理(ifdown/ifup命令)
对于使用传统network服务管理的Linux发行版(如CentOS 6/7、RHEL 6/7),可通过ifdown和ifup命令依次关闭和启动指定网卡。
操作步骤:
- 查看当前网卡名称:执行
ip addr或ifconfig命令,通常以太网卡名为eth0、ens33等(以实际输出为准)。 - 关闭网卡:
sudo ifdown 网卡名称(如sudo ifdown eth0) - 启动网卡:
sudo ifup 网卡名称(如sudo ifup eth0) - 验证状态:
ip addr show 网卡名称检查网卡是否获取到IP地址,或执行ping 网关IP测试网络连通性。
注意事项:
- 若网卡配置依赖DHCP,关闭后重新启动会自动获取IP;若为静态IP,需确保配置文件(如
/etc/sysconfig/network-scripts/ifcfg-eth0)中参数正确。 - 操作过程中需避免断开SSH连接(建议通过虚拟控制台操作),防止因网络中断导致无法远程管理。
使用ip命令重启网卡(现代Linux发行版)
基于iproute2工具包的ip命令是Linux系统中更现代的网络管理工具,可替代传统的ifconfig和ifdown/ifup。
操作步骤:

- 关闭网卡:
sudo ip link set 网卡名称 down(如sudo ip link set ens33 down) - 启动网卡:
sudo ip link set 网卡名称 up(如sudo ip link set ens33 up) - 刷新网络配置(可选):若需重新获取DHCP IP,可执行
sudo dhclient 网卡名称(需安装dhclient工具)。
优势:ip命令功能更全面,支持查看路由表、ARP缓存等高级操作,且在CentOS 8+、Ubuntu 18.04+等新版系统中已成为默认工具。
NetworkManager服务管理(桌面版Linux及新版服务器)
对于使用NetworkManager服务管理网络的系统(如Ubuntu、CentOS 8+、Fedora等),可通过nmcli命令行工具重启网卡,该方式支持动态配置且无需手动关闭/启动接口。
操作步骤:
- 重启指定网卡:
sudo nmcli connection down "连接名称" && sudo nmcli connection up "连接名称"
(注:连接名称可通过nmcli connection show查看,可能与网卡名称不同,Wired connection 1”) - 或简化命令:
sudo nmcli networking off && sudo nmcli networking on(重启整个网络服务,影响所有网卡)
场景示例:
若Ubuntu虚拟机网卡连接名称为“ens33”,执行:
sudo nmcli connection down "ens33" && sudo nmcli connection up "ens33"
重启网络服务(全局重启)
若需同时重启所有网卡或解决服务级故障,可通过重启系统网络服务实现:
- 传统network服务:
sudo systemctl restart network或sudo service network restart - NetworkManager服务:
sudo systemctl restart NetworkManager
Windows系统虚拟机重启网卡命令
Windows虚拟机中重启网卡主要通过图形界面或命令行(PowerShell、CMD)实现,操作相对简单,但需注意驱动兼容性和服务依赖。
图形界面操作(通用方法)
- 步骤:
- 右键点击“开始”按钮,选择“设备管理器”;
- 展开“网络适配器”,找到虚拟网卡(如“VMware Adapter”“Intel(R) Ethernet Connection”等);
- 右键点击网卡,选择“禁用设备”,等待5秒后再次右键选择“启用设备”。
- 适用场景:不熟悉命令行或需快速操作时,但无法批量处理多个网卡。
PowerShell命令重启网卡(推荐)
PowerShell是Windows系统中更强大的管理工具,可通过Disable-NetAdapter和Enable-NetAdapter命令精确控制网卡。
操作步骤:
- 查看网卡名称:
Get-NetAdapter | Format-Table Name, Status - 重启指定网卡:
Disable-NetAdapter -Name "网卡名称" -Confirm:$false # 禁用网卡(-Confirm:$false避免确认提示) Start-Sleep -Seconds 3 # 等待3秒 Enable-NetAdapter -Name "网卡名称" # 启用网卡
- 示例:重启名为“Ethernet”的网卡:
Disable-NetAdapter -Name "Ethernet" -Confirm:$false Start-Sleep -Seconds 3 Enable-NetAdapter -Name "Ethernet"
CMD命令重启网卡(传统方法)
CMD中可通过netsh工具管理网络接口,但无法直接“重启”,需通过禁用/启用组合实现:
netsh interface set interface "网卡名称" disabled # 禁用网卡 netsh interface set interface "网卡名称" enabled # 启用网卡
注意:CMD命令中网卡名称需使用双引号,若名称包含空格(如“Local Area Connection”)。
重置网络堆栈(深度故障修复)
若网卡重启后仍无法正常工作,可尝试重置Windows网络堆栈,这将重置TCP/IP配置、Winsock目录等:
- PowerShell命令(管理员权限):
netsh winsock reset netsh int ip reset Restart-Computer -Force # 重启系统使配置生效
- CMD命令:
netsh winsock reset netsh int ip reset shutdown /r /t 0 # 立即重启
主流虚拟化平台特定网卡重启方法
虚拟机运行于VMware、KVM、VirtualBox等平台时,除操作系统命令外,还可通过平台管理工具或虚拟硬件操作解决网络问题。
VMware虚拟机
- VMware Tools命令:安装VMware Tools后,可通过
vmware-toolbox-cmd命令重启网络:vmware-toolbox-cmd network restart
(仅适用于Linux虚拟机,Windows虚拟机需通过系统命令操作)
- 虚拟硬件重置:在vSphere客户端或VMware Workstation中,关闭虚拟机后,编辑虚拟机设置,找到“网络适配器”,点击“高级”并重置MAC地址(需生成新地址),然后重新启动虚拟机。
KVM虚拟机
- virsh命令管理:通过
virsh命令行工具重启虚拟机网络:virsh reboot 虚拟机名称 # 重启整个虚拟机(简单但粗暴)
若需仅重启网卡,需进入虚拟机系统执行上述Linux/Windows命令。
- 网络配置刷新:若虚拟机使用NAT或桥接模式,可重启KVM网络服务:
sudo systemctl restart libvirtd # 重启libvirtd服务(影响所有KVM虚拟机)
VirtualBox虚拟机
- VirtualBox Guest Tools命令:安装增强工具(Guest Additions)后,Linux虚拟机可通过以下命令重启网络:
/etc/init.d/vboxadd-service restart # 旧版VirtualBox systemctl restart virtualbox-guest-utils # 新版VirtualBox
- 虚拟网络适配器重置:在VirtualBox管理器中,关闭虚拟机,进入“设置-网络”,断开当前网络适配器连接后重新连接,或更换适配器类型(如从“NAT”改为“桥接模式”再改回)。
重启网卡常见问题及注意事项
- 权限问题:所有命令均需管理员/root权限,Linux中使用
sudo,Windows中以管理员身份运行PowerShell/CMD。 - 驱动兼容性:若虚拟机网卡驱动异常,需在设备管理器中更新或重新安装驱动(如VMware Tools、VirtualBox Guest Tools中包含驱动)。
- 配置冲突:静态IP配置错误可能导致网卡启动失败,需检查
/etc/sysconfig/network-scripts/ifcfg-*(Linux)或“网络和共享中心”中的IP设置(Windows)。 - 服务依赖:Linux中
NetworkManager与network服务冲突时,需禁用其中一个(sudo systemctl disable network),避免重启网卡失败。
相关问答FAQs
Q1: Linux虚拟机执行ifup网卡时报错“Device does not seem to be present, delaying initialization”,如何解决?
A1: 该错误通常因网卡名称与实际硬件不匹配或驱动未加载导致,解决方法:
- 执行
lspci | grep Ethernet查看网卡硬件信息,确认驱动是否已加载(lsmod | grep 驱动名); - 检查网卡名称是否正确(
ip addr),若名称变更(如从eth0变为ens33),需修改配置文件/etc/sysconfig/network-scripts/ifcfg-*中的DEVICE参数; - 重装网卡驱动:CentOS/RHEL中执行
sudo modprobe 驱动名,Ubuntu中执行sudo apt install linux-headers-$(uname -r) && sudo modprobe 驱动名。
Q2: Windows虚拟机重启网卡后仍无法连接网络,显示“无Internet访问”,如何排查?
A2: 可按以下步骤排查:
- 检查IP地址配置:执行
ipconfig,确认是否获取到IP(DHCP场景)或IP/子网掩码/网关是否正确(静态IP场景); - 重置网络堆栈:以管理员身份运行PowerShell,执行
netsh winsock reset和netsh int ip reset后重启系统; - 检查虚拟网络配置:VMware/VirtualBox中确认虚拟机网络模式(NAT/桥接/仅主机)与宿主机设置是否匹配,例如桥接模式需选择实际物理网卡;
- 禁用第三方安全软件:部分防火墙或杀毒软件可能阻止网络连接,临时禁用后测试。
