Назад | Перейти на главную страницу

Xen 4.4 смешанная маршрутизированная / мостовая сеть vm не работает

Я обновил один из своих серверов с 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 в конфигурации vm и использует только сценарии vif по умолчанию и имена интерфейсов.

Как я могу заставить мою существующую конфигурацию vm успешно работать в Xen 4.4.1?

Найдите соответствующие файлы конфигурации / журнала ниже:

Сетевая конфигурация виртуальных машин: (упомянутые мосты предварительно созданы через / etc / network / interfaces, заменены исходным общедоступным IP-адресом)

vif=['mac=fe:fd:1:00:00:0, vifname=int-vm0, script=vif-bridge, bridge=int',
     'mac=fe:fd:1:00:00:1, vifname=ext-vm0,ip=a.b.c.d', 
     'mac=fe:fd:1:00:00:2, vifname=v6-vm0, script=vif-bridge, bridge=v6']

/etc/xen/xl.conf

# default vif script to use if none is specified in the guest config
#vif.default.script="vif-bridge"
vif.default.script="/etc/xen/scripts/vif-route"

# default bridge device to use with vif-bridge hotplug scripts
#vif.default.bridge="xenbr0"

Соответствующие записи сетевого системного журнала при запуске виртуального хоста:

Dec  4 15:47:00 host root: /etc/xen/scripts/block: add XENBUS_PATH=backend/vbd/16/51713
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: online type_if=vif XENBUS_PATH=backend/vif/16/0
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: online type_if=vif XENBUS_PATH=backend/vif/16/1
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: online type_if=vif XENBUS_PATH=backend/vif/16/2
Dec  4 15:47:00 host kernel: [83460.131540] IPv6: ADDRCONF(NETDEV_UP): vif16.0: link is not ready
Dec  4 15:47:00 host kernel: [83460.135514] IPv6: ADDRCONF(NETDEV_UP): vif16.1: link is not ready
Dec  4 15:47:00 host kernel: [83460.140061] IPv6: ADDRCONF(NETDEV_UP): vif16.2: link is not ready
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: Successful vif-route online for vif16.2.
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: Writing backend/vif/16/2/hotplug-status connected to xenstore.
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: Successful vif-route online for vif16.0.
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: Writing backend/vif/16/0/hotplug-status connected to xenstore.
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: Successful vif-route online for vif16.1.
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: Writing backend/vif/16/1/hotplug-status connected to xenstore.

Пожалуйста, дайте мне знать, если вам понадобится дополнительная информация.

Указанные MAC-адреса в разделе конфигурации vif пропускают начальные нули, что, кажется, сбивает с толку парсер MAC-адресов в libxl и заставляет его игнорировать все элементы конфигурации после MAC-адреса.

Вы можете проверить синтаксический анализатор, используя вывод отладки команды xl create

xl create vm0 -d -n

На моей виртуальной машине теперь работает следующая сетевая конфигурация: (Заменен публичный IP-адрес)

vif=['mac=fe:fd:01:00:00:00, vifname=int-vm0, script=vif-bridge, bridge=int',
     'mac=fe:fd:01:00:00:01, vifname=ext-vm0, ip=a.b.c.d', 
     'mac=fe:fd:01:00:00:02, vifname=v6-vm0, script=vif-bridge, bridge=v6']