From 80cc86783db917b03be720741d176426b1e8059e Mon Sep 17 00:00:00 2001 From: afeiszli Date: Mon, 2 May 2022 10:48:00 -0400 Subject: [PATCH] fixing ipv6 --- compose/docker-compose.contained.yml | 1 + compose/docker-compose.nocaddy.yml | 1 + compose/docker-compose.nodns.yml | 1 + compose/docker-compose.reference.yml | 1 + compose/docker-compose.yml | 1 + logic/wireguard.go | 11 +++++++++-- 6 files changed, 14 insertions(+), 2 deletions(-) diff --git a/compose/docker-compose.contained.yml b/compose/docker-compose.contained.yml index e72e2c7a..a2e8699c 100644 --- a/compose/docker-compose.contained.yml +++ b/compose/docker-compose.contained.yml @@ -16,6 +16,7 @@ services: - net.ipv4.ip_forward=1 - net.ipv4.conf.all.src_valid_mark=1 - net.ipv6.conf.all.disable_ipv6=0 + - net.ipv6.conf.all.forwarding=1 restart: always environment: SERVER_NAME: "broker.NETMAKER_BASE_DOMAIN" diff --git a/compose/docker-compose.nocaddy.yml b/compose/docker-compose.nocaddy.yml index 4a838d96..ce20d5df 100644 --- a/compose/docker-compose.nocaddy.yml +++ b/compose/docker-compose.nocaddy.yml @@ -16,6 +16,7 @@ services: - net.ipv4.ip_forward=1 - net.ipv4.conf.all.src_valid_mark=1 - net.ipv6.conf.all.disable_ipv6=0 + - net.ipv6.conf.all.forwarding=1 restart: always environment: SERVER_NAME: "broker.NETMAKER_BASE_DOMAIN" diff --git a/compose/docker-compose.nodns.yml b/compose/docker-compose.nodns.yml index c5abc02a..5bebc0fb 100644 --- a/compose/docker-compose.nodns.yml +++ b/compose/docker-compose.nodns.yml @@ -16,6 +16,7 @@ services: - net.ipv4.ip_forward=1 - net.ipv4.conf.all.src_valid_mark=1 - net.ipv6.conf.all.disable_ipv6=0 + - net.ipv6.conf.all.forwarding=1 restart: always environment: SERVER_NAME: "broker.NETMAKER_BASE_DOMAIN" diff --git a/compose/docker-compose.reference.yml b/compose/docker-compose.reference.yml index 1d52eaf8..b20c1d52 100644 --- a/compose/docker-compose.reference.yml +++ b/compose/docker-compose.reference.yml @@ -15,6 +15,7 @@ services: - net.ipv4.ip_forward=1 - net.ipv4.conf.all.src_valid_mark=1 - net.ipv6.conf.all.disable_ipv6=0 + - net.ipv6.conf.all.forwarding=1 restart: always network_mode: host # Must configure with very particular settngs for host networking to work. Do not just set on! environment: diff --git a/compose/docker-compose.yml b/compose/docker-compose.yml index e72e2c7a..a2e8699c 100644 --- a/compose/docker-compose.yml +++ b/compose/docker-compose.yml @@ -16,6 +16,7 @@ services: - net.ipv4.ip_forward=1 - net.ipv4.conf.all.src_valid_mark=1 - net.ipv6.conf.all.disable_ipv6=0 + - net.ipv6.conf.all.forwarding=1 restart: always environment: SERVER_NAME: "broker.NETMAKER_BASE_DOMAIN" diff --git a/logic/wireguard.go b/logic/wireguard.go index 4acb0f81..95324023 100644 --- a/logic/wireguard.go +++ b/logic/wireguard.go @@ -3,6 +3,7 @@ package logic import ( "errors" "fmt" + "net" "os" "os/exec" "strconv" @@ -397,10 +398,16 @@ func setServerRoutes(iface, network string) { parentNetwork, err := GetParentNetwork(network) if err == nil { if parentNetwork.AddressRange != "" { - local.SetCIDRRoute(iface, parentNetwork.AddressRange, nil) + ip, cidr, err := net.ParseCIDR(parentNetwork.AddressRange) + if err == nil { + local.SetCIDRRoute(iface, ip.String(), cidr) + } } if parentNetwork.AddressRange6 != "" { - local.SetCIDRRoute(iface, parentNetwork.AddressRange6, nil) + ip, cidr, err := net.ParseCIDR(parentNetwork.AddressRange6) + if err == nil { + local.SetCIDRRoute(iface, ip.String(), cidr) + } } } }