summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--wgengine/router/router_linux.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/wgengine/router/router_linux.go b/wgengine/router/router_linux.go
index 3a95c00ca..915f4c3bb 100644
--- a/wgengine/router/router_linux.go
+++ b/wgengine/router/router_linux.go
@@ -1081,7 +1081,14 @@ func (r *linuxRouter) addNetfilterChains() error {
for _, ipt := range r.netfilterFamilies() {
if err := create(ipt, "filter", "ts-input"); err != nil {
- return err
+ if ipt == r.ipt6 {
+ r.v6Available = false
+ r.v6NATAvailable = false
+ r.logf("addNetfilterChains ipt6 failed, disabling IPv6 and continuing. Error was: %v", err)
+ continue
+ } else {
+ return err
+ }
}
if err := create(ipt, "filter", "ts-forward"); err != nil {
return err
@@ -1106,7 +1113,8 @@ func (r *linuxRouter) addNetfilterBase() error {
}
if r.v6Available {
if err := r.addNetfilterBase6(); err != nil {
- return err
+ r.v6Available = false
+ r.logf("addNetfilterBase6 failed, disabling IPv6 and continuing. Error was: %v", err)
}
}
return nil