Labo virtuel personnel – quatrième partie : installation de Debian client (avec GUI XFCE 4)

Nous allons maintenant créer une machine pour un usage « client », dotée d’une interface graphique (GUI). Nous y installerons un navigateur web et un terminal confortable, afin notamment d’administrer notre serveur. En général on utilise Windows pour cela, mais nous allons expérimenter ici l’univers Linux et nous rendre compte qu’il est simple de déployer une interface graphique sur une VM légère mais néanmoins efficace.

Nous allons partir de la machine précédente en la clonant, puis en ajoutant l’environnement de bureau XFCE, réputé léger et fonctionnel.

Clonage de la première VM Debian

Un clic droit sur la VM réalisée à l’étape précédente offre l’option de clonage :

Le clonage, comme les clichés instantanés, sont un des grands intérêts de VirtualBox (et de la virtualisation en général).

On donne un nom à cette nouvelle VM, et on régénère de nouvelles adresses MAC sur les interfaces réseau (important) :

Si vous n’avez pas exactement cet écran, cliquez sur le bouton « mode guidé » en bas de la fenêtre.

L’option clone lié permet de limiter les ressources de stockage nécessaires, mais rendra cette VM dépendante de la première. Si on dispose d’un espace de stockage suffisant, il vaut mieux réaliser cependant un clone intégral :

Nous aurons besoin sur cette VM d’un lecteur optique vide pour installer les extensions VirtualBox ; on l’installe sur le contrôleur SATA existant :

On n’insère aucune image ISO dans ce lecteur.

On démarre cette nouvelle machine et on se logue en root :

le login et le mot de passe sont les mêmes sur la machine initiale.

Installation de l’environnement XFCE4

On modifie au préalable le nom de machine (hostname) de debian à debian-gui par l’éditeur nano, sans oublier de modifier aussi le fichier de résolution locale DNS de la machine (/etc/hosts) :

# nano /etc/hostname

(On valide les modifications avec CTRL-X et O)

# nano /etc/hosts
modification du fichier /etc/hosts

Ensuite on installe l’utilitaire sudo et on ajoute l’utilisateur standard (adapter selon votre propre login) au groupe des sudoers :

# apt install sudo
# adduser pascal sudo

Puis le gros morceau (quasiment 1GiB de téléchargement) : l’installation de xfce4 :

# apt install xfce4
pendant l’installation de XFCE4…

On relance la VM :

# reboot

La console propose désormais un login graphique.

IMPORTANT : il faut se connecter avec l’utilisateur sudoer et non par directement en root. En effet utiliser un environnement graphique en root génère de nombreux désagréments (essayez, vous verrez 😉 :

Le login en version GUI assuré par le display manager (ici c’est lightdm)

On va désormais installer les utilitaires et pilotes VirtualBox pour rendre l’environnement plus ergonomique (ils vont permettre notamment de mettre en place le copier/coller et le glisser/déposer entre la VM et la machine hôte, et de dimensionner dynamiquement la définition graphique de la VM).

On insère d’abord le CD d’installation des « additions VirtualBox » :

L’icône du lecteur optique avec le CD doit apparaître sur le bureau XFCE. En cas d’échec, vérifier que vous avez bien un lecteur optique installé sur la VM.

Ensuite, on ouvre le terminal depuis le dock XFCE :

On continue dans ce terminal, en installant les prérequis (ligne 1), en montant le CD dans le système de fichiers (lignes 2 à 4), puis en lançant le script d’installation (ligne 5) ; enfin, on redémarre la VM (ligne 6) :

$ sudo apt install bzip2
$ sudo mkdir -p /mnt/cdrom
$ sudo mount /dev/cdrom /mnt/cdrom
$ cd /mnt/cdrom
$ sudo ./VBoxLinuxAdditions.run
$ sudo reboot

On peut remarquer que désormais l’interface graphique s’ajuste à la taille de la fenêtre. Il peut (très) utile aussi d’activer le presse-papier partagé bidirectionnel depuis le menu « périphériques » de la console VirtualBox. Et pourquoi pas également le glisser-déposer.

Enfin, nous allons installer le navigateur Firefox et une application de terminal plus ergonomique (terminator par exemple) :

$ sudo apt install -y firefox-esr terminator

Vérifications

Pour vérifier tout ça, depuis le dock on relance un terminal (qui doit être terminator désormais) et on ping un domaine public, comme debian.org.

On ouvre également depuis le dock le navigateur Web (Firefox) et on se rend sur la page web de debian.org :

NB : si la notion de « connexion ssh au serveur » n’est pas très claire pour vous, ce n’est pas grave, nous aborderons ceci dans les prochains tutoriels.

Sauvegarde de l’état de la VM

Ne pas oublier d’éteindre et de prendre un « snapshot » de cette machine cliente, pour pouvoir la restaurer dans cet état « post installation ».

Conclusion (mais ce n’est pas fini…)

Nous disposons au terme de ces quatre étapes des machines de notre laboratoire virtuel sur le thème « Linux » (nous verrons par ailleurs un homelab sur le thème « Windows »).

J’espère que jusque là tout est ok pour vous ! Il nous reste une dernière étape visant à interconnecter nos VM dans le LAN virtuel et à réaliser le paramétrage de base de pfSense.

Labo virtuel personnel – troisième partie : installation de Debian Core (mode serveur)

Nous allons créer une VM dotée du système d’exploitation GNU/Linux, selon la distribution assez universelle Debian, dans un mode minimal (ou « core »). Cette configuration est idéale pour déployer un serveur basé sur GNU/Linux.

Image ISO d’installation

Il faut tout d’abord récupérer l’image ISO d’installation de Debian, dernière version, pour architecture x64. On prend la version minimale « net install » : les compléments seront téléchargés lors de l’installation (une connexion à Internet est nécessaire).

Le nom du fichier ISO est de cette forme : debian-x.x.x-amd64-netinst.iso

On trouve cette image à l’emplacement suivant (en bas de page) :

https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/

Vérification de l’image téléchargée (option recommandée)

Sur le site indiqué, on peut aussi récupérer les hash SHA256 des images, afin de contrôler l’intégrité du fichier téléchargé. Le fichier des hash est SHA256SUMS

La page web de téléchargement des ISO Debian GNU/Linux

Vérification sous Windows avec l’utilitaire hashcheck (ajoute un onglet « Hachages » sur les propriétés du fichier) :

C’est toujours une bonne précaution de vérifier la signature d’un téléchargement.

Création et configuration de la VM

Depuis VirtualBox, taper CTRL+N (ou menu Machine / Nouvelle), puis choisir le « mode expert » ; attention à bien cocher l’option « skip Unattended Installation ». En effet, on souhaite maîtriser complètement le processus d’installation :

On affecte 1024 MO de RAM et un cœur de CPU :

Configuration de la partie « compute » ; on utilise ici un BIOS standard (legacy) et non EFI, mais c’est juste par habitude. Debian supporte très bien le mode EFI.

Et on crée un nouveau disque VDI de 20 Gio :

configuration de la partie « storage »

On clique « finish » : la machine est créée.

Configuration de la VM

Cliquer sur Configuration, on obtient la page des paramètres de la VM :

Dans la rubrique « Système », choisir une souris PS/2, ceci permettra plus loin de pouvoir désactiver les contrôleurs USB :

On désactive le matériel audio, inutile dans notre cas :

Un principe basique de sécurité informatique : ce qui n’est pas utile doit être désactivé.

Notre VM doit ultimement être connectée sur le LAN, mais pfSense n’a pas encore été configuré, on va donc utiliser pour le moment une connexion de type « NAT » afin qu’elle ait accès à Internet :

La section « advanced » permet notamment de choisir le type d’interface matérielle (laisser par défaut) et de récupérer (ou modifier) l’adresse MAC de cette interface.

On retire l’USB inutile :

La machine est prête. On la lance :

Installation de Debian en mode « core »

Pour la phase d’installation on peut utiliser le mode graphique qui est plus confortable ; voici quelques-unes des étapes importantes :

Il ne faut confondre installation en mode graphique et installation d’une interface graphique sur le système final (cette option est choisir plus loin).

L’écran est un peu différent si on a activé le mode EFI :

Valider plusieurs fois de suite les options linguistiques (France)

La détection automatique des paramètres réseau doit se passer sans encombre si la machine est bien connectée à Internet.

Définir le hostname (nom de la machine) : debian

définition du hostname (nom de la machine)

Domaine : on laisse vide

Mot de passe pour le super-utilisateur root (par exemple simplement « root » car il s’agit de tests uniquement. En production, il faudra quelque chose de plus élaboré : 12 caractères (min, maj, chiffres, caractères spéciaux)

Il est également possible de ne pas saisir de mot de passe pour l’utilisateur root, auquel cas ce compte sera désactivé, et le compte utilisateur défini ensuite aura des droits « d’élévation » (sudoer) pour accéder aux privilèges de root. Ceci peut être utile en mode production, mais pour notre cas, nous activons le compte root :

définir le mot de passe root active le compte root.

On déclare aussi un utilisateur standard (remplacer bien sûr pascal par vos propres prénom et nom) :

Le système propose alors un login (identifiant) ; là aussi utiliser quelque chose qui vous est propre (prénom), mais attention, les caractères utilisables sont limités :

Et mot de passe (idem, rester simple pour les tests) :

Pour le partitionnement et le formatage du disque, on conserve les propositions par défaut :

Attention ici l’option proposée par défaut sera « Non », car cette action efface le disque concerné ; il faut donc choisir « Oui » :

Oui, oui, on veut bien effacer le disque (qui d’ailleurs est totalement vide).

L’installation du système de base commence…

Pas d’autre CD ou DVD supports d’installation, le reste se fera en ligne, via un site de dépôt :

Choix d’un miroir (site de téléchargement des paquets Debian) :

Pas de proxy (sauf cas très particulier lié à votre environnement) :

laisser la zone vide, et continuer.

L’installateur configure le gestionnaire de paquets, puis propose de participer aux statistiques d’utilisation des paquets :

au libre choix de chacun de participer à ces statistiques, consultables sur https://popcon.debian.org

Puis l’installateur propose d’installer des paquets complémentaires, on désélectionne tout (en effet, on veut l’environnement le plus léger possible) :

on ne conserve aucune option, même si certaines semblent pouvoir être utiles plus tard.

Puis enfin, l’installation de GRUB (cette étape n’existe pas si on a choisi l’option EFI) :

Sans installation de GRUB, le système ne démarrera pas !
choisir le disque principal (et unique) pour l’installation de GRUB

L’installation est terminée :

En cliquant sur « continuer », la VM redémarre.

La machine est en mode console, et invite à entrer un login. On se logue en root :

puis on vérifie qu’une IP a bien été attribuée (DHCP) :

# ip -c a

On peut aussi vérifier la connectivité à Internet et la résolution de nom DNS :

# ping 1.1.1.1
# ping debian.org

On lance ensuite les mises à jour :

# apt update
# apt upgrade

Puis on éteint la VM :

# poweroff

Il reste à supprimer le lecteur optique du système ainsi que son contrôleur, devenus inutiles :

Sauvegarde de l’état de la VM

Puis enfin, prendre un instantané (snapshot) de la machine dans cet état initial, pour pouvoir y revenir ensuite, ou réaliser des clones :

donner un nom au cliché, par exemple « post installation ».

Et voilà notre VM terminée ! J’espère que tout s’est passé sans problème pour vous.

Ce genre de machine Debian « core » est la base idéale pour déployer des services : serveurs de base de données, serveur HTTP, Docker, …

Nous utiliserons cette référence pour nos prochaines expériences.

La prochaine étape : cloner cette Debian basique, et lui apporter un environnement du bureau ultra-léger (XFCE4), afin de disposer dans notre labo d’une machine de type « client ». Son rôle sera de nous offrir un environnement graphique (GUI) pour pouvoir administrer « confortablement » à distance les machines de type « serveur », tout en mobilisant le moins de ressources possibles (empreinte légère).

Labo virtuel personnel – première partie : présentation et installation de VirtualBox

Introduction

La version 7 de VirtualBox est sortie depuis quelques semaines maintenant. A cette occasion, je vous propose un guide pratique pour la mise en place d’un laboratoire systèmes & réseaux personnel, léger, virtuel et open source. Cette version majeure de VB apporte en effet des évolutions attendues qui confortent cet hyperviseur de niveau 2 comme une solution fiable et maintenue pour la virtualisation de systèmes.

Ce guide se veut aussi complet, précis et universel que possible, sans trop charger de détails inutiles. Il est revérifié régulièrement au gré des mises à jour des différentes solutions utilisées.

Prérequis

Pour réaliser avec succès tous ces travaux, il faut disposer d’un ordinateur équipé au minimum d’un processeur x64 (Intel ou AMD) avec 4 cœurs physiques, 8 Gio de RAM (16 étant plus confortable), un stockage de type SSD avec au minimum 100 Gio libres et une interface réseau connectée à Internet, de préférence filaire. Sur cet ordinateur hôte, qui n’est pas dédié à ce rôle d’hyperviseur, le système d’exploitation sera probablement MS Windows 10 ou 11. On essaiera d’avoir une installation la plus « propre » possible. Pour plus d’infos à ce sujet, rendez-vous à la fin de ce premier article. VirtualBox est également disponible pour les autres OS courants.

Présentation du labo virtuel

Notre objectif est donc de mettre en œuvre un environnement de travail (labo) virtuel de base pour expérimenter diverses configurations systèmes & réseaux.

Il a été conçu pour demander de moins de ressources possibles, afin d’être déployé sur un PC standard à partir de solutions open source. Pour cela on va s’appuyer sur :

  • L’hyperviseur de niveau 2 VirtualBox
  • La solution pfSense® pour le cœur de réseau (interface WAN / LAN)
  • Debian GNU/Linux pour les systèmes (un serveur en mode console et un client en mode GUI (Interface Graphique pour l’Utilisateur).

Voici le schéma logique du labo virtuel que nous aurons mis en place à la fin de ce guide :


Versions

ElémentVersion
OS hôteMicrosoft Windows 11 Professionnel
Version 22H2 (Build OS 22621.963)
VirtualBox7.0.2
pfSense2.6.0
Debian Linux11.5 (Bullseye)
XFCE4.16
Versions des différents éléments logiciels utilisés

VirtualBox : l’hyperviseur

Téléchargement et installation

VirtualBox est un logiciel hyperviseur de niveau 2, libre et gratuit, il existe pour les environnements MS Windows, Mac OS X et Linux notamment.

Rendez-vous sur : https://www.virtualbox.org/

La page d’accueil du site officiel.

Après le téléchargement propre à votre environnement, procéder à l’installation avec les options par défaut proposées.

VirtualBox Extension Pack

Télécharger également le pack d’extensions, qu’il faut lancer après avoir terminé l’installation de VirtualBox :

La page des téléchargements, avec le pack d’extensions.

Personnalisation de VirtualBox

Il peut être intéressant de personnaliser certains paramètres de VirtualBox en fonction de vos habitudes ou environnement. Voici quelques exemples.

Touche « hôte »

La touche hôte permet de redonner la main à la machine hôte lorsque le clavier et/ou la souris sont « capturés » par la machine virtuelle. Par défaut c’est la touche Ctrl droite du clavier, mais si votre clavier n’a pas cette touche ou encore si vous êtes habitués au couple Ctrl + Alt de VMWare, on peut modifier ; appuyer sur Ctrl+G ou depuis le menu « fichier », cliquer sur « paramètres », puis sur l’onglet « entrée » :

La fenêtre de réglage des préférences de VirtualBox.

Emplacement par défaut

Autre élément intéressant, l’emplacement par défaut pour enregistrer les fichiers (machines et disques virtuels) ; cette option vous permet de stocker ces fichiers qui peuvent être volumineux sur un emplacement secondaire de votre machine hôte. Il est recommandé toutefois que cet emplacement soit rapide (de type SSD notamment).

Toujours dans les paramètres :

Sélection de l’emplacement par défaut des machines et disques virtuels.

Pourquoi préférer Oracle VirtualBox à VMWare Workstation ?

Voilà une question qui revient souvent quand il s’agit de choisir un environnement de virtualisation sur PC personnel. VirtualBox n’est pas forcément une préférence, c’est ici un choix orienté vers les solutions open source. Il y a des raisons pour préférer parfois VMWare Workstation à VirtualBox (meilleure gestion de la virtualisation imbriquée et meilleure stabilité graphique notamment). VirtualBox intègre en revanche des fonctionnalités de snapshot et de clonage, qui ne sont disponibles que dans les versions payantes de VMWare Workstation.

Trucs, astuces, limites et problèmes connus

Activer les fonctionnalités de virtualisation du processeur

Les processeurs actuels de la famille x86/x64, Intel ou AMD, intègre un jeu d’instructions complémentaire pour optimiser le fonctionnement de la virtualisation sur le système d’exploitation. Ces fonctionnalités s’appellent VT-x ou AMD-v et doivent être activées dans le micrologiciel du PC (BIOS / EFI). En général, elles le sont par défaut, mais il convient de vérifier au besoin (les hyperviseurs signalent en général assez clairement quand ces fonctions ne sont pas activées).

Activer la virtualisation imbriquée sous VirtualBox

Par défaut la virtualisation imbriquée (« nested virtualization ») n’est pas active sous VB. Si l’on souhaite réaliser une VM capable elle-même de réaliser de la virtualisation, l’option existe mais elle n’est pas accessible :

L’option « Activer VT-x/AMD-V imbriqué » est grisée, non accessible.

Pour l’activer, il faut utiliser la ligne de commande Windows :

> cd 'C:\Program Files\Oracle\VirtualBox'
> ./vboxmanage.exe list vms
…
"nom_de_la_VM" {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
…
> ./vboxmanage.exe modifyvm "nom_de_la_VM" --nested-hw-virt on

NB : la ligne de commande Windows n’est pas sensible à la casse, mais VirtualBox l’est : respecter la casse pour le nom de la VM.

Et ainsi :

L’option « Activer VT-x/AMD-V imbriqué » est est désormais activée pour la VM.

Notons que la virtualisation imbriquée est un « montage » délicat. Depuis quelque temps, installer ProxMoxVE sous VB fonctionne, mais les VM créées sous PVE ne fonctionnent pas (c’est peut-être un bug temporaire). De même, l’installation de VMWare ESXi ne fonctionne pas.

Les VM créées sous VirtualBox se plantent au démarrage

Après une installation réussie, certaines VM après le démarrage se plantent avec des messages d’erreur système assez « dramatiques » : kernel panic et autres. Il y a plusieurs choses à faires :

1 – désactiver les fonctionnalités de virtualisation de Windows

Tapez la touche Windows + R, puis appwiz.cpl et Entrée (ceci lance le panneau de configuration, section « programmes et fonctionnalités »)

Cliquer sur « activer ou désactiver des fonctionnalités Windows » :

Dans la liste, décocher ces fonctionnalités si elles sont actives :

  • hyperV
  • plateforme de l’hyperviseur Windows
  • plateforme de machine virtuelle
  • sous-système linux

2 – désactiver l’isolation du noyau (core isolation)

Cette fonctionnalité de sécurité Windows assez récente empêche la plupart du temps VirtualBox de fonctionner correctement.

Rechercher « core isolation » dans la barre de recherche de Windows, et désactiver l’option :

La fonctionnalité d’isolation du noyau.

Et ensuite ?

Rendez-vous maintenant au prochain article pour l’installation de la première VM de notre labo : pfSense.