# 2025/05/21 (hub infra) * [Réunion précédente](https://wiki.neutrinet.be/fr/rapports/2025/04-13) * [Pad de la réunion](https://doc.neutrinet.be/hub-infra-2025-05-21#) Heure de début : 18h33 Présences : HgO, Célo, Tharyrok ## Météo *Moment informel durant lequel on exprime **en peu de mots** comment on se sent et si on a une attente forte pour la réunion.* **Ce n'est pas un moment de discussion mais d'expression individuelle et ce n'est pas obligatoire :-)** Fin : Pas trop tard, vers 20h30 ### Attente(s) forte(s) *Si l'une ou l'autre personne exprime une attente forte, merci de vous en occuper en priorité ou de la noter dans le hub ou dans un point approprié.* ## Anciens todo - Créer le playbook Ansible pour Keycloak → Tharyrok - Créer le playbook Ansible pour oauth2-proxy (dépend de Keycloak) - Créer le playbook Ansible pour Netbox (dépend de Keycloak) - Créer le playbook Ansible pour Peering Manager (dépend de Keycloak) - Voir comment backuper les pfsense → HgO - Il y a deux possibilités : https://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/211 - Borgmatic est disponible sur la dernière version de pfsense (normalement) - Tharyrok doit copier le playbook pour le mail qu'il avait fait de son côté. - Ça avance lentement, calmement, doucement - Alerting : - Tester le plugin Mattermost pour Alertmanager - Dupliquer l’envoi des alertes de Neutrinet sur Mattermost - Faire le dashboard de monitoring interne des services, vps chez-meme (Tharyrok) - Documenter les pfsense - Mobilizon : - Essayer d'optimiser Mobilizon vis-à-vis des lenteurs de database (et voir si d'autres on le même soucis) -> pas faisable à court terme -> https://framagit.org/kaihuri/mobilizon/-/issues/1235 - Voir si le split lecture/ecriture pgsql est possible - Ce n'est pas possible, il faut que Mobilizon l'implémente (faisable dans le framework utilisé, en principe) -> ouvrir un ticket (HgO) - Migrer les ressources vers s3 (HgO) - Tharyrok termine les MR pour Ansible et HgO les reviews - https://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/merge_requests/287 - https://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/merge_requests/281 - On se donne pour la fin de l'année pour trouver des devs pour Backoffice. - On se donne aussi la fin de l'année pour finir le cahier des charges du VPN Trouver une date pour : - Mettre à jour le switch du stock - Gestionnaire de mot de passe: - Tester Passbolt - Tester Nextcloud Password - Contacter Passbolt pour savoir si nous sommes éligible a une licence pour les pauvres ou les radins. - 30% de reduction - On n'a pas les sous ## Suivi des MR ## Suivi des tickets Pour la prochaine fois, essayer de prendre 10min pour clôturer quelques tickets. ## Hub services ### Migration S3 Pour info, Tharyrok a migré le S3 qui était utilisé dans 3 VMs Ceph. Donc on avait du Ceph dans du Ceph, c'était un peu trop redondant. Tout s'est bien passé, c'est bien quand même quand des fois les trucs se passent bien. Le backup S3 via rclone est bien fait coté applicatif. ## Hub DC ### Maintenance / Remplacement des SSD https://doc.neutrinet.be/maintenance-2025-04-26 Le SSD de Nam a bien été remplacé, il reste encore, dans l'ordre, Bour et Topi. On a remplacé une des alims qui déconnait, et on a remplacé la batterie du SAN. Tache complementaire en surplus: - Mise a jours switch - Cablage ring2 patata - Cablage ring2 chez-mémé HgO veut bien s'occuper de Bour, il fera ça début juin. Pour Topi, on fera ça le 23 juin avec Célo. ![](https://s3.neutrinet.be/hedgedoc/uploads/8264ae0b-625e-4a63-a863-30cc0507d5ca.png) Le 16/08 à 10h30 on planifie une visite pour retirer les hdd. On brunchera avec les gens à 11h dans le datacenter, et on terminera avec une frite à 12h. TODO: - Basculer les ports de transit et peering en 10Gb ## Hub Network ### NeutriBox Il faut qu'on trouve une date pour collectiviser la création des NeutriBox. Pour l'instant, tout est dans la tête de Tharyrok, mais on a peur des bus et des trotinettes. ### Radius Le schéma de la DB: ```sql freeradius=# select * from radgroupreply; id | groupname | attribute | op | value ----+-----------------+-----------------------+----+----------------- 43 | pppoe_cleared | Service-Type | := | Framed-User 44 | pppoe_cleared | Framed-Protocol | := | PPP 46 | pppoe_cleared | Framed-IP-Netmask | := | 255.255.255.255 47 | pppoe_cleared | Port-Limit | := | 1 48 | pppoe_cleared | Framed-Mtu | := | 1500 49 | pppoe_cleared | Acct-Interim-Interval | := | 60 (14 rows) freeradius=# select * from radreply; id | username | attribute | op | value ----+-------------------+-----------------------+----+------------------------ 43 | pc7631e@NEUTRINET | Framed-IP-Address | := | 80.67.191.2 45 | pc7631e@NEUTRINET | Delegated-IPv6-Prefix | := | 2001:913:1d00:100::/60 44 | pc7631e@NEUTRINET | Framed-IPv6-Prefix | := | 2001:913:1d00:100::/64 (12 rows) freeradius=# select * from radusergroup; id | username | groupname | priority ----+-------------------+-----------------+---------- 4 | pc7631e@NEUTRINET | pppoe_cleared | 1 (5 rows) freeradius=# select * from radcheck; id | username | attribute | op | value ----+-------------------+--------------------+----+-------------------------- 4 | pc7631e@NEUTRINET | Cleartext-Password | := | xxxxxxxxxxxxxx (5 rows) ``` La réponse du Radius vers l'équipement de Verixi reprend ces infos : ```text Sent Access-Accept Id 126 from 10.0.11.40:1812 to 109.69.216.29:57457 length 176 Framed-IP-Address = 80.67.191.6 Framed-IPv6-Prefix = 2001:913:1d00:600::/64 Delegated-IPv6-Prefix = 2001:913:1d00:600::/60 Service-Type = Framed-User Framed-Protocol = PPP Framed-IP-Netmask = 255.255.255.255 Port-Limit = 1 Framed-MTU = 1500 Acct-Interim-Interval = 60 MS-CHAP-MPPE-Keys = 0x000000000000000033876c785fbf72a57d33ecc557462ef0 MS-MPPE-Encryption-Policy = Encryption-Required MS-MPPE-Encryption-Types = 4 Proxy-State = 0x3333 Session-Timeout := 49708 ``` Provisionner une ligne, c'est donc quelques requêtes dans la base de données. Tharyrok va faire un script pour automatiser cela. Au passage, HgO a ceci depuis qu'il a son VPN sur une ligne Neutrinet: ``` 2025-05-21 14:06:30 read UDPv6 [EMSGSIZE Path-MTU=1400|EMSGSIZE Path-MTU=1400]: Message too long (fd=5,code=90) ``` Mais c'est à cause du Wireguard (voir précédente réunion) ### OpenVPN Utilisation de Radius pour faire tout ce qui est identification et accounting. Et donc remplacera à terme ISPng. Il y a un plugin dans Radius pour OpenVPN, et qui permet de gérer les logins / mots de passe des comptes VPN. Cela permet aussi d'avoir le nombre de paquets durant la connexion, etc. On a donc une base solide pour tout ça, et il y a beaucoup moins à implémenter autour d'OpenVPN. Avant, Tharyrok n'aimait pas Radius. Il trouvait ça pénible. Mais c'était avant. Maintenant, Tharyrok aime Radius. Mangez du Radius ! :apple: 🫜 Mais comment on migre les gens ? On pourrait utiliser l'app Neutrinet. Comme l'authentification du VPN sera séparée de l'inscription au VPN, on peut mettre quelque chose d'aléatoire. Il faudra tout de même garder un login - mot de passe car le vpn client de yunohost en a besoin, mais a priori Radius aussi. Est-ce qu'on gardera le fait d'avoir un certificat par client, ou non ? Si on a un seul certificat pour tout le monde, alors cela pose aussi la question de l'utilité de l'app Neutrinet. A priori, on n'en aurait plus besoin, et c'est peut-être pas une mauvaise chose. On en rediscutera plus tard. ### WireGuard Parce qu'il y a une demande, et techniquement ce sera faisable de le faire, donc à discuter si on voudra le faire. Tharyrok a réussi à faire tourner Wireguard en mode Neutricorp. Qu'est-ce que ce mode ? Notre réseau a deux VRF, une pour le réseau de routage, une pour l'internet. Ces VRF ne sont pas compatible avec Wireguard mais il existe des namespace réseau. Mais cela veut dire isolement complet de data plane vers controle plane. Quand on modifie un switch ou un routeur, c'est du control plane. Quand on fait commit ou save, on envoie la configuration qui a été crée dans le control plane dans les puces du sillicium du data plane. Le dataplane seul n'a pas d'OS, d'interaction possible. Si le data plane ne sait pas faire un truc, il renvoie dans le control plane. con La page Wikipedia a l'air très complète : https://en.wikipedia.org/wiki/Data_plane On parle d'ASIC, et pas de nasiques, ça n'a rien à voir. Pourquoi on parle de tout ça ? Avec les namespaces réseaux on peut avoir la partie Neutrinet dans le control plane. Et on peut avoir Wireguard qui tourne dans le data plane. La partie réseau est alors séparée. C'est un peu ce qu'on fait avec les VRF, en vrai. Mais du coup avec une isolation beaucoup plus forte, par exemple ssh tournerait dans le controle plane et ne serait pas disponible dans le data plane, sauf si on lance deux daemon ssh, un dans chaque namespace. Pour le moment, on a un bra qui est en mode namespace, mais l'idée ce serait de le tuer parce que c'était un POC. Mais du coup, en principe c'est possible d'avoir une seule VM qui est dans un mode différent que les VRF. Mais a priori, Tharyrok n'aime pas avoir deux gestions différentes dans le même réseau namespace et VRF. Ça le fait buguer. On pourrait s'approcher d'un mode professionnel. On sait qu'on peut administrer via le controle plane sans passer par le data plane. Autre chose, si aujourd'hui Neutrinet se casse la figure, on peut accéder à une VM en bordure de réseau via le dataplane pour rebondir dans le réseau control plane. En gros depuis son ip publique, on peut joindre les proxmox. Donc short réponse : oui, c'est possible. Long réponse : cela demande d'avoir une exception dans notre manière de gérer le réseau, ou alors il faut l'appliquer partout, ce qui rajoute une couche de sécurité en plus (nos IP public ne répondraient plus en SSH sans passer par le PfSense), mais aussi une contrainte parce que cela pourrait faire qu'on reste coincé dehors... Par contre, Wireguard ne se configure que par fichier texte. Donc cela veut dire qu'on doit implémenter des scripts (probablement ansible) pour le configurer. Au final, on se dit que ce serait un nice to have, mais que la priorité pour le moment c'est de migrer OpenVPN et buter ISPng. Donc, on peut se dire que ce genre de décision, on pourra le prendre l'année prochaine, en 2026. ### NFtables Flowtables Tharyrok a passé du temps à optimiser le réseau de Neutrinet pour absorber le traffic de la collecte. On reporte. ![](https://s3.neutrinet.be/hedgedoc/uploads/512f9a1c-886e-4a12-863f-0093a79c236c.png) ![](https://s3.neutrinet.be/hedgedoc/uploads/c90d01b8-04db-496a-a34c-eca8cd39ce8f.png) ## Hub Dev ## Hub Chez Mémé ## Prochaine réunion Neutriton sur la question du suivi des différentes versions logicielles: 31/05 à 10h chez Tharyrok (Monolith) Neutriton SSO le retour: 28/06 à 10h chez Tharyrok (Monolith) Neutriton gestionnaire des mots de passe: 23/08 à 10h chez Hgo (A confirmer) Prochaine réunion: 18/06 à 18h30 chez Célo Garde-Pad : Tharyrok (j'ai des spaghetti a finir) ## Météo de fin *Moment informel durant lequel on exprime **en peu de mots** comment, à titre personnel, la réunion a été vécue que ce soit positif ou négatif.* *Si une ou plusieurs **tension est née** durant la réunion, il est peut-être nécessaire d'envisager l'une ou l'autre réunion pour y remédier.* {{tag>infra}}