WAN health probe: ICMP loss and RTT from the physical link, bypassing the host VPN #413
Labels
No labels
audit-work
bug
docs
general-admin
major-upgrade
needs-vps-sync
new-service
on-hold
outside-work
post-podman
renovate
upstream
vps
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
mysticalsoap/docker#413
Loading…
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?
Follow-up from #176 (host NIC counters landed in #412). Counters say how much went through enp5s0; nothing says whether the raw uplink was healthy. Every tunnel-loss investigation so far (aqomui#118, #156) had no baseline for "was it the ISP link or the tunnel".
Wanted
A continuous ICMP probe to a fixed anycast target (1.1.1.1 and 9.9.9.9, both so a single target's blip is distinguishable) from the physical link, bypassing the host VPN, recorded as loss and RTT with history, plus an alert on sustained loss.
Constraints found
net.ipv4.ping_group_rangein the container netns (verified0 2147483647inside blackbox-exporter, uid 0 image).cap_drop: ALLstays./1route override while the tunnel is up. The probe would measure the tunnel, not the link.tcp/udpand port;parse_network_entryrejects anything else, soicmpcannot be expressed today.default via 192.168.0.1 dev enp5s0, so a bare-subnet entry sends everything from that subnet out the physical link, container-to-container included. A bare entry is only safe for a subnet whose members never talk to other containers on it.Options
proto: icmp(no port) inparse_network_entryand the rule builder, then one entry172.18.7.0/24 icmp(blackbox's default-route subnet, shared with gluetun; nothing else there pings). Smallest change, one blackbox instance, probe targets added toblackbox.ymlas anicmpmodule.Option 1 preferred. Either way, targets by IP so no DNS crosses the bypass.
Not covered
UDP loss. A
dnsmodule probe over UDP would need audp 53entry, which also captures blackbox's lookups to AdGuard and sends them out enp5s0. ICMP loss is the baseline that was missing; UDP can follow if ICMP ever disagrees with the tunnel symptoms.🤖 Generated with Claude Code