diff --git a/client/iface/wgproxy/udp/proxy.go b/client/iface/wgproxy/udp/proxy.go index e447f5eb9..502182393 100644 --- a/client/iface/wgproxy/udp/proxy.go +++ b/client/iface/wgproxy/udp/proxy.go @@ -81,6 +81,13 @@ func (p *WGUDPProxy) Work() { p.paused = false p.sendPkg = p.localConn.Write + if p.srcFakerConn != nil { + if err := p.srcFakerConn.Close(); err != nil { + log.Errorf("failed to close src faker conn: %s", err) + } + p.srcFakerConn = nil + } + if !p.isStarted { p.isStarted = true go p.proxyToRemote(p.ctx)