Pour la rédaction de cette Saga Firebox, j’avais besoin de réaliser des captures d’écran de la sortie console de pfSense. N’ayant pas le temps de remettre en route une de nos Firebox inutilisées, j’ai préféré la virtualiser. Ces instructions peuvent être adaptés à d’autres logiciels VMWare, pour les utilisateurs de GNU/Linux, par exemple.

Conversion de l’image disque

VMWare Fusion ne peut pas utiliser en guise de disque dur une image disque au format .img. Il faut donc convertir l’image disque en une image disque dur au format VMWare. Pour ce faire, j’utilise l’utilitaire qemu-img (présent dans le paquet qemu sur homebrew).

qemu-img convert pfSense-2.2.1-RELEASE-1g-amd64-nanobsd.img -O vmdk pfSenseNanoBSD.vmdk

Cette commande crée un nouveau fichier pfSenseNanoBSD.vmdk que nous allons utiliser par la suite pour créer notre machine virtuelle.

Création de la machine virtuelle

Lancez la procédure d’une machine virtuelle. Choisissez l’option pour créer une machine virtuelle personnalisée.

Au choix du disque dur, sélectionnez le fichier créé dans l’étape précédente. Vous pouvez choisir d’utiliser directement ce fichier ou le copier en fonction de vos besoins.

Le reste des réglages ne nécessite pas d’attention particulière.

Ajouter un port série à la VM

Tout d’abord rendez-vous dans les options de la machine virtuelle, et ajoutez un port série. J’ai choisi ici d’enregistrer les données dans le fichier /tmp/serpf.

Repérez le fichier de la machine virtuelle, explorez son contenu (Clic droit puis Afficher le contenu du Paquet) et éditez à l’aide d’un éditeur texte le fichier de configuration de la machine virtuelle (son nom se termine par .vmx).

Repérez à présent les lignes relatives au port série et changez l’attribut serial0.fileType de file à pipe :

serial0.present = "TRUE"

serial0.fileType = "pipe"

serial0.fileName = "/private/tmp/serpf"

A présent nous allons utiliser socat qui va nous permettre de se connecter avec screen au port série virtuel. Lancez votre machine virtuelle, puis une fois lancée, ouvrez un terminal et tapez la commande suivante :

socat /tmp/serpf PTY,link=/tmp/tty

En gardant le terminal ouvert, ouvrez-en un autre et connectez-vous au contrôleur de terminal que nous venons de créer avec screen :

screen /tmp/tty

Conclusion

Et voilà, vous pouvez désormais virtualiser un pfSense NanoBSD console, et le piloter depuis le terminal de votre choix !

pfSense en train de démarrer en mode console

A gauche l’écran sur la VM, à droite la console