Table des matières

2025/05/21 (hub infra)

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

Trouver une date pour :

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:

HgO veut bien s'occuper de Bour, il fera ça début juin. Pour Topi, on fera ça le 23 juin avec Célo.

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:

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:

snippet.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 :

snippet.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.

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.