Introduzione:
Questo HowTo presuppone che l'accesso a Internet dalle macchine virtuali tramite DOM0 e la LAN privata avvenga utilizzando il metodo Bridge. Nelle versioni precedenti dell'installazione di Xen i bridge erano costruiti dinamicamente tramite gli script Xen, in questa versione i bridge sono costruiti in modo permanente all'avvio del DOM0.DOM0:xenbr0(eth0) ---bridging==>> DOMUs:eth0
DOM0:pdummy0(dummy0) ---bridging==>> DOMUs:eth1
IMPORTANTE: Se stai installando Xen in un server dedicato Hetzner (Germania) e utilizzi solo gli IP disponibili (max 3) per le DOMU, devi assicurarti di generare un indirizzo MAC per ogni IP DOMU nel sito del robot Hetzner del tuo server, quindi utilizzare questo indirizzo MAC nella configurazione di DOMU Xen. Se si utilizza una sottorete di 8 o più IP nel server Hetzner per DOMU, questo metodo di bridging non funzionerebbe. Segui invece le istruzioni mostrate qui:https://wp.me/pKZRY-F9
Installa Xen Hypervisor e alcuni strumenti utili apt-get install xen-hypervisor-4.4-amd64 xen-utils-4.4 bridge-utils ethtool iptables
Alcuni preparativi extra
Poiché ogni disco virtuale deve essere montato utilizzando un dispositivo loop, dobbiamo assicurarci che ce ne siano abbastanza disponibili nel sistema.
Modifica il file /etc/modules e aggiungi:loop max_loop=64
dummy
Dobbiamo anche attivare l'inoltro IPv4 nel kernel.
Modificare il file /etc/sysctl.conf (attorno alla riga 44) attivare la riga rimuovendo il '#' come segue:net.ipv4.ip_forward=1
Esegui il seguente comando per attivarlo:sysctl -p /etc/sysctl.conf
CONFIGURAZIONE DELLA RETE in DOM0
Sulla base delle ipotesi IP di cui sopra, ecco il contenuto del file /etc/network/interfaces .# Internet Access nterface
auto xenbr0
iface xenbr0 inet static
address 85.114.145.5
netmask 255.255.255.0
network 85.114.145.0
broadcast 85.114.145.255
gateway 85.114.145.1
bridge_ports eth0
#
auto eth0
iface eth0 inet manual
#
# Internal LAN between VMs and DOM0
auto pdummy0
iface pdummy0 inet static
address 192.168.100.1
netmask 255.255.255.0
bridge_ports dummy0
#
auto dummy0
iface dummy0 inet manual
Per assicurarci che gli script Xen non creino i normali bridge all'avvio di DOMu, dobbiamo ostacolare questo processo:
modificando il file /etc/xen/xend-config.sxp e cambia la riga:(attorno alla riga 176)
DA:(network-script network-bridge)
TO:(network-script none)
reboot
Configurazione delle DOMU
Configurazione DOMU
PyGRUB
Se le configurazioni delle tue DOMU sono impostate per utilizzare pygrub come boot loader,
assicurati che il percorso di pygrub nel file di configurazione DOMU sia corretto come segue:bootloader = '/usr/lib/xen-4.4/bin/pygrub'
Nello stesso file di configurazione DOMU, assicurati di utilizzare un indirizzo MAC non duplicato con l'assegnazione delle interfacce di rete e definisci il bridge che verrà utilizzato da questo DOMU, ad esempio:vif = [ 'ip=46.7.178.112,mac=00:16:34:D7:9C:12,bridge=xenbr0', 'ip=192.168.100.112,mac=00:16:3E:D7:1C:12,bridge=pdummy0' ]
NOTA: Se non si utilizza PyGRUb e si desidera utilizzarlo come boot loader per ogni singola DOMU, il che rende il kernel delle DOMU indipendente dal DOM0, vedere il seguente articolo. Si noti che in Ubuntu 14.04 il percorso di pygrub è diverso rispetto all'articolo. Ogni nuova versione di Xen ha un percorso diverso per PyGRUB e anche il resto dell'articolo è completamente accurato per Ubuntu.
http://tipstricks.itmatrix.eu/?s=pygrub&x=0&y=0
Configurazione di rete DOmus
Ogni DOMu riceverà un'interfaccia lo ed eth0 con la seguente configurazione:
Sto utilizzando il primo IP della nostra sottorete per questa DOMU e sarà quindi configurato come segue:
Nota:questa configurazione non è proprio standard poiché utilizza ogni IP con la netmask /32 (255.255.255.255).
Questa impostazione consente a ciascun IP della sottorete di essere utilizzabile da ogni DOMu.
File:/etc/network/interfaces
Contenuto:# The loopback network interface
auto lo
iface lo inet loopback
#
# The primary network interface
auto eth0
iface eth0 inet static
address 46.7.178.112
netmask 255.255.255.255
gateway 46.7.178.1
#
# The internale LAN interface(will be connected to pdummy0 on DOM0)
auto eth1
iface eth1 inet static
address 192.168.100.112
netmask 255.255.255.0