From d24bec24b72cf5db7a72887658bfbd9100a73f67 Mon Sep 17 00:00:00 2001 From: shirenn Date: Wed, 30 Nov 2022 13:28:11 +0100 Subject: [PATCH] [howto] ajout de create_vm.md --- howto/create_vm.md | 155 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 howto/create_vm.md diff --git a/howto/create_vm.md b/howto/create_vm.md new file mode 100644 index 0000000..b338edd --- /dev/null +++ b/howto/create_vm.md @@ -0,0 +1,155 @@ +# Création de machine virtuelle pour les adhérent⋅es +Le crans propose un système de locations de vms dont vous pouvez retrouver les +tarifs dans les annexes des statuts de l'association. J'en fournis un +récapitulatif ici mais attention celui-ci peut ne pas être à jour et seul ce qui +est marqué dans les statuts fait foi. + +| Article | Tarifs | +|:---------------------------------------:|:------:| +| Service minimal | 10€ | +| Connexion internet | 30€ | +| Cœur additionnel | 5€ | +| 2GB de RAM additionnel | 5€ | +| Disque additionnel (par tranche de 16G) | 1€ | + +Le service minimal comprend : + - un disque de 8G + - un cœur + - 2G de ram + +Tous les services sont proposés pour une durée de 1 an. + +## Section nounous +### LDAP +Quand un⋅e adhérent⋅e vous demande de lui créer une vm, il faut au préalable læ +rajouter dans le ldap des adhérent⋅es (qui n'est pas le même que le ldap re2o). +Celui ci se situe sur flirt et à la structure suivante: +``` +ou=users +├── cn=toto +└── cn=titi +ou=clubs +└── o=rover +ou=hosts +├── cn=voyager +└── cn=curiosity +``` +Pour référence ma configuration `shelldap` pour me connecter au ldap est +la suivante : +``` +# +---------------------------------+ +# | Connexion à flirt.adm.crans.org | +# +---------------------------------+ +server: ldaps://flirt.adm.crans.org/ +promptpass: yes +binddn: cn=admin,dc=adh,dc=crans,dc=org +basedn: dc=adh,dc=crans,dc=org +``` +et le mot de passe est disponible dans le password-store sous `ldap-adh`. + +#### Utilisateur⋅ices +Les objets utilisateur⋅ices dispose des champs suivants : +``` +dn: cn=toto,ou=users,dc=adh,dc=crans,dc=org +objectClass: inetOrgPerson +objectClass: organizationalPerson +objectClass: person +objectClass: top +cn: toto +description: birthDate:1998-01-08 +description: birthLocation:Cachan +description: membershipStart:20xx-xx-xx +description: membershipEnd:20xx-xx-xx +description: re2oId:xxxxx +givenName: Toto +mail: nobody [AT] crans [DOT] org +postalAddress: 60 rue camille desmoulins, 94230, Cachan +sn: Passoir +telephoneNumber: +336xxxxxxxx +userPassword: {CRYPT}$6$… +``` +Le script `addadherent` du repo +[crans-ldap](https://gitlab.crans.org/nounous/crans-ldap) permet néanmoins de +configurer la plupart des informations à renseigner : +``` +[ _shirenn@flirt ] $ ./addadherent --re2o-id xxxxx toto +Prénom: Toto +NOM: Passoir +Adresse email: nobody [AT] crans [DOT] org +Adresse: 60 avenue camille desmoulins, 94230, Cachan +Numéro de téléphone: +33600000000 +Date de naissance (YYYY-MM-DD): 1998-01-08 +Lieu de naissance: Cachan +``` + +Cela rajoutera automatiquement la date de début d'adhésion mais pas celle de fin +d'adhésion, celle-ci doit être rajoutée à la main en utilisant votre client ldap +favori. + +#### Club +Les clubs sont des objets ldap très simple qui ne contiennent que le nom des +adhérent⋅es qui gèrent le club : +``` +dn: o=rover,ou=clubs,dc=adh,dc=crans,dc=org +objectClass: organization +objectClass: top +description: toto +o: rover +``` +Similairement, un script permet de rajouter ces informations automatiquement au +ldap : +``` +[ _shirenn@flirt ]$ ./addclub rover +Pseudo du responsable: toto +Pseudo du responsable: titi +Pseudo du responsable: +``` + +#### Machines +Les machines sont des objets ldap qui répertorient des informations sur leur +configuration et leurs propriétaires : +``` +dn: cn=curiosity,ou=hosts,dc=adh,dc=crans,dc=org +objectClass: top +objectClass: device +objectClass: ipHost +objectClass: ieee802Device +cn: curiosity +description: ip.icmp.in,ip.icmp.out,ip6.icmpv6.in,ip6.icmpv6.out,ip.tcp.out:0-65535,ip6.tcp.out:0-65535,ip.udp.out:0-65535,ip6.udp.out:0-65535,ip.tcp.in:22,ip6.tcp.in:22 +ipHostNumber: 185.230.78.199 +macAddress: 02:a0:00:01:99:12 +owner: o=rover,ou=clubs,dc=adh,dc=crans,dc=org +serialNumber: 199 +``` +Le script `addadherenthost` crée la machine dans le ldap +``` +[ _shirenn@flirt ]$ ./addadherenthost --ip 185.230.78.199 --mac 02:a0:00:01:99:02 --vmid 199 --club rover curiosity +``` + +Le part-feu par défaut laisse passer tous les paquets icmp, tous les paquets en +sortie et ne laisse rentrer que le port 22 en tcp, en ip legacy et en ipv6. + +Une fois l'adhérent⋅e ou le club et la machine rajoutée dans le ldap. Les +scripts devraient mettre à jour la configuration du parefeu, du dhcp et de +proxmox. + +### Proxmox +Il faut maintenant aller sur le cluster constitué de gulp, odlyd et stitch pour +créer la machine virtuelle. C'est du clic clic dans proxmox, vous êtes assez +grand⋅es pour savoir lire des menus. (Par contre faites bien attention à créer +les disques sur la pool `vm`). + +Ensuite, deux possibilités, soit l'adhérent⋅e vous a juste demandé de créer la +machine virtuelle et à ce moment là c'est fini et iel peut aller la configurer +seul⋅e (c.f. section suivante), soit iel vous a demandé si vous pouviez lui +installer une distribution de son choix. + +Vous pouvez alors lui demander une clé publique ssh et après avoir installer la +vm, vous la déposer dans `/root/.ssh/authorized_keys` (en faisant attention à +créer le `.ssh` avec les bonnes permissions `mkdir -m 0700 /root/.ssh`) et vous +supprimer les mots de passe que vous avez rentrer pendant l'installation `passwd +-d root`). + + +## Section utilisateur⋅ices +Coming soon