Xen 4.4 混合路由/桥接网络虚拟机不工作

Xen 4.4 混合路由/桥接网络虚拟机不工作

我已将其中一台服务器从 Xen 4.1.4 (Debian squeeze) 更新到 Xen 4.4.1 (Debian jessie)。由于 xend/xm 已弃用,我想将 xl 工具包与 Xen 4.4.1 一起使用。但现在我的虚拟机的网络设置出现了问题。

我的虚拟机使用混合路由和桥接接口设置。内部流量以及实验性的 IPv6 接口是桥接的,而持有公共 IP 的接口是路由的。但是,Xen 4.4.1 似乎完全忽略了虚拟机配置中的 script/bridge/vifname 变量,只使用默认的 vif 脚本和接口名称。

如何使我现有的 vm 配置在 Xen 4.4.1 上成功运行?

请参阅以下相关的配置/日志文件:

虚拟机网络配置:(提到的网桥是通过 /etc/network/interfaces 预先创建的,替换了原来的公共 IP 地址)

vif=['mac=fe:fd:1:00:00:0, vifname=int-vm0, 脚本=vif-bridge, bridge=int',
     ‘mac=fe:fd:1:00:00:1,vifname=ext-vm0,ip=abcd’,
     ‘mac=fe:fd:1:00:00:2,vifname=v6-vm0,脚本=vif-bridge,桥接=v6’]

/etc/xen/xl.conf

# 如果客户机配置中未指定,则使用默认 vif 脚本
#vif.default.script="vif-bridge"
vif.default.script="/etc/xen/scripts/vif-route"

# 与 vif-bridge 热插拔脚本一起使用的默认桥接设备
#vif.default.bridge="xenbr0"

启动虚拟主机时的相关网络系统日志条目:

12 月 4 日 15:47:00 主机根目录:/etc/xen/scripts/block:添加 XENBUS_PATH=backend/vbd/16/51713
12 月 4 日 15:47:00 主机根目录:/etc/xen/scripts/vif-route:在线 type_if=vif XENBUS_PATH=backend/vif/16/0
12 月 4 日 15:47:00 主机根目录:/etc/xen/scripts/vif-route:在线 type_if=vif XENBUS_PATH=backend/vif/16/1
12 月 4 日 15:47:00 主机根目录:/etc/xen/scripts/vif-route:在线 type_if=vif XENBUS_PATH=backend/vif/16/2
12 月 4 日 15:47:00 主机内核:[83460.131540] IPv6:ADDRCONF(NETDEV_UP):vif16.0:链接未准备好
12 月 4 日 15:47:00 主机内核:[83460.135514] IPv6:ADDRCONF(NETDEV_UP):vif16.1:链接未准备好
12 月 4 日 15:47:00 主机内核:[83460.140061] IPv6:ADDRCONF(NETDEV_UP):vif16.2:链接未准备好
12 月 4 日 15:47:00 主机根目录:/etc/xen/scripts/vif-route:vif16.2 的 vif-route 成功上线。
12 月 4 日 15:47:00 主机根目录:/etc/xen/scripts/vif-route:写入后端/vif/16/2/hotplug-status 连接到 xenstore。
12 月 4 日 15:47:00 主机根目录:/etc/xen/scripts/vif-route:vif16.0 的 vif-route 成功上线。
12 月 4 日 15:47:00 主机根目录:/etc/xen/scripts/vif-route:写入后端/vif/16/0/hotplug-status 连接到 xenstore。
12 月 4 日 15:47:00 主机根目录:/etc/xen/scripts/vif-route:vif16.1 的 vif-route 成功上线。
12 月 4 日 15:47:00 主机根目录:/etc/xen/scripts/vif-route:写入后端/vif/16/1/hotplug-status 连接到 xenstore。

如果您需要更多信息,请告诉我。

答案1

配置的 vif 部分中给定的 mac 地址缺少前导零,这似乎会使 libxl 中的 mac 地址解析器感到困惑,并导致其忽略 mac 地址后的所有配置项。

您可以使用 xl create 命令的调试输出来检查解析器

xl 创建vm0-d-n

以下网络配置现在适用于我的虚拟机:(替换公共 IP 地址)

vif=['mac=fe:fd:01:00:00:00, vifname=int-vm0, 脚本=vif-bridge, bridge=int',
     ‘mac=fe:fd:01:00:00:01,vifname=ext-vm0,ip=abcd’,
     ‘mac=fe:fd:01:00:00:02,vifname=v6-vm0,脚本=vif-bridge,桥接=v6’]

相关内容