diff --git a/config/config.go b/config/config.go index a4f0e942..d170617e 100644 --- a/config/config.go +++ b/config/config.go @@ -115,7 +115,7 @@ type Tun struct { DNSHijack []netip.AddrPort `yaml:"dns-hijack" json:"dns-hijack"` AutoRoute bool `yaml:"auto-route" json:"auto-route"` AutoDetectInterface bool `yaml:"auto-detect-interface" json:"auto-detect-interface"` - TunAddressPrefix *netip.Prefix `yaml:"-" json:"-"` + TunAddressPrefix netip.Prefix `yaml:"-" json:"-"` } // IPTables config @@ -910,9 +910,11 @@ func parseTun(rawTun RawTun, general *General, dnsCfg *DNS) (*Tun, error) { dnsHijack = append(dnsHijack, addrPort) } - var tunAddressPrefix *netip.Prefix + var tunAddressPrefix netip.Prefix if dnsCfg.FakeIPRange != nil { - tunAddressPrefix = dnsCfg.FakeIPRange.IPNet() + tunAddressPrefix = *dnsCfg.FakeIPRange.IPNet() + } else { + tunAddressPrefix = netip.MustParsePrefix("198.18.0.1/16") } return &Tun{ diff --git a/listener/tun/tun_adapter.go b/listener/tun/tun_adapter.go index 35a9d0a6..9d0cad1b 100644 --- a/listener/tun/tun_adapter.go +++ b/listener/tun/tun_adapter.go @@ -26,7 +26,7 @@ import ( func New(tunConf *config.Tun, tcpIn chan<- C.ConnContext, udpIn chan<- *inbound.PacketAdapter) (ipstack.Stack, error) { var ( - tunAddress = netip.Prefix{} + tunAddress = tunConf.TunAddressPrefix devName = tunConf.Device stackType = tunConf.Stack autoRoute = tunConf.AutoRoute @@ -38,10 +38,6 @@ func New(tunConf *config.Tun, tcpIn chan<- C.ConnContext, udpIn chan<- *inbound. err error ) - if tunConf.TunAddressPrefix != nil { - tunAddress = *tunConf.TunAddressPrefix - } - if devName == "" { devName = generateDeviceName() }