При необходимости использовать отдельный VLAN на вирутальном сервере, созданном с помощью Xen, можно поступить следующим образом (проверялось на RHEL 5):
1. На ноде создаём конфигурационный файл для привязки нужного VLAN'а к сетевому интерфейсу:
cd /etc/sysconfig/network-scripts
cp ifcfg-eth0 ifcfg-eth20
Оставляем следующее содержимое:
DEVICE=eth0.20
HWADDR=<ваш mac-адрес интерфейса eth0>
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
BRIDGE=xenbr20
VLAN=yes
Создаём дополнительный bridge:
touch ifcfg-br0
и помещаем в него следующее содержимое:
DEVICE=xenbr20
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=no
2. Перезапускаем сетевую подсистему, чтобы активировать изменения:
/etc/init.d/network restart
3. Идём править настройки виртуальной машины:
cd /etc/xen
vi config_name
и там изменяем строку
vif = [ "mac=00:16:3e:3e:3f:4f,bridge=xenbr0" ]
на vif = [ "mac=00:16:3e:5a:dc:8f,bridge=xenbr20" ]
Сохраняем изменения и запускаем виртуальную машину.
4. Заходим на виртуальную машину и настраиваем сетевой интерфейс:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
где прописываем правильный IP-адрес и сетевую маску из нужного VLAN'а.
5. Сохраняем изменения и активируем их:
/etc/init.d/network restart
После этого, виртуальная машина должна быть доступна по адресу из настроенного VLAN'а.