Présentation
Virtualbox est un outil permettant de virtualiser un environnement informatique complet. C’est Ă dire que vous crĂ©ez une sorte d’ordinateur virtuel sur lequel vous pouvez installer un système d’exploitation de votre choix tel qu’Ubuntu, Debian, Fedora, Gentoo et mĂŞme Windows ou Mac (pour peu que vous disposiez d’une licence vous l’autorisant).
Utiliser l’outil sur une machine distante
L’idĂ©e est de mettre en service un outil VirtualBox sur une machine distante. Puis de se connecter dessus de manière sĂ©curisĂ©e Ă l’aide d’un tunnel SSH et un outil graphique pour les manipulations habituelles.
On a donc besoin :
- d’un serveur SSH
- le port 18083 pour des requĂŞtes SOAP
- le port 3389 est utilisĂ© pour des requĂŞtes RDP, c’est Ă dire pour afficher le contenu de la console Ă l’Ă©cran
- de RemoteBox pour l’interface graphique
Installation
- Ajout de la ligne suivante Ă /etc/apt/sources.list
deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free
- Ajout de la clé publique VirtualBox :
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
- Mise à jour des dépôts
apt-get update
- Installation de VirtualBox :
apt-get install virtualbox-4.3
- Installer DKMS pour les mises Ă jour noyau :
apt-get install dkms
Extension Pack
- VĂ©rification de la version de VirtualBox :
VBoxManage -v
- Suis allé sur http://download.virtualbox.org/virtualbox/ pour chercher ladite version
- TĂ©lĂ©chargement de l’extension pack :
wget http://download.virtualbox.org/virtualbox/4.3.8/Oracle_VM_VirtualBox_Extension_Pack-4.3.8-92456.vbox-extpack
- Installation du pack :
VBoxManage extpack install *.vbox-extpack
On crĂ©e le fichier /etc/default/virtualbox dans lequel on met la ligne suivante (chez moi j’ai mis root comme utilisateur) :
VBOXWEB_USER="virtual"
VBOXWEB_TIMEOUT=0
VBOXWEB_LOGFILE="/var/log/vboxwebservice.log"
VBOXWEB_HOST="myserver.example.com"
DĂ©marrage du service :
service vboxweb-service start
Sur notre machine (interface graphique cliente)
On va utiliser RemoteBox .
Pré-requis
apt-get install libgtk2-perl libsoap-lite-perl freerdp-x11
Installation
wget http://remotebox.knobgoblin.org.uk/downloads/RemoteBox-1.7.tar.bz2
tar xvf RemoteBox-1.7.tar.bz2
cd RemoteBox-1.7
./remotebox
RemoteBox devrait de lancer.
Enlever l’identification
Ceci permet d’enlever l’identification (quand ça pose problème) :
vboxmanage setproperty websrvauthlibrary null
Redirection de port sur la machine virtuelle
Cf. http://www.virtualbox.org/manual/ch06.html#natforward
Il suffit de faire :
VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,,2222,,22"
OĂą :
- VM name est le nom de la machine virtuelle
- 2222 le port local (de la machine hĂ´te)
- 22 le port Ă utiliser au sein de la machine virtuelle
RĂ©cupĂ©rer partition windows pour l’utiliser dans VirtualBox
Préparer un massacrage de Windows 8
Vous avez démonté un disque dur avec Windows 8 pré-pourri à l'intérieur. Vous voulez copier à l'identique le contenu dans une image VDI (le supplice étant réalisé sous VirtualBox).
sudo dd if=/dev/sdc of/media/TEMP/disque.dd
VBoxManage convertfromraw disque.dd disque.vdi --format VDI
rm disque.dd
Adaptez selon votre situation. Amusez-vous bien.
(ne pas oublier de bien supprimer la table de partitions du disque dur et en Ă©craser le contenu avant d'en faire usage: Windows 8 est un virus dangereux qui se propage Ă toute allure)
Ouverture de ports
Imaginons que vous vouliez utiliser le port 2222 pour vous connecter Ă un service (serveur SSH par exemple) du port 22 de la machine virtuelle, faites:
VBoxManage setextradata "Nom de la machine dans VirtualBox" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort" 2222
VBoxManage setextradata "Nom de la machine dans VirtualBox" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" 22
VBoxManage setextradata "Nom de la machine dans VirtualBox" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol" TCP
Ensuite on se connecte Ă utilisateur@localhost:2222
Pour lister les modifications faites :
VBoxManage getextradata "Nom de la machine dans VirtualBox" enumerate
Pour annuler les modifications, ne donnez pas de valeurs, par exemple :
VBoxManage setextradata "Nom de la machine dans VirtualBox" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort"
VBoxManage setextradata "Nom de la machine dans VirtualBox" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort"
VBoxManage setextradata "Nom de la machine dans VirtualBox" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol"
PXE sous Virtualbox
Il suffit de :
- configurer la machine pour démarrer sur le réseau en premier
- configurer le réseau en accès par pont
- choisir la carte réseau dont le chipset est Am79C970A ou Am79C973
DĂ©marrer la machine virtuelle est profitez ;)
Alias Bash/Zsh pour Virtualbox
Pour gérer rapidement ses machines virtuelles (merci à Quentin Theuret pour le partage) :
alias startvbox='vboxmanage startvm --type headless'
alias vbstart='vboxmanage startvm'
alias showvbox='vboxmanage list vms'
alias vbshow='vboxmanage list vms'
function stopvbox {
vboxmanage controlvm $1 poweroff;
}
alias vbstop='stopvbox'
function savevbox {
vboxmanage controlvm $1 savestate;
}
alias vbsave='savevbox'
Autre fonction pour faciliter (merci Ă Vincent Greiner du partage):
vm()
{
if [ $2 == 'start' ]
then
VBoxManage startvm $1 --type headless
elif [ $2 == 'stop' ]
then
VBoxManage controlvm $1 stop
elif [ $2 == '!stop' ]
then
VBoxManage controlvm $1 acpipowerbutton
elif [ $2 == 'savestate' ]
then
VBoxManage controlvm $1 savestate
elif [ $2 == 'resume' ]
then
VBoxManage controlvm $1 resume
fi
}
Liens utiles
Utiliser une partition Windows réelle comme support de machine virtuelle
Bonne lecture :
- http://www.virtualbox.org/manual/ch09.html#rawdisk
- http://geekery.amhill.net/2010/01/27/virtualbox-with-existing-windows-partition/
- https://forums.virtualbox.org/viewtopic.php?f=6&t=49640
Autre
- RemoteBox : Outil d’utilisation de VirtualBox Ă distance (client GTK)
- http://www.admin-magazine.com/Articles/Server-Virtualization-with-VirtualBox : Utiliser VirtualBox comme serveur de virtualisation
- http://www.perkin.org.uk/posts/create-virtualbox-vm-from-the-command-line.html : Créer une machine virtuelle en ligne de commande