====== Russule ====== Il s'agit de la nouvelle machine : PC Engines APU2 (2019). ===== Matériel ===== {{ https://upload.wikimedia.org/wikipedia/commons/0/09/Russula_parvovirescens_89194.jpg?200}} 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 [[https://www.pcengines.ch/apu3c4.htm|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. TODO 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 ===== {{ https://upload.wikimedia.org/wikipedia/commons/b/b1/Russulamexicana.jpg?200 }} ==== 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 [[documentation:technique:git:usage-des-depots-mycelium|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 [[https://commons.wikimedia.org/wiki/File:Null_modem_DB-9_xon-xoff.svg|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'' * [[https://www.gnu.org/software/screen/|screen]] : ''screen /dev/ttyUSB0 115200'' Voir par exemple la page [[https://wiki.archlinux.org/index.php/Working_with_the_serial_console#Command_line|Working with the serial console]] du wiki Archlinux pour les autres possibilités. ===== Utilisation ===== {{ https://upload.wikimedia.org/wikipedia/commons/a/a3/Russula_viridirubrolimbata_DG1990_0706.jpg?200 }} ==== Configuration ==== === Installation initiale === Il faut se connecter physiquement au port série de l'APU via un convertisseur série (DB9) <-> USB (voir [[#acces_port_serie|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. === * dropbear : https://hamy.io/post/0009/how-to-install-luks-encrypted-ubuntu-18.04.x-server-and-enable-remote-unlocking/ * 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 [[https://wiki.arn-fai.net/benevoles:technique:vpn|wiki d'ARN]].