Table des matières
Russule
Il s'agit de la nouvelle machine : PC Engines APU2 (2019).
Matériel
La carte mPCIe (asmedia ASM1061) fournie à la base pour faire du RAID amenait à des erreurs kernel au bout d'un petit moment. Nous avons donc opté à la place pour un adaptateur mSATA → SATA (StartTech MSAT2SAT3) sur le port mSATA / mPCIe de la carte.
- Modèle : apu3c4 (voir sur pcengines.ch)
- Boitier : spécifique, prévu pour mettre un ou deux disques à côté
- Processeur : AMD GX-412TC 4 cœurs, 1 GHz
- RAM : 4 Go
- Disques durs : 2 disques SATA de 320Go (marque HGST / 5400RPM)
Réseau
- Adresse IPv4 publique : 80.67.168.245/29
- Adresse IPv6 publique : 2001:910:0:170::245/64
- Nom d'hôte : mycelium-lille.gitoyen.net
Il y a trois interfaces réseaux, une seule est utilisée pour le moment : enp3s0. Elle est connectée aux équipements sur place, et il est nécessaire de passer par le VLAN 170 (cf. schéma) afin d'être routé par Gitoyen via Ielo/Liazo.
Un pont réseau (bridge) brwan1.170 est configuré sur l'interface enp3s0.170. C'est nécessaire pour exposer les conteneurs LXC (pour le moment openvpn
) sur le même réseau, afin d'éviter d'avoir à faire notamment du routage NAT par exemple pour exposer les conteneurs.
ajouter une version à jour et simplifiée du schéma envoyé par Sebian
Conteneur openvpn
- Adresse IPv4 publique : 80.67.162.64/32
- Adresse IPv6 publique : 2001:913:4000:1001::1/64
- Nom d'hôte : vpn.mycelium-fai.org
Au démarrage du conteneur, le script /var/lib/lxc/openvpn/net-up.sh
est exécuté afin d'ajouter dans la table de routage de russule
le nécessaire pour router les blocs IPv4 et IPv6 utilisés par le service OpenVPN (80.67.162.0/26
et 2001:913:4000:100::/64
) vers ce conteneur.
Administration
Politique d'administration
Local : CIV, Lesquin. Nous dépendons de IELO-LIAZO pour la gestion des personnes habilitées à entrer dans le datacenter. Actuellement (janvier 2021), seuls A et I ont le droit d'y accéder et peuvent être accompagnés.
Hôtes : Gérée par le groupe technique. Nous administrons cette machine à la main, avec etckeeper
pour garder trace des modifications dans /etc, et utilisons Ansible pour certaines tâches (voir dépots Git).
Services : Routage depuis le lien fourni par Ielo-Liazo ↔ Gitoyen, et service VPN.
Accès SSH
Empreintes SSH : SHA256:9sNwyQ9I08pva/fjgI+OxjtWUyc/PK5gDW7Mh299D48
Voir ansible/inventory/ssh.config.hosts
dans le dépot Git.
Au (re)démarrage de la machine, il faudra se connecter à russule-dropbear
afin de déchiffrer le volume au moment où on nous invite à le faire. Dans le cas de russule-dropbear c'est configuré dans /etc/dropbear-initramfs/authorized_keys
L'empreinte du serveur SSH dropbear:
ECDSA key fingerprint is SHA256:/8xMN1DRxCCZmT8Ojk9tILrJKepBLra8KbkvbJl7LLo
Accès port série
Antoine a chez lui un câble comme ça.
Il faut absolument un convertisseur série (DB9) ↔ USB dit null modem pour pouvoir récupérer une console sur l'APU (voir par exemple ce schéma).
Brancher le convertisseur série (DB9) ↔ USB sur le port série de l'APU. Cela amène un nouveau périphérique sur son ordinateur : /dev/ttyUSB0
. Différents programmes permettent de communiquer avec ce nouveau tty :
- minicom :
minicom -D /dev/ttyUSB0 -b 115200
- screen :
screen /dev/ttyUSB0 115200
Voir par exemple la page Working with the serial console du wiki Archlinux pour les autres possibilités.
Utilisation
Configuration
Installation initiale
Il faut se connecter physiquement au port série de l'APU via un convertisseur série (DB9) ↔ USB (voir Accès port série).
Pour récupérer la sortie vidéo via le port série après le passage de Grub et le chargement du noyau, il faut s'assurer que dans les arguments du noyau il y ait bien : vga=off console=ttyS0,115200n8
. Pour cela, lors du choix de l'entrée de Grub, il faudra appuyer sur sur TAB
ou e
pour éditer l'entrée.
Enfin, il est préférable de basculer l'installeur Debian en SSH afin de poursuivre l'installation. Pour cela, une fois qu'on a démarré l'installation en mode expert, on peut se contenter d'aller à l'étape “Load components”, et cocher “network-console”. Une fois que le réseau est configuré, l'installeur proposera alors de prendre la main en SSH.
Partitionnement
partitions | /boot | / | swap | libre |
---|---|---|---|---|
type | ext2 | ext4 | swap | |
taille | 200 mo | 15 go | 6 go | ~300 go |
virtualisation | non | lvm | ||
chiffrement | non | LUKS | ||
raid | type 1 (copie) | type 1 (copie) | ||
disque 1 | raid: sda1 | raid: sda2 | ||
disque 2 | raid: sdb1 | raid: sdb2 |
Subtilités :
- la partition de /boot est en RAID pour savoir quand même booter si n'importe quel disque est défaillant.
- De plus, il est taguée avec l'inscription “-metadata=1.0” pour que les métadata RAID utiles à Grub soient en fin de partition.
- Comme cela, en cas de défaillance de GRUB, il pourra toujours utiliser cette partition de démarrage.
Chiffrement, dropbear & co.
- configuration réseau avec
ip=
: https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt
Service OpenVPN
Le service OpenVPN est installé dans le conteneur LXC openvpn
. La procédure suivie pour son installation et sa configuration est fortement inspirée du wiki d'ARN.