From bbc8103a7d6f924d139abfccff7f7ff3854188b5 Mon Sep 17 00:00:00 2001 From: Fangliding Date: Fri, 5 Jun 2026 17:16:53 +0800 Subject: [PATCH] Bypass default interface for loopback --- proxy/tun/handler.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/proxy/tun/handler.go b/proxy/tun/handler.go index 1e8e030e6..a177ba40a 100644 --- a/proxy/tun/handler.go +++ b/proxy/tun/handler.go @@ -80,6 +80,12 @@ func (t *Handler) Init(ctx context.Context, pm policy.Manager, dispatcher routin return nil } return c.Control(func(fd uintptr) { + _, ipStr, _ := net.SplitHostPort(address) + ip := net.ParseIP(ipStr) + // skip loopback + if ip != nil && ip.IsLoopback() { + return + } err := setinterface(network, address, fd, iface) if err != nil { errors.LogInfoInner(context.Background(), err, "[tun] falied to set interface")