Gestion avancer des subnet #28

Closed
opened 2026-05-01 20:55:43 +00:00 by nicolas.boufideline · 2 comments

En gros il faudrait pouvoir creer un subnet special (dit primaire) qui serait liee au bridge principal (dit admin) avec certaines fonctions desactiver comme l'ajout de la gateway qui serait inulite ici

En gros il faudrait pouvoir creer un subnet special (dit primaire) qui serait liee au bridge principal (dit admin) avec certaines fonctions desactiver comme l'ajout de la gateway qui serait inulite ici
Author
Owner

faut trouver un moyens pour que les hyperviseur puisse start depuis une machine (vm) poser dans un subnet, possiblement le subnet 0

simplement ajouter l'ip ici pourrais repondre
--ip-source <IP_DHCP_NETNS>

ebtables -A FORWARD \
  --out-interface "br-${subnet_id}" \
  -p IPv4 --ip-protocol udp  \
  --ip-source-port 67:68 \
  --ip-destination-port 67:68 \
  -j DROP
ebtables -A FORWARD \
  --out-interface "br-${subnet_id}" \
  -p IPv4 --ip-protocol udp  \
  --ip-source <IP_DHCP_NETNS> \
  --ip-source-port 67:68 \
  --ip-destination-port 67:68 \
  -j DROP
faut trouver un moyens pour que les hyperviseur puisse start depuis une machine (vm) poser dans un subnet, possiblement le subnet 0 simplement ajouter l'ip ici pourrais repondre --ip-source <IP_DHCP_NETNS> ```bash ebtables -A FORWARD \ --out-interface "br-${subnet_id}" \ -p IPv4 --ip-protocol udp \ --ip-source-port 67:68 \ --ip-destination-port 67:68 \ -j DROP ``` ```bash ebtables -A FORWARD \ --out-interface "br-${subnet_id}" \ -p IPv4 --ip-protocol udp \ --ip-source <IP_DHCP_NETNS> \ --ip-source-port 67:68 \ --ip-destination-port 67:68 \ -j DROP ```
nicolas.boufideline added reference feature-28 2026-05-18 21:29:49 +00:00
Author
Owner

Livré en plusieurs temps.

Mode bridge — champ mode dans l'API et le KV (subnet/<name>/mode), vxlan_id devenant conditionnel. subnet/create.go se scinde en une branche vxlan (setupVxlanHost extrait) et une branche bridge qui enslave simplement le veth au local_iface préexistant ; delete.go suit avec deleteSubnetVxlan / deleteSubnetBridge.

Isolation DHCP — les règles ebtables DropDHCP/DeleteDHCP acceptent désormais une IP source, et sont posées sur v-<subnetID>-i dans les deux modes. L'interface_ip est assignée sur br-<subnetID>. Sans cette isolation, un subnet bridgé sur un réseau existant verrait le DHCP de ce réseau, ou lui répondrait.

Point de vigilance — en mode bridge, local_iface est une interface préexistante que le subnet n'a pas créée : elle n'est donc pas vérifiée par le watchdog (#29), et sa disparition ne serait pas signalée.

Gestion des routes DHCP — le CIDR du VPC est requis à la création (vpc/<name>/cidr) et chargé dans loadSubnet ; default_route apparaît comme champ optionnel. La sémantique de ces deux éléments a beaucoup évolué depuis — voir #43 puis #31 pour l'état actuel, où l'option 121 porte toutes les routes.

Livré en plusieurs temps. **Mode `bridge`** — champ `mode` dans l'API et le KV (`subnet/<name>/mode`), `vxlan_id` devenant conditionnel. `subnet/create.go` se scinde en une branche vxlan (`setupVxlanHost` extrait) et une branche bridge qui enslave simplement le veth au `local_iface` préexistant ; `delete.go` suit avec `deleteSubnetVxlan` / `deleteSubnetBridge`. **Isolation DHCP** — les règles ebtables `DropDHCP`/`DeleteDHCP` acceptent désormais une IP source, et sont posées sur `v-<subnetID>-i` **dans les deux modes**. L'`interface_ip` est assignée sur `br-<subnetID>`. Sans cette isolation, un subnet bridgé sur un réseau existant verrait le DHCP de ce réseau, ou lui répondrait. **Point de vigilance** — en mode bridge, `local_iface` est une interface **préexistante** que le subnet n'a pas créée : elle n'est donc pas vérifiée par le watchdog (#29), et sa disparition ne serait pas signalée. **Gestion des routes DHCP** — le CIDR du VPC est requis à la création (`vpc/<name>/cidr`) et chargé dans `loadSubnet` ; `default_route` apparaît comme champ optionnel. La sémantique de ces deux éléments a **beaucoup évolué depuis** — voir #43 puis #31 pour l'état actuel, où l'option 121 porte toutes les routes.
Sign in to join this conversation.
No milestone
No assignees
1 participant
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
syonad/two#28
No description provided.