diff --git a/Netch/Controllers/TUNController.cs b/Netch/Controllers/TUNController.cs index 70497ec3..d95c4339 100644 --- a/Netch/Controllers/TUNController.cs +++ b/Netch/Controllers/TUNController.cs @@ -39,11 +39,11 @@ namespace Netch.Controllers if (_serverRemoteAddress != null && IPAddress.IsLoopback(_serverRemoteAddress)) _serverRemoteAddress = null; - _outbound = NetRoute.GetBestRouteTemplate(out var address); + _outbound = NetRoute.GetBestRouteTemplate(); CheckDriver(); Dial(NameList.TYPE_ADAPMTU, "1500"); - Dial(NameList.TYPE_BYPBIND, address.ToString()); + Dial(NameList.TYPE_BYPBIND, _outbound.Gateway); Dial(NameList.TYPE_BYPLIST, "disabled"); #region Server diff --git a/Netch/Models/NetRoute.cs b/Netch/Models/NetRoute.cs index 01b5073d..ee945187 100644 --- a/Netch/Models/NetRoute.cs +++ b/Netch/Models/NetRoute.cs @@ -16,12 +16,11 @@ namespace Netch.Models }; } - public static NetRoute GetBestRouteTemplate(out IPAddress address) + public static NetRoute GetBestRouteTemplate() { if (IpHlpApi.GetBestRoute(BitConverter.ToUInt32(IPAddress.Parse("114.114.114.114").GetAddressBytes(), 0), 0, out var route) != 0) throw new MessageException("GetBestRoute 搜索失败"); - address = new IPAddress(route.dwForwardNextHop.S_addr); var gateway = new IPAddress(route.dwForwardNextHop.S_un_b); return TemplateBuilder(gateway.ToString(), (int)route.dwForwardIfIndex); }