You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenNebula宿主机网络配置调整后VM完全失去网络连接求助

解决OpenNebula 5.4.6在Ubuntu 16.04上迁移VLAN配置后VM断网的问题

碰到这种把VLAN标记从宿主机移到交换机后VM彻底断网的情况,我之前运维OpenNebula环境时也遇到过——既然你明确VM没用到br_public或br_data,那问题肯定出在VM实际依赖的网桥及对应物理接口的配置变更上,毕竟VLAN的处理逻辑从主机转移到了交换机,宿主机侧的网络配置必须同步调整。下面是一步步的排查和修复步骤:

1. 先搞清楚VM到底用的哪个网桥

首先得确认你的VM关联的是哪个网桥(毕竟你说没用到那两个默认网桥),在宿主机上执行这个命令,查看所有网桥和物理接口的绑定关系:

brctl show

输出里会列出每个网桥对应的物理port,找到VM使用的那个网桥,记下来它绑定的物理接口(比如br_vlan10对应eth2)。

2. 清理宿主机上旧的VLAN子接口配置

之前你在宿主机上做VLAN标记,肯定配置过类似eth2.100这样的VLAN子接口,现在把标记移到交换机后,这些子接口必须删掉,而且物理接口要改成不做VLAN标记的普通模式:

  • 先查看当前的网络配置文件:
cat /etc/network/interfaces

如果还能看到类似下面的VLAN子接口配置,直接删掉:

auto eth2.100
iface eth2.100 inet manual
    vlan-raw-device eth2
  • 然后修改对应物理接口的配置,确保它是直接绑定到VM网桥的普通接口,比如:
auto eth2
iface eth2 inet manual
    up ip link set $IFACE up
    down ip link set $IFACE down
  • 重启网络服务让配置生效:
systemctl restart networking

3. 验证交换机侧的VLAN配置是否匹配

既然VLAN标记改在交换机上做了,得确保交换机这边的配置没毛病:

  • 宿主机连接的交换机端口必须设为Trunk模式,而且要允许VM所在VLAN的流量通过
  • 交换机上对应的VLAN要正确配置网关、DHCP(如果VM用DHCP的话)或者静态路由

你可以通过交换机的命令行确认,比如思科设备用show running-config interface GigabitEthernetX/X,华为设备用display current-configuration interface GigabitEthernetX/X,检查端口模式和允许的VLAN列表。

4. 核对OpenNebula的虚拟网络配置

登录OpenNebula前端,找到VM所属的虚拟网络,检查这几点:

  • 虚拟网络配置的网桥名称必须和宿主机上实际存在的网桥完全一致
  • 如果之前虚拟网络里配置了VLAN ID(用来在主机侧处理VLAN),现在必须把这个配置删掉,因为VLAN标记已经交给交换机了
  • 确认虚拟网络的VN_MAD是bridge模式(这是最常用的VM网络模式)

5. 单台VM的网络连通性测试

挑一台VM,进入它的控制台,一步步排查:

  • 先看网卡配置:ip addr show,确认是否获取到了正确的IP地址(静态IP的话要和VLAN网段匹配)
  • 测试和宿主机网桥的连通性:ping <宿主机网桥的IP>(如果网桥设置了IP的话)
  • 测试和网关的连通性:ping <VLAN网关IP>

如果VM没拿到IP,要么是DHCP服务器的问题,要么是交换机侧VLAN没转发DHCP流量;如果能ping通网关但连不上外部,可能是路由或者防火墙的问题。

6. 检查宿主机的防火墙规则

有时候迁移网络配置后,旧的防火墙规则会阻止VM的流量,在宿主机上执行这两个命令看看:

iptables -L -n
ufw status

如果有针对旧VLAN子接口的规则,或者阻止网桥转发的规则,直接调整或删掉就行。


内容的提问来源于stack exchange,提问作者Tim Jones

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:08:53