tailscale up --advertise-routes doesn't work, of course, when /proc/sys/net/ipv4/ip_forward is set to 0 (which stops any packets from being relayed). We can't automatically set it to 1 because that could cause unexpected security holes outside of tailscale; a user should decide for sure that they want ip forwarding enabled.
We do print a warning (I think) in tailscale up when that flag is set wrong, but it's easy to miss, and also, if someone fixes it temporarily (by writing to /proc/sys/net/ipv4/ip_forward), it'll eliminate the warning and work for a while, but suddenly stop after they reboot, and then there is nowhere good to put a warning since they don't need to re-run tailscale up.
I suggest we have tailscaled provide an optional set of warning strings when it registers itself. We could print those warnings in the admin UI in some prominent place, and trigger a warning when ip_forwarding is disabled (perhaps among other things).
In the shorter term, we should at least warn about it in the tailscaled logs somewhere that shows up periodically, so someone reading the diagnostic logs would notice it right away.
tailscale up --advertise-routesdoesn't work, of course, when/proc/sys/net/ipv4/ip_forwardis set to 0 (which stops any packets from being relayed). We can't automatically set it to 1 because that could cause unexpected security holes outside of tailscale; a user should decide for sure that they want ip forwarding enabled.We do print a warning (I think) in
tailscale upwhen that flag is set wrong, but it's easy to miss, and also, if someone fixes it temporarily (by writing to /proc/sys/net/ipv4/ip_forward), it'll eliminate the warning and work for a while, but suddenly stop after they reboot, and then there is nowhere good to put a warning since they don't need to re-runtailscale up.I suggest we have tailscaled provide an optional set of warning strings when it registers itself. We could print those warnings in the admin UI in some prominent place, and trigger a warning when ip_forwarding is disabled (perhaps among other things).
In the shorter term, we should at least warn about it in the tailscaled logs somewhere that shows up periodically, so someone reading the diagnostic logs would notice it right away.