diff --git a/services/wireguard/endpoint/dvpnclient/client.go b/services/wireguard/endpoint/dvpnclient/client.go index 153062f2c5..ae6f791650 100644 --- a/services/wireguard/endpoint/dvpnclient/client.go +++ b/services/wireguard/endpoint/dvpnclient/client.go @@ -21,6 +21,7 @@ import ( "encoding/base64" "fmt" "net" + "strconv" "strings" "time" @@ -96,6 +97,12 @@ func (c *client) configureDevice(config wgcfg.DeviceConfig) error { return err } + if config.MTU > 0 { + if err := cmdutil.SudoExec("ip", "link", "set", "dev", config.IfaceName, "mtu", strconv.Itoa(config.MTU)); err != nil { + return fmt.Errorf("could not set interface MTU to %d: %w", config.MTU, err) + } + } + peer, err := peerConfig(config.Peer) if err != nil { return err