You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During bringup on my NixOS system, the DNS config stack detects systemd's implementation of resolvconf (because systemd is in the per-service $PATH generated by NixOS, even though really my system uses openresolv - that's a bug in the NixOS module that I'll fix separately).
However, DNS config fails with:
router: dns up: resolvconf: running /nix/store/7avxs5gsi32ci1v8qpvr3sqc15fnx90q-systemd-243.7/bin/resolvconf -m 0 -x -a tun-tailscale.inet: Unknown interface 'tun-tailscale': No such device
Looks like systemd's shim implementation doesn't like us providing a configuration for a fake interface name 👍
This also tells me that my heuristic for detecting systemd is imperfect, as resolvconf should never get used when it's the systemd shim. This is probably because systemctl is not in the PATH, which makes sense on NixOS. I wonder: why is resolvconf in the PATH? Is this something you specified in the NixOS unit?
In any case, potentially better heuristics are:
Just check /etc/resolv.conf for 127.0.0.53, which seems to be reasonably unique to systemd, judging from a cursory search. (can I read that file on NixOS? I assume so, for compatibility reasons, right?)
Try to talk to systemd-resolved over DBus and see if I fail. This is probably the most "correct" way to discover it, but I don't immediately see a good way to discover whether resolved is managing DNS or merely serving as a client. On the other hand, we may want to always push our config to resolved as well as whatever else is active; I think it's harmless, if not useful.
Is there a workaround for this? I'm hitting the same thing on nixos:
authReconfig: ra=false dns=true 0x01: dns set: running /nix/store/q6ylicsava582g55mdx0788yg2fib7js-systemd-246.6/bin/resolvconf -m 0 -x -a tun-tailscale.inet: Failed to resolve interface "tun-tailscale": No such device
During bringup on my NixOS system, the DNS config stack detects systemd's implementation of resolvconf (because systemd is in the per-service $PATH generated by NixOS, even though really my system uses openresolv - that's a bug in the NixOS module that I'll fix separately).
However, DNS config fails with:
router: dns up: resolvconf: running /nix/store/7avxs5gsi32ci1v8qpvr3sqc15fnx90q-systemd-243.7/bin/resolvconf -m 0 -x -a tun-tailscale.inet: Unknown interface 'tun-tailscale': No such device
Looks like systemd's shim implementation doesn't like us providing a configuration for a fake interface name 👍
cc @dshynkev
The text was updated successfully, but these errors were encountered: