Installer OpenBSD 7.0 sur GandiCloud VPS
Depuis la sortie de la nouvelle plateforme cloud de Gandi GandiCloud VPS basée sur Openstack, j'essaye de chauffer le product owner qui gÚre ce nouveau produit de sortir de nouvelles distributions Linux et de nouveaux systÚmes d'exploitation dont OpenBSD.
Pour le moment, pas de OpenBSD prévu dans l'immédiat (sauf si je garantissais l'achat de 10 VPS sous OpenBSD), les gens chez Gandi travaillent sur de nouvelles features qui viendront compléter la plateforme GandiCloud sans pour autant me donner plus de détails.
Tant pis. J'Ă©tais prĂȘt Ă abandonner l'idĂ©e de faire tourner du OpenBSD sur la plateforme jusqu'Ă ce que je vois arriver la console d'urgence et le rescue mode !
Me voilĂ parti pour tenter une installation ! Je commande un nouveau VPS de type V-R1 tournant sur Debian Bullseye, j'attends quelques instants et c'est parti pour se connecter au serveur.
λ kalimdor ~ â ssh debian@openbsd4life-vps
debian@openbsd4life:~$ sudo su
La premiÚre étape est de télécharger le ramdisk Kernel de OpenBSD. Pour cela, je me rends dans les dépÎts d'OpenBSD 7.0, architecture AMD64 et je récupÚre le lien du ramdisk pour le télécharger dans mon VPS :
root@openbsd4life:~# cd /
root@openbsd4life:/# curl -O https://ftp.openbsd.org/pub/OpenBSD/7.0/amd64/bsd.rd
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4109k 100 4109k 0 0 690k 0 0:00:05 0:00:05 --:--:-- 864k
Afin que ce soit plus facile, je me rends dans le fichier /boot/grub/grub.cfg
et je récupÚre le menuentry
(le tout premier du fichier) qui permet de démarrer la Debian.
J'ouvre le fichier /etc/grub.d/40_custom
et j'y ajoute la configuration que je viens de récupérer à la fin du fichier. Je renomme le menuentry
, je supprime les lignes qui permettent de démarrer un kernel Linux que je remplace par la ligne kopenbsd /bsd.rd
. Le menuentry
devrait ressembler Ă quelque chose comme ceci :
Note: Si vous tentez la manipulation de votre cÎté, pensez à remplacer l'UUID de la partition par celle de votre serveur. Si vous souhaitez obtenir l'UUID de votre partition principale, utilisez la commande lsblk --fs
et récupérez l'UUID de la partition xvda1
(sur une autre plateforme, le nom peut diffĂ©rer et ĂȘtre sda1
ou autre chose.)
Ensuite, je viens modifier le fichier /etc/default/grub
afin d'ajouter/modifier le paramĂštre GRUB_DEFAULT
afin que celui-ci devienne :
GRUB_DEFAULT="openbsd-memboot"
Je sauvegarde puis je lance la mise Ă jour de la configuration de GRUB avec la commande update-grub
:
root@openbsd4life:/# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.10.0-9-amd64
Found initrd image: /boot/initrd.img-5.10.0-9-amd64
done
Une fois que c'est bon et qu'aucune erreur ne remonte, je redémarre le serveur avec la commande reboot
.
à partir de maintenant, il est nécessaire de se rendre dans l'admin Gandi (ou d'utiliser la CLI Openstack) et de lancer la console d'urgence.
Avec un peu de persĂ©vĂ©rance, la console d'urgence commencera Ă afficher des choses. Si tout va bien, on aperçoit le Kernel OpenBSD dĂ©marrer et Ă partir d'un certain moment, on aperçoit le message « Welcome to the OpenBSD/amd64 7.0 installation program. ». PremiĂšre victoire ! đ
C'est désormais l'heure de l'installation d'OpenBSD. Pour aller au plus simple, j'ai suivi l'assistant d'installation en mode autopilote à l'exception de la configuration de l'utilisateur et des tarballs de binaires à installer.
Lors de la configuration de l'utilisateur, je spécifie un mot de passe pour l'utilisateur root
, je lui dis que sshd
soit démarrer comme un grand, que je ne souhaite pas faire tourner XOrg et que j'autorise la connexion par mot de passe pour l'utilisateur root
(Ă passer en prohibit-password
une fois une clé SSH provisionnée !).
Pour les partitions, je laisse tout par défaut. Pour les tarballs de binaires à installer, je conserve tout sauf ce qui concerne les jeux et XOrg avec la valeur -game* -x*
.
Une fois que l'installation d'OpenBSD est terminĂ©e, il est l'heure de redĂ©marrer la machine virtuelle. Une fois connectĂ© en SSH, magie ! OpenBSD tourne sur un GandiCloud VPS ! đ
OpenBSD 7.0 (GENERIC) #224: Thu Sep 30 14:13:34 MDT 2021
Welcome to OpenBSD: The proactively secure Unix-like operating system.
Please use the sendbug(1) utility to report bugs in the system.
Before reporting a bug, please try to reproduce it with the latest
version of the code. With bug reports, please try to ensure that
enough information to reproduce the problem is enclosed, and if a
known fix for it exists, include that as well.
openbsd4life# uname -a
OpenBSD openbsd4life.openstacklocal 7.0 GENERIC#224 amd64
Configurer IPv6
Lors de l'installation, j'ai volontairement omis la configuration de la connectivité IPv6. La raison est que l'utilisation de l'autoconf ne suffit pas pour obtenir une connectivité IPv6 fonctionnelle et il est nécessaire de désactiver deux options : les IPs temporaires (RFC 8981) et le SOII (RFC 7217).
Pour ce faire, il est nécessaire de faire une petite modification dans le fichier de configuration de l'interface, dans mon cas /etc/hostname.xnf0
afin d'y ajouter -temporary -soii
Ă la ligne inet6 autoconf
. Le fichier devrait ressembler Ă ceci :
autoconf
inet6 autoconf -temporary -soii
Histoire que les IPs soient au propre, je redémarre la machine virtuelle à l'aide de la commande reboot
. Une fois de retour en SSH sur la machine virtuelle, je devrais retrouver la mĂȘme adresse IPv6 visible depuis la CLI Openstack ou depuis l'admin Gandi avec la commande ifconfig xnf0
. Un petit ping6 themimitoof.fr
permet de valider une connectivité IPv6 fonctionnelle !
openbsd4life# ping6 -c2 themimitoof.fr
ping6: Warning: themimitoof.fr has multiple addresses; using 2606:4700:3032::6815:30a
PING themimitoof.fr (2606:4700:3032::6815:30a): 56 data bytes
64 bytes from 2606:4700:3032::6815:30a: icmp_seq=0 hlim=59 time=2.184 ms
64 bytes from 2606:4700:3032::6815:30a: icmp_seq=1 hlim=59 time=2.230 ms
--- themimitoof.fr ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 2.184/2.207/2.230/0.023 ms
openbsd4life#
Conclusion
Bien que l'installation d'OpenBSD ne soit pas disponible officiellement, il est tout de mĂȘme possible de le faire soit-mĂȘme sans trop de difficultĂ©s.
Si vous ĂȘtes un aficionado d'OpenBSD ou si vous souhaitez essayer OpenBSD, n'hĂ©sitez pas Ă le reproduire de votre cĂŽtĂ© tout en ayant Ă cĂŽtĂ© de vous, le trĂšs bon OpenBSD Handbook đ.
Toutefois, n'oubliez pas qu'installer une distribution ou un autre systĂšme d'exploitation non supportĂ© par n'importe quel cloud provider ne doit faire l'objet de ticket support. Quand on voyage en terrain inconnu, on se dĂ©brouille comme un grand đ.
Quelques liens
- Page GandiCloud VPS
- Le site d'OpenBSD
- OpenBSD Handbook
- Artwork d'OpenBSD 7.0 de Natasha Allegri (utilisé pour la banniÚre de cet article)