fix(h4): pin enp2s0 as the preferred route so the source address stops floating (2.9) - #573
Merged
Merged
Conversation
…s floating (2.9) Both interfaces are on the same /24 and both take DHCP, so both installed a default route at metric 100. Equal metric means the kernel picks one and nothing pins the choice -- it had picked enp1s0, so the H4 was sourcing LAN traffic from 192.168.1.156, an address referenced nowhere in this repo. Found in Vault audit logs, where the H4's own requests arrived from an address no document knew about. This matters beyond tidiness: 2.9's firewall allowlist would have been built from the repo, which says the H4 is .160. It would have worked until a reboot flipped the source address and locked out the machine that runs every playbook, including the one needed to undo the rule -- a failure arriving hours or weeks later, looking unrelated to the change. Hung off h4_dns_link, the variable that already decides which link is primary, so the resolver link and the preferred-route link are the same link by construction. Two independent knobs would eventually disagree in a way nothing would notice. route-metric: 200 on the non-primary link. It does not remove .156 or down the link, only which route is preferred -- and nothing is bound to .156 any more, since the unconfigured dnsmasq holding it was disabled in 2.14, found during this same investigation. Applying stays manual, as this playbook has always been: it writes the override and stops.
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Both interfaces are on the same /24 and both take DHCP, so both installed a default route at metric 100. Equal metric means the kernel picks one and nothing pins the choice -- it had picked enp1s0, so the H4 was sourcing LAN traffic from 192.168.1.156, an address referenced nowhere in this repo. Found in Vault audit logs, where the H4's own requests arrived from an address no document knew about.
This matters beyond tidiness: 2.9's firewall allowlist would have been built from the repo, which says the H4 is .160. It would have worked until a reboot flipped the source address and locked out the machine that runs every playbook, including the one needed to undo the rule -- a failure arriving hours or weeks later, looking unrelated to the change.
Hung off h4_dns_link, the variable that already decides which link is primary, so the resolver link and the preferred-route link are the same link by construction. Two independent knobs would eventually disagree in a way nothing would notice.
route-metric: 200 on the non-primary link. It does not remove .156 or down the link, only which route is preferred -- and nothing is bound to .156 any more, since the unconfigured dnsmasq holding it was disabled in 2.14, found during this same investigation.
Applying stays manual, as this playbook has always been: it writes the override and stops.