Se il processore supporta le estensioni hardware per la virtualizzazione, possiamo procedere con l’installazione del software necessario e le relative dipendenze, utilizzando i seguenti comandi.
[code]
# yum groupinstall "Virtualization Tools" "Virtualization Platform"
# yum install python-virtinst virt-install wget
[/code]
Attivare il servizio libvirtd
libvirtd è il demone server del sistema di gestione della virtualizzazione libvirt. Per attivarlo e far sì che venga eseguito automaticamente all’avvio, eseguiamo:
[code]
# chkconfig libvirtd on
# service libvirtd start
[/code]
Si può verificare che libvirtd sia stato lanciato correttamente verificando gli output dei comandi seguenti:
[code]
# service libvirtd status
libvirtd (pid 31128) is running...
# virsh -c qemu:///system list
Id Name State
----------------------------------------------------
[/code]
Installare e configurare un bridge di rete
Per impostazione predefinita, le macchine virtuali create avranno accesso soltanto al sistema host e ad altre macchine virtuali sul medesimo host. Per
rendere possibile l’accesso a Internet, è necessario creare un bridge.
Per prima cosa occorre installare gli strumenti a corredo del supporto per il bridging software del kernel Linux:
[code] # yum install bridge-utils [/code]
Conviene anche disinstallare NetworkManager, per evitare difficoltà di gestione della rete:
[code] # yum -y erase NetworkManager [/code]
Durante l’installazione di CentOS è stata certamente configurata almeno un’interfaccia di rete. Supponendo che tale interfaccia sia identificata con enp0s5, e che sia stato utilizzato il DHCP per la scelta del relativo indirizzo IP, occorre:
-
Modificare il file /etc/sysconfig/network-scripts/ifcfg-enp0s5 come segue (attenzione: HWADDR, NAME ed UUID non devono essere modificati nel vostro file!):
[code]
HWADDR="00:AA:BB:CC:DD"
TYPE="Ethernet"
BOOTPROTO="none"
NAME="enp0s5"
UUID="4a8e3f7f-b178-4bf5-9de1-56a36a755821"
ONBOOT="yes"
BRIDGE="br0”
[/code] -
Creare il file /etc/sysconfig/network-scripts/ifcfg-br0, con il contenuto seguente:
[code]
TYPE="Bridge"
BOOTPROTO="dhcp"
DEFROUTE="yes"
DEVICE=br0
ONBOOT="yes"
DELAY=0
[/code]
A questo punto le nuove impostazioni di rete possono entrare in funzione:
[code]
chkconfig network on
service network restart
[/code]
Si noti che, se si sta accedendo al server tramite SSH, il riavvio dei servizi di rete potrebbe comportare, in caso di errori, la perdita della connettività. È bene, quindi, verificare preventivamente la correttezza delle modifiche apportate, altrimenti potrebbe essere necessario dover accedere al server in altri modi.
Sblocco del firewall e abilitazione del forwarding IP
Sebbene a questo punto il bridging sia stato abilitato, le interfacce di rete che lo utilizzano non trasmetteranno pacchetti se non viene abilitato l’IP
forwarding. Per fare questo occorre eseguire i comandi:
[code]
# sed -i 's/^\(net.ipv4.ip_forward =\).*/\1 1/' /etc/sysctl.conf; sysctl –p
# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
# service iptables save
# service iptables restart
[/code]
SELinux
Per sicurezza, occorre ripristinare i permessi SELinux dei file modificati, con il comando restorecon:
[code] # restorecon -Rv /etc/sysconfig/ [/code]
Se il sistema è stato appena installato, per evitare problemi al riavvio è utile anche eseguire quanto segue:
[code] # touch /.autorelabel [/code]
Verificare il bridge
Per verificare che il bridge sia attivo e che le sue impostazioni siano corrette, è possibile utilizzare i comandi:
[code]
# brctl show
# ip addr show br0
# ip route
[/code]
Si può anche provare anche a verificare la raggiungibilità di un sito esterno:
[code] # ping google.it [/code]