diff --git a/tunnel.go b/tunnel.go index e8a5757..338d939 100644 --- a/tunnel.go +++ b/tunnel.go @@ -122,10 +122,15 @@ func (d *VirtualTun) TCPHandle(s *socks5.Server, c *net.TCPConn, r *socks5.Reque return fmt.Errorf("nat table is full") } } - conn, err := d.tnet.ListenUDP(&net.UDPAddr{IP: unspecifiedIP, Port: caddr.Port}) + laddr, err := net.ResolveUDPAddr("udp", fmt.Sprintf(":%d", mappedPort)) if err != nil { return err } + conn, err := d.tnet.ListenUDP(laddr) + if err != nil { + fmt.Println("fic") + return err + } entry := &NatEntry{ key: srcAddr, srcAddr: caddr,