documentation/infrastructure/machines/physiques/thot.md

106 lines
3.9 KiB
Markdown

# Thot
Ce document détaille la procédure d'installation qui a été suivi pour installer
thot.
## Installation initiale de debian
On utilise normalement l'installateur de debian en utilisant le partitonnement
suivant :
```txt
+---------------------------+ +--------------------------+
+-----------+---------------+ | +-----------------------+ | | +----------------------+ |
| /dev/sda1 | /dev/sda2 | | | /dev/sda3 | | | | /dev/sda4 | |
+-----------+---------------+ | +-----------------------+ | | +----------------------+ |
⤷ GRUB ⤷ /boot/efi | | | |
+-----------+---------------+ | +-----------------------+ | | +----------------------+ |
| /dev/sdb1 | /dev/sdb2 | | | /dev/sdb3 | | | | /dev/sdb4 | |
+-----------+---------------+ | +-----------------------+ | | +----------------------+ |
| RAID | | RAID |
+---------------------------+ +--------------------------+
⤷ /boot (/dev/md0) ⤷ see below (/dev/md1)
+-----------------------------------------------------------------------+
| /dev/md1 |
| +-------------------------------------------------------------------+ |
| | /dev/md1_crypt | |
| | +---------------------------------------------------------------+ | |
| | | /dev/mapper/thot-vg | | |
| | | +---------------------------+---------------------------+---+ | | |
| | | | /dev/mapper/thot--vg-root | /dev/mapper/thot--vg-swap | … | | | |
| | | +---------------------------+---------------------------+---+ | | |
| | | ⤷ / ⤷ swap (coucou esum) | | |
| | +---------------------------------------------------------------+ | |
| +-------------------------------------------------------------------+ |
+-----------------------------------------------------------------------+
```
Et on finit en installant GRUB sur /dev/sda.
## Dropbear
On va maintenant installer un petit serveur ssh dans le initramfs pour qu'au
boot du serveur on puisse se ssh et déchiffrer les disques.
```bash
sudo apt install dropbear-initramfs
```
On edite ensuite les options du logiciel dans
`/etc/dropbear-initramfs/config` pour lui préciser des options de lancement :
```bash
DROPBEAR_OPTIONS="-I 180 -j -k -p 2222 -s"
```
L'option importante qu'on set ici est `-p 2222` qui dit au serveur ssh
d'écouter sur le port 2222 plutôt que 22. On fait ça pour qu'un client ssh ne
croit pas que l'host ait changé entre l'état au boot et l'état courant.
En plus de ça on va fournir au serveur une clé ssh publique via laquelle on
pourra se connecter. Pour générer une clé ssh (`ssh-keygen(1)`) on fait
```bash
ssh-keygen -t ed25519 -f <keyname>
```
Puis on copie la clé publique de `<keyname>.pub` dans
`/etc/dropbear-initramfs/authorized_keys`.
### Configuration réseau
On va aussi configurer le initramfs pour configurer ses interfaces réseaux au
boot. On édite le fichier `/etc/initramfs-tools/initramfs.conf` et on rajoute
une variable `IP` à la fin du fichier :
* Pour qu'il prenne une ip statique
```bash
IP=<ip>::<gateway>:<netmask>:<hostname>:<interface>
```
* Pour qu'il prenne une ip via dhcp
```bash
IP=::::<hostname>:<interface>:dhcp
```
Ensuite, on régénère le initramfs
```bash
initramfs -u
```
Pour tester que ça fonctionne, on reboot et après le chargement du initramfs,
on fait un `ssh -i <keyname> -p <ip>` suivi d'un `cryptroot-unlock` qui
devrait vous demander la passphrase pour déchiffrer le disque.
## Installation de proxmox
<https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_11_Bullseye>
## Installation de zfs
<https://timor.site/2021/11/creating-fully-encrypted-zfs-pool/>