default mise meme quand ce n'est pas desirer #43
Labels
No labels
bug fix
feature implementation
new feature
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
syonad/two#43
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Actuellement une default est mise par dnsmasq même quand on en veut pas.
la solution c'est de mettre, dhcp-option=3 vide, sinon il prend une ip bien precise...
Corrigé le 2026-08-24, validé sur lab3.
Cause racine —
internal/dhcp/generate.gon'émettaitdhcp-option=3que si une gateway était connue. Sans directive, dnsmasq applique son défaut et s'annonce lui-même comme routeur : ne rien écrire n'était pas « ne rien envoyer », mais « envoyer le défaut ». Man dnsmasq : « Options for which dnsmasq normally provides default values can be omitted by defining the option with no data. »Correctif — émission de l'option nue
dhcp-option=3, qui supprime réellement le routeur. Portée plus large que prévu : tout subnet vxlan était concerné, alors qu'un vxlan est privé par construction.Piège associé — le test qui existait vérifiait l'absence de la ligne dans le fichier, donc l'état du fichier et non le comportement obtenu. Il était vert pendant que le bug était là.
Ce correctif a introduit une régression, corrigée le jour même : en supprimant la route par défaut, il a supprimé le seul chemin des guests vers
169.254.169.254, donc vers le serveur de métadonnées — cloud-init ne trouvait plus son datasource. La route est désormais annoncée explicitement en option 121.Depuis, la décision a été revue (cf. #31) : une route par défaut est de nouveau toujours annoncée, mais vers un next-hop choisi (
interface_ippar défaut) au lieu d'être fabriquée par dnsmasq. Le ticket reste fermé : c'est ce correctif qui a rendu ce next-hop contrôlable.