![Xen 4.4 混合路由/桥接网络虚拟机不工作](https://linux22.com/image/647320/Xen%204.4%20%E6%B7%B7%E5%90%88%E8%B7%AF%E7%94%B1%2F%E6%A1%A5%E6%8E%A5%E7%BD%91%E7%BB%9C%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%8D%E5%B7%A5%E4%BD%9C.png)
我已将其中一台服务器从 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’]