mirror of
https://github.com/tailscale/tailscale.git
synced 2025-04-19 05:02:34 +00:00
wgengine/router: disable IPv6 if v6 policy routing is unavailable.
Fixes #895. Signed-off-by: David Anderson <danderson@tailscale.com>
This commit is contained in:
parent
a2d78b4d3e
commit
a664aac877
@ -1023,6 +1023,20 @@ func supportsV6() bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Older kernels don't support IPv6 policy routing.
|
||||||
|
bs, err = ioutil.ReadFile("/proc/sys/net/ipv6/conf/all/disable_policy")
|
||||||
|
if err != nil {
|
||||||
|
// Absent knob means policy routing is unsupported.
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
disabled, err = strconv.ParseBool(strings.TrimSpace(string(bs)))
|
||||||
|
if err != nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if disabled {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
// Some distros ship ip6tables separately from iptables.
|
// Some distros ship ip6tables separately from iptables.
|
||||||
if _, err := exec.LookPath("ip6tables"); err != nil {
|
if _, err := exec.LookPath("ip6tables"); err != nil {
|
||||||
return false
|
return false
|
||||||
|
Loading…
x
Reference in New Issue
Block a user