changement dans le plan IP et free-radius DHCP #99

Merged
thubrecht merged 9 commits from lbailly/infrastructure:plan_ip into main 2024-05-26 20:57:19 +02:00
Member

Suite à une discussion mardi :

  • on attribue des /27 aux thurnés (au lieu d'un /29), on crame donc un /17 privé sur ça (851 des 1024 /27 en vrai)
  • on a une IP serveur commune à tout les vlans, je sais pas encore comment ça marche sur certain truc
  • on inverse la formule d'attribution des préfixe, comme ça si on veut ajouter des gens ça réattribue pas les IPs de tout le monde
Suite à une discussion mardi : - on attribue des /27 aux thurnés (au lieu d'un /29), on crame donc un /17 privé sur ça (851 des 1024 /27 en vrai) - on a une IP serveur commune à tout les vlans, je sais pas encore comment ça marche sur certain truc - on inverse la formule d'attribution des préfixe, comme ça si on veut ajouter des gens ça réattribue pas les IPs de tout le monde
lbailly force-pushed plan_ip from a14bc1a406 to 7ca78a8666 2024-04-25 18:39:24 +02:00 Compare
lbailly force-pushed plan_ip from 7a0af9ac8e to 4b9ed774f4 2024-05-02 10:37:38 +02:00 Compare
lbailly force-pushed plan_ip from 785028ff35 to 2b5801a945 2024-05-02 16:20:06 +02:00 Compare
lbailly force-pushed plan_ip from 2b5801a945 to ab34c29628 2024-05-02 17:48:50 +02:00 Compare
lbailly force-pushed plan_ip from ab34c29628 to 10e33f0dda 2024-05-02 18:15:00 +02:00 Compare
lbailly force-pushed plan_ip from 10e33f0dda to b907196d7d 2024-05-02 19:27:43 +02:00 Compare
lbailly force-pushed plan_ip from b907196d7d to 4c2c844299 2024-05-07 18:20:01 +02:00 Compare
lbailly force-pushed plan_ip from a320f548c1 to 55ed0c41b8 2024-05-13 18:05:01 +02:00 Compare
lbailly force-pushed plan_ip from 55ed0c41b8 to abada43f70 2024-05-14 10:37:14 +02:00 Compare
lbailly force-pushed plan_ip from abada43f70 to 2a5516029b 2024-05-14 10:40:02 +02:00 Compare
lbailly force-pushed plan_ip from 2a5516029b to 06d954e291 2024-05-14 13:32:35 +02:00 Compare
lbailly force-pushed plan_ip from 06d954e291 to 87a25c6b29 2024-05-22 17:43:33 +02:00 Compare
lbailly force-pushed plan_ip from c6e3db2688 to 9a5fbbf7a0 2024-05-22 18:35:15 +02:00 Compare
lbailly changed title from WIP: changement dans le plan IP et free-radius DHCP to changement dans le plan IP et free-radius DHCP 2024-05-22 18:35:37 +02:00
lbailly force-pushed plan_ip from 9a5fbbf7a0 to 0d53cd4e3b 2024-05-22 18:40:26 +02:00 Compare
lbailly changed title from changement dans le plan IP et free-radius DHCP to WIP: changement dans le plan IP et free-radius DHCP 2024-05-22 18:42:07 +02:00
lbailly force-pushed plan_ip from 0d53cd4e3b to d36d564766 2024-05-23 10:42:14 +02:00 Compare
lbailly changed title from WIP: changement dans le plan IP et free-radius DHCP to changement dans le plan IP et free-radius DHCP 2024-05-23 10:44:55 +02:00
lbailly requested review from thubrecht 2024-05-23 10:45:02 +02:00
thubrecht requested changes 2024-05-23 14:30:53 +02:00
@ -47,0 +50,4 @@
extra-mods = mkOption {
type = types.attrsOf types.path;
description = "Additional files to be linked in mods-enabled.";
default = { };
Owner

Le default devrait aller avant la description

Le default devrait aller avant la description
lbailly marked this conversation as resolved
@ -47,0 +56,4 @@
extra-sites = mkOption {
type = types.attrsOf types.path;
description = "Additional files to be linked in sites-enabled.";
default = { };
Owner

Le default devrait aller avant la description

Le default devrait aller avant la description
lbailly marked this conversation as resolved
@ -47,0 +70,4 @@
]
);
description = "Declare additionnal attributes to be listed in the dictionary.";
default = { };
Owner

Le default devrait aller avant la description

Le default devrait aller avant la description
lbailly marked this conversation as resolved
@ -80,0 +109,4 @@
checkConfiguration = mkOption {
type = types.bool;
description = "Check the configuration before starting the deamon. Usefull for debugging.";
Owner

useful

useful
lbailly marked this conversation as resolved
@ -107,2 +143,4 @@
startLimitBurst = 5;
preStart = ''
rm -rf ${cfg.configDir}
Owner

Pourquoi on a besoin de supprimer ce dossier à chaque démarrage ?

Pourquoi on a besoin de supprimer ce dossier à chaque démarrage ?
Author
Member

Pour les fichiers supplémentaires qui peuvent être ajouté par la config, si dans un changement de config tu as retirer un fichier, il faut qu'il soit del sinon il est toujours actif (c'est ce qui a cassé freeradius quand j'ai désac son dhcp)

Pour les fichiers supplémentaires qui peuvent être ajouté par la config, si dans un changement de config tu as retirer un fichier, il faut qu'il soit del sinon il est toujours actif (c'est ce qui a cassé freeradius quand j'ai désac son dhcp)
thubrecht marked this conversation as resolved
@ -165,2 +203,4 @@
-e "s/whatever/$(cat "${cfg.privateKeyPasswordFile}")/"
# Build the dictionary
cat <<EOF > ${cfg.configDir}/dictionary
Owner

Plutôt que faire des trucs dans un script avec cat et EOF, il vaut mieux utiliser pkgs.writeText et faire un lien au démarrage. Surtout que ce fichier ne doit pas être généré à chaque démarrage de freeradius

Plutôt que faire des trucs dans un script avec cat et EOF, il vaut mieux utiliser `pkgs.writeText` et faire un lien au démarrage. Surtout que ce fichier ne doit pas être généré à chaque démarrage de freeradius
lbailly marked this conversation as resolved
@ -167,0 +210,4 @@
idList = builtins.genList (id: 3000 + id) (builtins.length attrs);
in
builtins.concatStringsSep "\n" (
zipListsWith ({ name, type }: id: "ATTRIBUTE ${name} ${toString id} ${type}") attrs idList
Owner
-            zipListsWith ({ name, type }: id: "ATTRIBUTE ${name} ${toString id} ${type}") attrs idList
+            imap0 (i: {name, value}: "ATTRIBUTE ${name} ${builtins.toString (3000 + i)} ${value}") (attrsToList cfg.dictionnary)
```diff - zipListsWith ({ name, type }: id: "ATTRIBUTE ${name} ${toString id} ${type}") attrs idList + imap0 (i: {name, value}: "ATTRIBUTE ${name} ${builtins.toString (3000 + i)} ${value}") (attrsToList cfg.dictionnary) ```
lbailly marked this conversation as resolved
@ -168,1 +231,3 @@
# ${pkgs.freeradius}/bin/radiusd -C -d ${cfg.configDir} -l stdout
${
optionalString (!cfg.checkConfiguration) "# "
}${pkgs.freeradius}/bin/radiusd -C -d ${cfg.configDir} -l stdout
Owner
-        ${
-          optionalString (!cfg.checkConfiguration) "# "
-        }${pkgs.freeradius}/bin/radiusd -C -d ${cfg.configDir} -l stdout
+        ${optionalString cfg.checkConfiguration "${getExe' pkgs.freeradius "radiusd"} -C -d ${cfg.configDir} -l stdout"}
```diff - ${ - optionalString (!cfg.checkConfiguration) "# " - }${pkgs.freeradius}/bin/radiusd -C -d ${cfg.configDir} -l stdout + ${optionalString cfg.checkConfiguration "${getExe' pkgs.freeradius "radiusd"} -C -d ${cfg.configDir} -l stdout"} ```
lbailly marked this conversation as resolved
@ -106,0 +183,4 @@
${lib.getExe pkgs.ethtool} -K enp67s0f0np0 tx-vlan-offload off
${lib.getExe pkgs.ethtool} -K enp67s0f0np0 tx-vlan-stag-hw-insert off
echo "Hardware for enp67s0f0np0 configured"
'';
Owner
script = builtins.concatStringsSep "\n" (builtins.map (name: "${lib.getExe pkgs.ethtool} -K enp67s0f0np0 ${name} off") [
  "rxvlan"
  "txvlan"
  "rx-vlan-filter"
  "rx-vlan-offload"
  "tx-vlan-offload"
  "tx-vlan-stag-hw-insert"
])
```nix script = builtins.concatStringsSep "\n" (builtins.map (name: "${lib.getExe pkgs.ethtool} -K enp67s0f0np0 ${name} off") [ "rxvlan" "txvlan" "rx-vlan-filter" "rx-vlan-offload" "tx-vlan-offload" "tx-vlan-stag-hw-insert" ]) ```
lbailly marked this conversation as resolved
@ -0,0 +10,4 @@
broadIP = "10.0.${toString prefix24nb}.${toString (prefix27nb + 31)}";
interfaceName = "vlan-user-${toString vlan}";
};
in
Owner

Ce serait bien de faire un attrset plutôt qu'une liste, en utilisant soit lib.genAttrs soit listToAttrs directement ici

Ce serait bien de faire un attrset plutôt qu'une liste, en utilisant soit `lib.genAttrs` soit `listToAttrs` directement ici
@ -0,0 +11,4 @@
interfaceName = "vlan-user-${toString vlan}";
};
in
builtins.genList mkUserVlan 850
Owner

Pourquoi on a besoin de mettre ça dans un autre fichier ?

Pourquoi on a besoin de mettre ça dans un autre fichier ?
Author
Member

quand je fesais le dhcp freeradius, j'avais besoin de ça à plusieurs endroits, c'est plus le cas maintenant donc je vais re-inline

quand je fesais le dhcp freeradius, j'avais besoin de ça à plusieurs endroits, c'est plus le cas maintenant donc je vais re-inline
thubrecht marked this conversation as resolved
lbailly force-pushed plan_ip from d36d564766 to 4106343d8a 2024-05-23 16:28:23 +02:00 Compare
thubrecht requested changes 2024-05-24 09:24:08 +02:00
@ -14,0 +15,4 @@
optionalString
imap0
attrsToList
getExe'
Owner

Idéalement cette liste devrait être triée

Idéalement cette liste devrait être triée
lbailly marked this conversation as resolved
@ -44,0 +43,4 @@
vlan = 4094 - id;
prefix24nb = (id + 1) / 8;
prefix27nb = (id + 1 - prefix24nb * 8) * 32;
prefixLength = 27;
Owner

Le prefixLength risque de changer souvent ?
Ce serait bien de l'inline sinon

Le `prefixLength` risque de changer souvent ? Ce serait bien de l'inline sinon
lbailly marked this conversation as resolved
@ -44,0 +46,4 @@
prefixLength = 27;
netIP = "10.0.${toString prefix24nb}.${toString prefix27nb}";
servIP = "10.0.${toString prefix24nb}.${toString (prefix27nb + 1)}";
# broadIP = "10.0.${toString prefix24nb}.${toString (prefix27nb + 31)}";
Owner

Si y'en a pas besoin ça ne sert à rien de le laisser

Si y'en a pas besoin ça ne sert à rien de le laisser
lbailly marked this conversation as resolved
@ -47,3 +54,3 @@
value = {
Id = vlan;
address = [ "10.0.${builtins.toString prefix24nb}.${builtins.toString (prefix29nb + 1)}/29" ];
address = [ ];
Owner

Inutile du coup ?

Inutile du coup ?
Author
Member

J'utilise plutôt l'entrée addresses qui me permet de pas créer la route par défaut, car je veux la mettre dans une autre table de routage. address me permet pas de faire ça, mais c'est pas forcément "inutile", c'est juste ici que j'ai un besoin précis

J'utilise plutôt l'entrée `addresses` qui me permet de pas créer la route par défaut, car je veux la mettre dans une autre table de routage. `address` me permet pas de faire ça, mais c'est pas forcément "inutile", c'est juste ici que j'ai un besoin précis
Owner

Mais du coup ça sert à rien de mettre une liste vide, si ?
Donc on peut l'enlever.

Mais du coup ça sert à rien de mettre une liste vide, si ? Donc on peut l'enlever.
lbailly marked this conversation as resolved
@ -50,0 +61,4 @@
};
linkConfig = {
Promiscuous = true;
};
Owner
linkConfig.Promiscuous = true;
```nix linkConfig.Promiscuous = true; ```
lbailly marked this conversation as resolved
@ -106,0 +193,4 @@
systemd-networkd.serviceConfig = {
LimitNOFILE = 4096;
};
Owner
systemd-networkd.serviceConfig.LimitNOFILE = 4096;
```nix systemd-networkd.serviceConfig.LimitNOFILE = 4096; ```
lbailly marked this conversation as resolved
lbailly force-pushed plan_ip from 4106343d8a to 2a084e31b7 2024-05-24 13:07:09 +02:00 Compare
lbailly force-pushed plan_ip from 2a084e31b7 to bc5ee80d69 2024-05-26 20:50:42 +02:00 Compare
thubrecht merged commit bc5ee80d69 into main 2024-05-26 20:57:19 +02:00
thubrecht deleted branch plan_ip 2024-05-26 20:57:20 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: DGNum/infrastructure#99
No description provided.