From 8c4705c02cdcd2f974535e3be7d0fd89e546e45a Mon Sep 17 00:00:00 2001 From: vincent Date: Tue, 23 Aug 2022 19:11:12 +0200 Subject: =?UTF-8?q?D=C3=A9but=20guide=20d=C3=A9ploiement=20de=20n=C5=93ud.?= =?UTF-8?q?=20Point=20jargon=20sur=20=C2=ABn=C5=93ud=C2=BB.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/operations/_index.md | 4 +- content/operations/deploiement/noeud.md | 52 ------------ content/operations/deploiement/noeud/_index.md | 14 ++++ .../noeud/guide_cr\303\251ation_n\305\223ud.md" | 96 ++++++++++++++++++++++ .../deploiement/noeud/pr\303\251requis.md" | 46 +++++++++++ 5 files changed, 159 insertions(+), 53 deletions(-) delete mode 100644 content/operations/deploiement/noeud.md create mode 100644 content/operations/deploiement/noeud/_index.md create mode 100644 "content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" create mode 100644 "content/operations/deploiement/noeud/pr\303\251requis.md" diff --git a/content/operations/_index.md b/content/operations/_index.md index e0c38ae..7ab49f2 100644 --- a/content/operations/_index.md +++ b/content/operations/_index.md @@ -9,7 +9,9 @@ Ce manuel recense notre savoir-faire technique, il a pour but d'accompagner nos # Notre jargon -* _Une grappe_, c'est **un ensemble d'ordinateurs** qui **coopèrent** pour fournir un **service**. +* _Un nœud_, c'est un **ordinateur** configuré pour fournir un **service** en collaborant avec d'autres. + +* _Une grappe_, c'est **un ensemble de nœuds** qui **coopèrent** pour fournir un **service**. Une grappe est **gérée de façon cohérente** (avec le même système logiciel), **plus ou moins autonome** (elle ne dépend pas du reste du monde pour fournir des services web), **par une entité définie** (une personne physique ou un groupe de personnes). diff --git a/content/operations/deploiement/noeud.md b/content/operations/deploiement/noeud.md deleted file mode 100644 index 07306ea..0000000 --- a/content/operations/deploiement/noeud.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Noeud -description: Déploiement d'un noeud -published: true -date: 2022-01-09T13:29:29.710Z -tags: installation, serveur, infrastructure, réseau, sysadmin, site géographique, technique, administration -editor: markdown -dateCreated: 2021-12-28T14:33:59.088Z -weight: 10 ---- - - -Dans ce guide, nous allons expliquer comment installer une grappe de serveurs, en vue d'un hébergement pour Deuxfleurs. - - - -# Choix des ordinateurs - -Héberger des services web est une tâche à la portée de la plupart des ordinateurs des 10 dernières années. Néanmoins, essayer de faire tourner correctement des applications lourdes sur une toute petite machine n'est pas une partie de plaisir. Alors, quitte à installer une nouvelle grappe, la vie sera plus agréable si ses machines disposent d'au moins : - -* 4 Go de RAM -* 1 To de disque (dur ou SSD) - -# Choix d'un site géographique - -Dans un *site géographique*, on installe une *grappe d'ordinateurs* au sein d'un *réseau local*, qu'on connecte au cluster de Deuxfleurs. - -On peut distinguer deux types de sites : - -* _Dans un centre de données_ : chaque ordinateur de la grappe appartient au même centre de données, dispose d'une adresse IP fixe qui le connecte directement à Internet. - - Dans ce cas-ci, **l'installation et l'administration sont assez simples** (on a moins de concepts à avaler que chez un particulier). - Par contre, **nous ne sommes pas chez nous** : le propriétaire du centre de données peut accéder aux disques, et voit ce qui passe sur le réseau. **Chiffrement du disque vivement conseillé.** - -* _Chez un particulier_ : la grappe est reliée à Internet par une *box*, qui filtre le trafic réseau selon des règles variables. La grappe se partage l'adresse IP de la box (qui peut changer régulièrement, être en IPv4 ou en IPv6). - - Dans ce cas de figure, **l'installation comme l'administration demandent plus de connaissances** : pour caricaturer, on doit installer et administrer la grappe **malgré le Fournisseur d'Accès Internet** (FAI), qui considère *a priori* que son abonnement ne sert pas à héberger des services web. - - On aura affaire à sa box (NAT, pare-feu...), au manque de garanties concernant notre adressabilité (IPv4 dynamique, IPv6 ? ...), ce qui va nous mener à devoir faire du routage. Le nœud du problème, c'est que chaque ordinateur de la grappe n'aura pas pignon sur rue (pas d'adresse IP publique et fixe par machine). - - Néanmoins, **on est chez nous !** Votre disque dur - qui contient les données personnelles de vos usagers chéris - est sous vos yeux, bien au chaud. Le seul curieux qui voit passer votre trafic réseau est votre FAI : *rien de nouveau sous le soleil*. - -Dans les deux cas - grâce à [la magie des VPN](/Technique/Infra/Wireguard) - on pourra communiquer sans souci avec le reste du cluster de Deuxfleurs. - -**À terme, chez Deuxfleurs, on compte héberger toute notre infrastructure chez des particuliers.** Mais [la route est encore longue](/Technique/Jalons/Interconnexion) avant que nous ayons assez de bonnes connexions et des ordinateurs suffisamment puissants, sans parler du système de gestion logiciel. -Ainsi, **pour le moment, il est tout à fait acceptable d'héberger des services Deuxfleurs en centre de données** : tant qu'on en informe nos usagers et qu'on fait attention à la sécurité. - -# Installation des ordinateurs - -Pour chaque ordinateur de notre future grappe, nous allons avoir besoin d'en configurer le ou les disques, de les chiffrer éventuellement, et d'installer son système d'exploitation. - - diff --git a/content/operations/deploiement/noeud/_index.md b/content/operations/deploiement/noeud/_index.md new file mode 100644 index 0000000..cf495c5 --- /dev/null +++ b/content/operations/deploiement/noeud/_index.md @@ -0,0 +1,14 @@ +--- +title: Noeud +description: Déploiement d'un noeud +published: true +date: 2022-08-23 +tags: installation, serveur, infrastructure, réseau, sysadmin, site géographique, technique, administration +editor: markdown +dateCreated: 2021-08-23 +--- + +# Déployer un nœud au sein de l'infrastructure Deuxfleurs +Déployer un nœud au sein de l'infrastructure Deuxfleurs demande un certaine préparation et représente un processus particulier. + +Avant de se lancer, [mieux vaut vérifier les prérequis pour y parvenir](prerequis). Une fois ceci fait, on peut suivre [le guide décrivant la procédure](guide-creation-noeud). diff --git "a/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" "b/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" new file mode 100644 index 0000000..2421fab --- /dev/null +++ "b/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" @@ -0,0 +1,96 @@ +--- +title: Guide de création d'un nœud +description: Guide de création d'un nœud +published: true +date: 2022-08-23 +tags: installation, serveur, infrastructure, réseau, sysadmin, site géographique, technique, administration +editor: markdown +dateCreated: 2022-08-23 +--- + +# Guide d'initialisation de nœud Deuxfleurs +Ce guide explique comment initialiser un nœud pour l'infrastructure de Deuxfleurs. Nous partons de zéro, c'est-à-dire avec une machine que nous venons de récupérer, avec une mémoire vide, et que nous venons de brancher. À titre d'exemple, nous illustrerons de temps en temps les opérations avec une de nos machines (un Thinkcentre de Lenovo). + +## Configuration de l'UEFI +Configurons d'abord quelques paramètres dans l'UEFI de la machine. Démarrez-là et appuyez sur la touche pour accéder à ce menu. Chez nous, il s'agit de F1. Si le PXE est activé, désactivons-le : un attaquant présent sur le réseau local pourrait faire démarrer une machine sur une installation malveillante. Vérifions que les *C-States* sont pris en charge, cela permet une meilleure gestion de l'énergie. Configurons également la machine pour qu'elle démarre après avoir subi une coupure électrique, cela se révèlera pratique lorsqu'il y en a une. Si l'option est là, autorisons le démarrage sans clavier branché, pour ne pas être embêté lorsque nous démarrons une machine pour SSH dessus. Enfin, dans le cadre de l'infrastructure Deuxfleurs, nous supporterons uniquement l'UEFI, nous pouvons donc désactiver les options de compatibilité BIOS. + +## Installation de NixOS +Pour installer NixOS, nous aurons besoin d'une clé USB avec une image amorçable (*live*) de NixOS dessus. Cette préparation est sautée ici car amplement expliquée à divers endroits sur internet, mais elle se résumé à télécharger l'image sur le site officiel de NixOS, vérifier sa signature, et l'écrire sur la clé USB, par exemple avec l'utilitaire `dd`. + +Branchons la clé USB et démarrons dessus. Chez nous, c'est possible grâce à un menu accessible via la touche F12. Lançons NixOS sans option particulière. Accordons-nous tous les droits et configurons un clavier habituel. On peut également vérifier la connexion internet : +``` +$ sudo su +# loadkeys fr-latin9 +# ping deuxfleurs.fr +``` +Nous pouvons faire `lsblk` pour examiner les disques de la machine. Chez nous, nous avons simplement un disque dur complètement vide de 500Go associé à `/dev/sda`. Nous allons formater le disque avec `cgdisk` : +``` +# cgdisk /dev/sda +``` +Nous créons d'abord, avec l'option `New`, une partition qui commence au début, fait 512Mo, avec un code hexadécimal `EF00`, et que nous appelerons «EFI» : c'est le secteur de démarrage. +Puis nous créons à la suite une partition de 8Go, avec un code hexadécimal `8200`, nommée «swap» : c'est l'espace d'échange. +Enfin sur tout le reste, nous créons une partition avec un code hexadécimal `8300`, que nous appelerons par exemple «root» : c'est la racine du système linux. +Pour appliquer les changements, nous utilisons l'option `Write`. Nous pouvons ensuite quitter avec `Quit`, et éventuellement vérifier le résultat avec `lsblk`. + +Finalisons les partitions. Dans notre cas, nous devons créer les systèmes avec : +``` +# mkfs.fat -F 32 /dev/sda1 +# mkswap /dev/sda2 +# mkfs.xfs /dev/sda3 +``` +Nous utilisons ici xfs car nous sommes équipés d'un disque rotatif. + +Montons les partitions fraîchement créées. +``` +# mount /dev/sda3 /mnt +# mkdir /mnt/boot +# mount /dev/sda1 /mnt/boot +# swapon /dev/sda2 +``` +Le résultat est vérifiable avec `df -h`. À ce stade, nous pouvons générer la configuration de NixOS dans cette arborescence, et l'éditer par exemple avec `nano` : +``` +# nixos-generate-config --root /mnt +# nano /mnt/etc/nixos/configuration.nix +``` +Ce fichier décrit la configuration du système de manière générale. NixOS le versionne, et à l'utilisation, chaque modification génère une nouvelle «génération». En cas d'erreur par exemple, nous pourrons revenir facilement à une génération précédente. Ainsi nous décrivons ici la première génération de notre système à venir. Nous n'allons en réalité modifier que quelques choses par rapport à la configuration par défaut. Décommentons et définissons le nom d'hôte et le fuseau horaire : +``` +networking.hostName = "nomDeLaMachine"; +``` +``` +time.timeZone = "Europe/Paris"; +``` +Pour les propriétés d'internationalisation, nous pouvons par exemple définir ceci : +``` +i18n.defaultLocale = "fr_FR.UTF-8"; +console = { + font = "Lat2-Terminus16"; + keyMap = "fr-latin9"; +}; +``` +Attention en tout cas à ne pas définir en même temps `keyMap` et `useXkbConfig`, ces deux options peuvent se contredire. Pour l'utilisateur et les paquets du système, nous pouvons par exemple partir sur : +``` +users.users.nomUtilisateur = { + isNormalUser = true; + extraGroups = [ "wheel" ]; +}; +``` +``` +environment.systemPackages = with pkgs; [ + vim + wget + emacs +]; +``` +Enfin activons le serveur SSH en décommentant : +``` +services.openssh.enable = true; +``` +Nous pouvons enregistrer et fermer le fichier, puis lancer l'installation avec : +``` +# nixos-install +``` +Au bout d'un certain temps, le processus va nous demander le mot de passe pour le compte root. Une fois donné, l'installation devrait être terminée. Nous pouvons redémarrer sur la machine, et nous connecter en tant que root. Définissons le mot de passe de l'utilisateur spécifié dans la configuration auparavant (nomUtilisateur) avec : +``` +# passwd nomUtilisateur +``` +Nous pouvons si nous le voulons nous déconnecter avec `exit` et tester la connexion sur nomUtilisateur. diff --git "a/content/operations/deploiement/noeud/pr\303\251requis.md" "b/content/operations/deploiement/noeud/pr\303\251requis.md" new file mode 100644 index 0000000..797ec11 --- /dev/null +++ "b/content/operations/deploiement/noeud/pr\303\251requis.md" @@ -0,0 +1,46 @@ +--- +title: Prérequis pour un nœud +description: Prérequis pour un nœud +published: true +date: 2022-01-09T13:29:29.710Z +tags: installation, serveur, infrastructure, réseau, sysadmin, site géographique, technique, administration +editor: markdown +dateCreated: 2021-12-28T14:33:59.088Z +weight: 10 +--- + + +Dans ce guide, nous allons expliquer comment installer une grappe de serveurs, en vue d'un hébergement pour Deuxfleurs. + + + +# Choix des ordinateurs + +Héberger des services web est une tâche à la portée de la plupart des ordinateurs des 10 dernières années. Néanmoins, essayer de faire tourner correctement des applications lourdes sur une toute petite machine n'est pas une partie de plaisir. Alors, quitte à installer une nouvelle grappe, la vie sera plus agréable si ses machines disposent d'au moins : + +* 4 Go de RAM +* 1 To de disque (dur ou SSD) + +# Choix d'un site géographique + +Dans un *site géographique*, on installe une *grappe d'ordinateurs* au sein d'un *réseau local*, qu'on connecte au cluster de Deuxfleurs. + +On peut distinguer deux types de sites : + +* _Dans un centre de données_ : chaque ordinateur de la grappe appartient au même centre de données, dispose d'une adresse IP fixe qui le connecte directement à Internet. + + Dans ce cas-ci, **l'installation et l'administration sont assez simples** (on a moins de concepts à avaler que chez un particulier). + Par contre, **nous ne sommes pas chez nous** : le propriétaire du centre de données peut accéder aux disques, et voit ce qui passe sur le réseau. **Chiffrement du disque vivement conseillé.** + +* _Chez un particulier_ : la grappe est reliée à Internet par une *box*, qui filtre le trafic réseau selon des règles variables. La grappe se partage l'adresse IP de la box (qui peut changer régulièrement, être en IPv4 ou en IPv6). + + Dans ce cas de figure, **l'installation comme l'administration demandent plus de connaissances** : pour caricaturer, on doit installer et administrer la grappe **malgré le Fournisseur d'Accès Internet** (FAI), qui considère *a priori* que son abonnement ne sert pas à héberger des services web. + + On aura affaire à sa box (NAT, pare-feu...), au manque de garanties concernant notre adressabilité (IPv4 dynamique, IPv6 ? ...), ce qui va nous mener à devoir faire du routage. Le nœud du problème, c'est que chaque ordinateur de la grappe n'aura pas pignon sur rue (pas d'adresse IP publique et fixe par machine). + + Néanmoins, **on est chez nous !** Votre disque dur - qui contient les données personnelles de vos usagers chéris - est sous vos yeux, bien au chaud. Le seul curieux qui voit passer votre trafic réseau est votre FAI : *rien de nouveau sous le soleil*. + +Dans les deux cas - grâce à [la magie des VPN](/Technique/Infra/Wireguard) - on pourra communiquer sans souci avec le reste du cluster de Deuxfleurs. + +**À terme, chez Deuxfleurs, on compte héberger toute notre infrastructure chez des particuliers.** Mais [la route est encore longue](/Technique/Jalons/Interconnexion) avant que nous ayons assez de bonnes connexions et des ordinateurs suffisamment puissants, sans parler du système de gestion logiciel. +Ainsi, **pour le moment, il est tout à fait acceptable d'héberger des services Deuxfleurs en centre de données** : tant qu'on en informe nos usagers et qu'on fait attention à la sécurité. -- cgit v1.2.3 From 1f4cb8849e87c6f05e99241ad29a834a8d6a8941 Mon Sep 17 00:00:00 2001 From: ADRN Date: Tue, 23 Aug 2022 19:37:40 +0200 Subject: =?UTF-8?q?2=20typos,=20ajout=20'avec=20SSH'=20=C3=A0=20la=20toute?= =?UTF-8?q?=20fin=20du=20guide=20de=20cr=C3=A9ation=20de=20n=C5=93ud?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git "a/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" "b/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" index 2421fab..9230708 100644 --- "a/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" +++ "b/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" @@ -12,10 +12,10 @@ dateCreated: 2022-08-23 Ce guide explique comment initialiser un nœud pour l'infrastructure de Deuxfleurs. Nous partons de zéro, c'est-à-dire avec une machine que nous venons de récupérer, avec une mémoire vide, et que nous venons de brancher. À titre d'exemple, nous illustrerons de temps en temps les opérations avec une de nos machines (un Thinkcentre de Lenovo). ## Configuration de l'UEFI -Configurons d'abord quelques paramètres dans l'UEFI de la machine. Démarrez-là et appuyez sur la touche pour accéder à ce menu. Chez nous, il s'agit de F1. Si le PXE est activé, désactivons-le : un attaquant présent sur le réseau local pourrait faire démarrer une machine sur une installation malveillante. Vérifions que les *C-States* sont pris en charge, cela permet une meilleure gestion de l'énergie. Configurons également la machine pour qu'elle démarre après avoir subi une coupure électrique, cela se révèlera pratique lorsqu'il y en a une. Si l'option est là, autorisons le démarrage sans clavier branché, pour ne pas être embêté lorsque nous démarrons une machine pour SSH dessus. Enfin, dans le cadre de l'infrastructure Deuxfleurs, nous supporterons uniquement l'UEFI, nous pouvons donc désactiver les options de compatibilité BIOS. +Configurons d'abord quelques paramètres dans l'UEFI de la machine. Démarrez-là et appuyez sur la touche pour accéder à ce menu. Chez nous, il s'agit de F1. Si le PXE est activé, désactivons-le : un attaquant présent sur le réseau local pourrait faire démarrer une machine sur une installation malveillante. Vérifions que les *C-States* sont pris en charge, cela permet une meilleure gestion de l'énergie. Configurons également la machine pour qu'elle démarre après avoir subi une coupure électrique, cela se révèlera pratique lorsqu'il y en aura une. Si l'option est là, autorisons le démarrage sans clavier branché, pour ne pas être embêté lorsque nous démarrons une machine pour SSH dessus. Enfin, dans le cadre de l'infrastructure Deuxfleurs, nous supporterons uniquement l'UEFI, nous pouvons donc désactiver les options de compatibilité BIOS. ## Installation de NixOS -Pour installer NixOS, nous aurons besoin d'une clé USB avec une image amorçable (*live*) de NixOS dessus. Cette préparation est sautée ici car amplement expliquée à divers endroits sur internet, mais elle se résumé à télécharger l'image sur le site officiel de NixOS, vérifier sa signature, et l'écrire sur la clé USB, par exemple avec l'utilitaire `dd`. +Pour installer NixOS, nous aurons besoin d'une clé USB avec une image amorçable (*live*) de NixOS dessus. Cette préparation est sautée ici car amplement expliquée à divers endroits sur internet, mais elle se résume à télécharger l'image sur le site officiel de NixOS, vérifier sa signature, et l'écrire sur la clé USB, par exemple avec l'utilitaire `dd`. Branchons la clé USB et démarrons dessus. Chez nous, c'est possible grâce à un menu accessible via la touche F12. Lançons NixOS sans option particulière. Accordons-nous tous les droits et configurons un clavier habituel. On peut également vérifier la connexion internet : ``` @@ -93,4 +93,4 @@ Au bout d'un certain temps, le processus va nous demander le mot de passe pour l ``` # passwd nomUtilisateur ``` -Nous pouvons si nous le voulons nous déconnecter avec `exit` et tester la connexion sur nomUtilisateur. +Nous pouvons si nous le voulons nous déconnecter avec `exit` et tester la connexion sur nomUtilisateur avec SSH. -- cgit v1.2.3 From 92391dd1b7cbab7dc8abb6fe857197d0b825ff81 Mon Sep 17 00:00:00 2001 From: vincent Date: Tue, 23 Aug 2022 23:39:21 +0200 Subject: =?UTF-8?q?Pr=C3=A9cision=20sur=20le=20mode=20de=20connexion=20et?= =?UTF-8?q?=20sur=20la=20cr=C3=A9ation=20du=20support=20USB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" "b/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" index 9230708..e278996 100644 --- "a/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" +++ "b/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" @@ -15,7 +15,7 @@ Ce guide explique comment initialiser un nœud pour l'infrastructure de Deuxfleu Configurons d'abord quelques paramètres dans l'UEFI de la machine. Démarrez-là et appuyez sur la touche pour accéder à ce menu. Chez nous, il s'agit de F1. Si le PXE est activé, désactivons-le : un attaquant présent sur le réseau local pourrait faire démarrer une machine sur une installation malveillante. Vérifions que les *C-States* sont pris en charge, cela permet une meilleure gestion de l'énergie. Configurons également la machine pour qu'elle démarre après avoir subi une coupure électrique, cela se révèlera pratique lorsqu'il y en aura une. Si l'option est là, autorisons le démarrage sans clavier branché, pour ne pas être embêté lorsque nous démarrons une machine pour SSH dessus. Enfin, dans le cadre de l'infrastructure Deuxfleurs, nous supporterons uniquement l'UEFI, nous pouvons donc désactiver les options de compatibilité BIOS. ## Installation de NixOS -Pour installer NixOS, nous aurons besoin d'une clé USB avec une image amorçable (*live*) de NixOS dessus. Cette préparation est sautée ici car amplement expliquée à divers endroits sur internet, mais elle se résume à télécharger l'image sur le site officiel de NixOS, vérifier sa signature, et l'écrire sur la clé USB, par exemple avec l'utilitaire `dd`. +Pour installer NixOS, nous aurons besoin d'une clé USB avec une image amorçable (*live*) de NixOS dessus. Nous pouvons télécharger la distribution linux en 64 bits et en version minimale (sans interface graphique et avec moins d'utilitaires) sur le [site officiel](https://nixos.org/download.html). Pour écrire l'image sur le support USB, on peut faire `dd if=chemin-vers-le-fichier-iso of=/dev/sdX status=progress; sync`, en remplaçant `sdX` par le fichier périphérique correspondant à la clé, trouvé avec `lsblk` par exemple. Branchons la clé USB et démarrons dessus. Chez nous, c'est possible grâce à un menu accessible via la touche F12. Lançons NixOS sans option particulière. Accordons-nous tous les droits et configurons un clavier habituel. On peut également vérifier la connexion internet : ``` @@ -93,4 +93,4 @@ Au bout d'un certain temps, le processus va nous demander le mot de passe pour l ``` # passwd nomUtilisateur ``` -Nous pouvons si nous le voulons nous déconnecter avec `exit` et tester la connexion sur nomUtilisateur avec SSH. +Nous pouvons si nous le voulons nous déconnecter avec `exit` et tester la connexion sur nomUtilisateur en local ou en SSH. -- cgit v1.2.3 From 8e9a22542027548cc9a93c491a9851e33d4ac459 Mon Sep 17 00:00:00 2001 From: vincent Date: Wed, 24 Aug 2022 22:04:04 +0200 Subject: =?UTF-8?q?Installation=20en=20SSH=20sans=20=C3=A9cran.=20Liens=20?= =?UTF-8?q?morts=20vir=C3=A9s.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../deploiement/noeud/SSH_sans_\303\251cran.md" | 54 ++++++++++++++++++++++ .../noeud/guide_cr\303\251ation_n\305\223ud.md" | 3 ++ .../deploiement/noeud/pr\303\251requis.md" | 6 +-- 3 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 "content/operations/deploiement/noeud/SSH_sans_\303\251cran.md" diff --git "a/content/operations/deploiement/noeud/SSH_sans_\303\251cran.md" "b/content/operations/deploiement/noeud/SSH_sans_\303\251cran.md" new file mode 100644 index 0000000..510e5e0 --- /dev/null +++ "b/content/operations/deploiement/noeud/SSH_sans_\303\251cran.md" @@ -0,0 +1,54 @@ +--- +title: Installer NixOS en SSH +description: Installer NixOS en SSH sans écran ni clavier +published: true +date: 2022-08-24 +tags: installation, serveur, infrastructure, réseau, sysadmin, site géographique, technique, administration +editor: markdown +dateCreated: 2021-08-24 +weight: 10 +--- + +Quick tip avant d'oublier pour installer une de nos machines ThinkCentre via SSH sous NixOS ; c'est la seule solution quand on a pas d'écran ni de clavier sous la main. +Pré-requis : une clé USB, un ordi sous NixOS. + +On va créer une image d'installation nous même qui démarre le SSH et configure root avec notre clé. On créer un fichier `iso.nix` : + +```nix +{config, pkgs, ...}: +{ + imports = [ + + + # Provide an initial copy of the NixOS channel so that the user + # doesn't need to run "nix-channel --update" first. + + ]; + + systemd.services.sshd.wantedBy = pkgs.lib.mkForce [ "multi-user.target" ]; + users.users.root.openssh.authorizedKeys.keys = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDT1+H08FdUSvdPpPKdcafq4+JRHvFVjfvG5Id97LAoROmFRUb/ZOMTLdNuD7FqvW0Da5CPxIMr8ZxfrFLtpGyuG7qdI030iIRZPlKpBh37epZHaV+l9F4ZwJQMIBO9cuyLPXgsyvM/s7tDtrdK1k7JTf2EVvoirrjSzBaMhAnhi7//to8zvujDtgDZzy6aby75bAaDetlYPBq2brWehtrf9yDDG9WAMYJqp//scje/WmhbRR6eSdim1HaUcWk5+4ZPt8sQJcy8iWxQ4jtgjqTvMOe5v8ZPkxJNBine/ZKoJsv7FzKem00xEH7opzktaGukyEqH0VwOwKhmBiqsX2yN quentin@dufour.io" + ]; +} +``` + +On construit l'image à partir de ce fichier de conf : + +```bash +nix-build '' -A config.system.build.isoImage -I nixos-config=iso.nix + +``` + +On le copie sur la clé USB : + +``` +dd if=result/iso/*.iso of=/dev/??? status=progress +sync +``` + +On branche la clé sur le serveur, on branche le serveur sur le réseau, on démarre le serveur et on surveille le routeur pour connaitre son IP (nom de domaine `nixos`). +Ensuite on se connecte dessus : + +``` +ssh root@192.168.1.X +``` \ No newline at end of file diff --git "a/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" "b/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" index e278996..fc79e70 100644 --- "a/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" +++ "b/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" @@ -15,6 +15,9 @@ Ce guide explique comment initialiser un nœud pour l'infrastructure de Deuxfleu Configurons d'abord quelques paramètres dans l'UEFI de la machine. Démarrez-là et appuyez sur la touche pour accéder à ce menu. Chez nous, il s'agit de F1. Si le PXE est activé, désactivons-le : un attaquant présent sur le réseau local pourrait faire démarrer une machine sur une installation malveillante. Vérifions que les *C-States* sont pris en charge, cela permet une meilleure gestion de l'énergie. Configurons également la machine pour qu'elle démarre après avoir subi une coupure électrique, cela se révèlera pratique lorsqu'il y en aura une. Si l'option est là, autorisons le démarrage sans clavier branché, pour ne pas être embêté lorsque nous démarrons une machine pour SSH dessus. Enfin, dans le cadre de l'infrastructure Deuxfleurs, nous supporterons uniquement l'UEFI, nous pouvons donc désactiver les options de compatibilité BIOS. ## Installation de NixOS + +** Aucun écran ou clavier n'est disponible pour l'ordinateur cible ? NixOS peut être installé en SSH. Suivre les instructions sur [cette page](/operations/deploiement/noeud/SSH-sans-ecran). + Pour installer NixOS, nous aurons besoin d'une clé USB avec une image amorçable (*live*) de NixOS dessus. Nous pouvons télécharger la distribution linux en 64 bits et en version minimale (sans interface graphique et avec moins d'utilitaires) sur le [site officiel](https://nixos.org/download.html). Pour écrire l'image sur le support USB, on peut faire `dd if=chemin-vers-le-fichier-iso of=/dev/sdX status=progress; sync`, en remplaçant `sdX` par le fichier périphérique correspondant à la clé, trouvé avec `lsblk` par exemple. Branchons la clé USB et démarrons dessus. Chez nous, c'est possible grâce à un menu accessible via la touche F12. Lançons NixOS sans option particulière. Accordons-nous tous les droits et configurons un clavier habituel. On peut également vérifier la connexion internet : diff --git "a/content/operations/deploiement/noeud/pr\303\251requis.md" "b/content/operations/deploiement/noeud/pr\303\251requis.md" index 797ec11..e2dfdcc 100644 --- "a/content/operations/deploiement/noeud/pr\303\251requis.md" +++ "b/content/operations/deploiement/noeud/pr\303\251requis.md" @@ -39,8 +39,4 @@ On peut distinguer deux types de sites : On aura affaire à sa box (NAT, pare-feu...), au manque de garanties concernant notre adressabilité (IPv4 dynamique, IPv6 ? ...), ce qui va nous mener à devoir faire du routage. Le nœud du problème, c'est que chaque ordinateur de la grappe n'aura pas pignon sur rue (pas d'adresse IP publique et fixe par machine). Néanmoins, **on est chez nous !** Votre disque dur - qui contient les données personnelles de vos usagers chéris - est sous vos yeux, bien au chaud. Le seul curieux qui voit passer votre trafic réseau est votre FAI : *rien de nouveau sous le soleil*. - -Dans les deux cas - grâce à [la magie des VPN](/Technique/Infra/Wireguard) - on pourra communiquer sans souci avec le reste du cluster de Deuxfleurs. - -**À terme, chez Deuxfleurs, on compte héberger toute notre infrastructure chez des particuliers.** Mais [la route est encore longue](/Technique/Jalons/Interconnexion) avant que nous ayons assez de bonnes connexions et des ordinateurs suffisamment puissants, sans parler du système de gestion logiciel. -Ainsi, **pour le moment, il est tout à fait acceptable d'héberger des services Deuxfleurs en centre de données** : tant qu'on en informe nos usagers et qu'on fait attention à la sécurité. + \ No newline at end of file -- cgit v1.2.3 From c6c671510cb710e4419920d2648d1c44295bff52 Mon Sep 17 00:00:00 2001 From: ADRN Date: Sun, 28 Aug 2022 11:16:24 +0200 Subject: =?UTF-8?q?pagination=20dans=20le=20bon=20ordre,=20r=C3=A9f=C3=A9r?= =?UTF-8?q?encement=20du=20sous-guide=20'installer=20NixOs=20en=20SSH'=20s?= =?UTF-8?q?ur=20la=20page=20'Noeud',=20et=20correction=20d'un=20lien=20mor?= =?UTF-8?q?t=20vers=20cette=20m=C3=AAme=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "content/operations/deploiement/noeud/SSH_sans_\303\251cran.md" | 2 +- content/operations/deploiement/noeud/_index.md | 3 +++ .../operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" | 3 ++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git "a/content/operations/deploiement/noeud/SSH_sans_\303\251cran.md" "b/content/operations/deploiement/noeud/SSH_sans_\303\251cran.md" index 510e5e0..0f4c04b 100644 --- "a/content/operations/deploiement/noeud/SSH_sans_\303\251cran.md" +++ "b/content/operations/deploiement/noeud/SSH_sans_\303\251cran.md" @@ -6,7 +6,7 @@ date: 2022-08-24 tags: installation, serveur, infrastructure, réseau, sysadmin, site géographique, technique, administration editor: markdown dateCreated: 2021-08-24 -weight: 10 +weight: 12 --- Quick tip avant d'oublier pour installer une de nos machines ThinkCentre via SSH sous NixOS ; c'est la seule solution quand on a pas d'écran ni de clavier sous la main. diff --git a/content/operations/deploiement/noeud/_index.md b/content/operations/deploiement/noeud/_index.md index cf495c5..844d2dc 100644 --- a/content/operations/deploiement/noeud/_index.md +++ b/content/operations/deploiement/noeud/_index.md @@ -6,9 +6,12 @@ date: 2022-08-23 tags: installation, serveur, infrastructure, réseau, sysadmin, site géographique, technique, administration editor: markdown dateCreated: 2021-08-23 +sort_by: weight --- # Déployer un nœud au sein de l'infrastructure Deuxfleurs Déployer un nœud au sein de l'infrastructure Deuxfleurs demande un certaine préparation et représente un processus particulier. Avant de se lancer, [mieux vaut vérifier les prérequis pour y parvenir](prerequis). Une fois ceci fait, on peut suivre [le guide décrivant la procédure](guide-creation-noeud). + +Si vous avez une machine à installer, mais aucun écran & clavier à brancher dessus pour la configurer, référez-vous au [guide d'installation de NixOs en SSH](ssh-sans-ecran). diff --git "a/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" "b/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" index fc79e70..c7ee5aa 100644 --- "a/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" +++ "b/content/operations/deploiement/noeud/guide_cr\303\251ation_n\305\223ud.md" @@ -6,6 +6,7 @@ date: 2022-08-23 tags: installation, serveur, infrastructure, réseau, sysadmin, site géographique, technique, administration editor: markdown dateCreated: 2022-08-23 +weight: 11 --- # Guide d'initialisation de nœud Deuxfleurs @@ -16,7 +17,7 @@ Configurons d'abord quelques paramètres dans l'UEFI de la machine. Démarrez-l ## Installation de NixOS -** Aucun écran ou clavier n'est disponible pour l'ordinateur cible ? NixOS peut être installé en SSH. Suivre les instructions sur [cette page](/operations/deploiement/noeud/SSH-sans-ecran). +> Aucun écran ou clavier n'est disponible pour l'ordinateur cible ? NixOS peut être installé en SSH. Suivre les instructions sur [cette page](/operations/deploiement/noeud/ssh-sans-ecran). Pour installer NixOS, nous aurons besoin d'une clé USB avec une image amorçable (*live*) de NixOS dessus. Nous pouvons télécharger la distribution linux en 64 bits et en version minimale (sans interface graphique et avec moins d'utilitaires) sur le [site officiel](https://nixos.org/download.html). Pour écrire l'image sur le support USB, on peut faire `dd if=chemin-vers-le-fichier-iso of=/dev/sdX status=progress; sync`, en remplaçant `sdX` par le fichier périphérique correspondant à la clé, trouvé avec `lsblk` par exemple. -- cgit v1.2.3