diff --git a/iface/wg_configurer_kernel_unix.go b/iface/wg_configurer_kernel_unix.go index 48ea70b7b..8b47082da 100644 --- a/iface/wg_configurer_kernel_unix.go +++ b/iface/wg_configurer_kernel_unix.go @@ -56,8 +56,9 @@ func (c *wgKernelConfigurer) updatePeer(peerKey string, allowedIps string, keepA return err } peer := wgtypes.PeerConfig{ - PublicKey: peerKeyParsed, - ReplaceAllowedIPs: true, + PublicKey: peerKeyParsed, + ReplaceAllowedIPs: false, + // don't replace allowed ips, wg will handle duplicated peer IP AllowedIPs: []net.IPNet{*ipNet}, PersistentKeepaliveInterval: &keepAlive, Endpoint: endpoint, diff --git a/iface/wg_configurer_usp.go b/iface/wg_configurer_usp.go index 04a29a60b..cd1d9d0b6 100644 --- a/iface/wg_configurer_usp.go +++ b/iface/wg_configurer_usp.go @@ -64,8 +64,9 @@ func (c *wgUSPConfigurer) updatePeer(peerKey string, allowedIps string, keepAliv return err } peer := wgtypes.PeerConfig{ - PublicKey: peerKeyParsed, - ReplaceAllowedIPs: true, + PublicKey: peerKeyParsed, + ReplaceAllowedIPs: false, + // don't replace allowed ips, wg will handle duplicated peer IP AllowedIPs: []net.IPNet{*ipNet}, PersistentKeepaliveInterval: &keepAlive, PresharedKey: preSharedKey,