====== VirtualBox pour Debian 11 ======
===== Installation =====
# check you are in debian 11 :
lsb_release -a
# installe les packages requis :
sudo su
cd
apt update && apt dist-upgrade
apt install -y wget apt-transport-https gnupg2
# installe la clé et le référentiel GPG :
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
apt update
apt install -y virtualbox-6.1
# récupère le numéro de version précis de virtualbox installé :
dpkg -l | grep virtualbox
# installe les extensions virtualbox (remplacer le numéro de version par le votre) :
wget https://download.virtualbox.org/virtualbox/6.1.38/Oracle_VM_VirtualBox_Extension_Pack-6.1.38.vbox-extpack
vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.1.38.vbox-extpack
rm Oracle_VM_VirtualBox_Extension_Pack-6.1.38.vbox-extpack
# contrôles :
apt-cache policy virtualbox-6.1
systemctl status vboxdrv
vboxmanage list extpacks
# au cas où le service n'ai pas été correctement activé :
systemctl enable vboxdrv --now
//Source : [[https://fr.linuxcapable.com/how-to-install-virtualbox-6-1-on-debian-11-bullseye/]]//
===== Installation d'une VM =====
Ici une VM qui ne sera accessible que par le réseau virtuel local, adapté à une machine hébergée avec proxy sous apache par exemple ou pour un usage purement local. En effet pour un serveur hébergé demander un réseau par "pont" ne sera pas possible : le réseau de l'hébergeur refusera de vous donner une IP.
mkdir /home/vm
# Identifie le nom de l'interface réseau publique
ifconfig # par exemple eth0, eno1, etc.
# Remplacer "name" par le nom de la VM
vboxmanage createvm --name name --ostype Debian_64 --basefolder /home/vm --register
# Remplacer 1024 par la RAM nécessaire
vboxmanage modifyvm name --acpi on --boot1 dvd --hwvirtex on --memory 2048 --nic1 intnet --vrde off
vboxmanage createhd --filename /home/vm/name/name.vdi --size 100000
vboxmanage storagectl name --name "IDE Controller" --add ide
vboxmanage storagectl name --name "SATA Controller" --add sata
vboxmanage storageattach name --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium /home/vm/name/name.vdi
# Installer une Debian 11 (vérifier la dernière version stable disponible)
cd /home/vm
wget -O debian11.iso https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-11.5.0-amd64-DVD-1.iso
vboxmanage storageattach name --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive --medium /home/vm/debian11.iso
vboxmanage modifyvm name --vrde on
vboxmanage startvm name --type headless
# Depuis votre propre PC (nécessite une interface utilisateur graphique X11)
rdesktop host-address:3389
# Vous êtes sur l'écran de la VM : installez la debian jusqu'au reboot
vboxmanage storageattach name --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive --medium emptydrive
# Une fois le serveur bien configuré et stoppé, désactiver l'accès distant pour sécuriser :
vboxmanage modifyvm name --vrde off
===== Opérations usuelles sur VM =====
* Démarrer : ''vboxmanage startvm name --type headless''
* Arrêter (soft) : ''vboxmanage controlvm name acpipowerbutton''
* Arrêter (hard) : ''vboxmanage controlvm name poweroff''
===== Avoir une machine accessible depuis l'hôte et qui a accès à internet =====
* Il faut pour cela que la machine ait deux interfaces réseau : l'une en "réseau privé hôte" pour être accessible via une IP 192.168.56.101 depuis l'hôte et les autres VM, la deuxième en "NAT" pour avoir accès à internet.
* Dans la VM, lister les interfaces réseau **ls -al /sys/class/net** et compléter la configuration de **/etc/networking/interfaces** pour y rajouter la seconde interface (NAT) si manquante. Rebooter.
* C'est tout !