VLAN’y są prostą metodą na separację sieci. Gdy mamy wiele sieci może zajść potrzeba by poszczególne DomU miały dostęp do różnych VLAN’ów (czasem nawet wielu równocześnie). Jeżeli serwer z Dom0 posiada minimum giga-bitową kartę sieciową (a najlepiej kilka) to powinniśmy być w stanie z godziwą jakością udostępnić systemom DomU różne VLAN’y z interfejsów gospodarza.

Zaprezentowane poniżej skrypty zapożyczyłem z tej strony: http://renial.net/weblog/2007/02/27/xen-vlanexternal link

Na początek musimy zainstalować pakiet vlan:

apt-get install vlan

Później w pliku /etc/xen/xend-config.sxp ustawiamy taka skrypt dla konfiguracji sieci:

(network-script network-multi-vlan)

Tworzymy plik /etc/xen/scripts/network-multi-vlan i wpisujemy w nim (no dobra - komentarze można pominąć):

#!/bin/sh
#===================================================================
# Xen vlan bridge start/stop script.
# Xend calls a network script when it starts.
# The script name to use is defined in /etc/xen/xend-config.sxp
# in the network-script field.
#
# This script creates multiple bridges to segregate individual
# domUs to separate VLANs. Customize to fit your needs.
#
# Usage:
#
# network-multi-vlan (start|stop|status)
#
#===================================================================

dir=$(dirname "$0")

# Poniższa linijka pozwala udostępnić dany interfejs sieciowy
# w całości jako domyślny bridge - jeśli chcemy się ograniczyć
# wyłącznie do bridge'y na VLAN'ach to możemy tą linijkę
# zakomentować (jak ja)
"$dir/network-bridge" "$@" vifnum=0 netdev=eth0

# No i teraz odpalamy kolejne VLAN'y na poszczególnych interfejsach.
# Brak parametru netdev jest równoznaczny wybraniu netdev=eth0
# Parametr VLAN jest... hm... samoopisujący
"$dir/network-bridge-vlan" "$@" vlan=10 netdev=eth1
"$dir/network-bridge-vlan" "$@" vlan=11
"$dir/network-bridge-vlan" "$@" vlan=23 netdev=eth2

Pobieramy skrypt network-bridge-vlan do lokalizacji: /etc/xen/scripts/network-bridge-vlan.

cd /tmp
wget https://gagor.pl/wp-content/uploads/2012/06/network-bridge-vlan.gz
gunzip network-bridge-vlan.gz
mv network-bridge-vlan /etc/xen/scripts/network-bridge-vlan
Źródła