Xen
Contents
Xen è un monitor di macchine virtuali Open Source rilasciato sotto licenza GPL per piattaforma x86, x86_64, IA64, ARM ed altre architetture.
La creazione di una macchina virtuale Xen anche se si utilizza virt-manager avviene con la scheda di rete in NAT. Se volete utilizzare una macchina virtuale in ambiente di produzione (od anche solo come test) avete spesso bisogno di rendere tale macchina raggiungibile dall'esterno. Per fare questo occorre seguire alcuni "semplici" passi:
Disabilitare gli script di rete di Xen
Occorre editare il file /etc/xen/xend-config.sxp cambiando la linea:
(network-script network-bridge)
in
(network-script /bin/true)
Disabilitare il NetworkManager
Se il vostro NetworkManager non supporta il bridging dovete disabilitarlo:
# chkconfig NetworkManager off # chkconfig network on # service NetworkManager stop # service network start
Creare/Modificare gli script di init della rete
Se avete la vostra scheda di rete identificata da eth0 avrete sicuramente il file di configurazione dell'interfaccia già definito:
DEVICE=eth0 BOOTPROTO=none BROADCAST=150.146.70.255 HWADDR=00:30:48:59:7B:D4 IPADDR=150.146.70.29 NETMASK=255.255.255.0 NETWORK=150.146.70.0 ONBOOT=yes GATEWAY=150.146.70.1 TYPE=Ethernet BRIDGE=br0
La riga da aggiungere è BRIDGE=br0
Partendo da questo potete creare lo script di init per la vostra nuova interfaccia br0 in Bridge:
DEVICE=br0 BOOTPROTO=none BROADCAST=150.146.70.255 HWADDR=00:30:48:59:7B:D4 IPADDR=150.146.70.29 NETMASK=255.255.255.0 NETWORK=150.146.70.0 ONBOOT=yes GATEWAY=150.146.70.1 TYPE=Bridge
Attenti a scrivere bene il tipo, deve essere "Bridge" perché è case-sensitive. Poi dovete ri-avviare la rete con:
# service network restart
Alla fine del file /etc/sysctl.conf dovete aggiungere:
net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
Lanciate il comando:
# sysctl -p /etc/sysctl.conf
Non dovrebbe essere necessario modificare iptables perchè dovrebbero essere già presenti le regole necessarie.
Ri-avviare il demone di libvirt:
# service libvirtd reload
Ora potete verificare la presenza del del nuovo device condiviso:
# brctl show bridge name bridge id STP enabled interfaces br0 8000.003048597bd4 no vif22.0 eth0 virbr0 8000.000000000000 yes xenbr0 8000.feffffffffff no peth0 vif0.0
LAVORI IN CORSO! - WORK IN PROGRESS! stefano.colagreco si sta occupando di questo testo; non apportare modifiche se l'ultima modifica è recente. |