public VpnRoute() { Tunnel = new NetIntf(TapDeviceFunc.GetTapDevice(Program.UserConfig.TapIntfaceName)); var intf = Diagnostic.GetBestInterface(Program.UserConfig.CurrentProfile.ServerIp); _origin = intf == null ? new NetIntf(IPNetHelper.GetBestIntf(Program.UserConfig.CurrentProfile.ServerIp.ToUInt32())) : new NetIntf(intf); _chnRouteOn = false; _originGateway = GetGateway(); }
public void SetDns(v4addr dns) { var target = GetManagementObject(); if (target != null) { ManagementBaseObject param = target.GetMethodParameters("SetDNSServerSearchOrder"); param["DNSServerSearchOrder"] = new[] { dns.ToString() }; target.InvokeMethod("SetDNSServerSearchOrder", param, null); } }
public void SetStaticIP(v4addr addr, v4addr mask) { var target = GetManagementObject(); if (target != null) { ManagementBaseObject param = target.GetMethodParameters("EnableStatic"); param["IPAddress"] = new[] { addr.ToString() }; param["SubnetMask"] = new[] { mask.ToString() }; target.InvokeMethod("EnableStatic", param, null); } }
public Profile(ProfileJsonObject o) { Server = o.server; Port = o.port; UserToken = o.usertoken; Ip = new v4addr(o.ip); Subnet = new v4addr(o.subnet); Dns = new v4addr(o.dns); Password = o.password; Mtu = o.mtu; RemoteTunIp = new v4addr(o.remote_tun_ip); ServerIp = new v4addr(o.server); }
private v4addr GetGatewayFromTracert() { // more than one running network interface var matches = Regex.Matches(Diagnostic.CallTracert(" -d -h 1 114.114.114.114"), @"(\d{1,3}\.){3}\d{1,3}"); if (matches.Count != 2) { return(null); } var targetGateway = new v4addr(matches[1].Value); return(targetGateway); }
public void AddRouteEntry(v4addr dest, v4addr mask, v4addr next, uint metric = 0) { IPNetHelper.CreateIPForwardEntry(dest.ToUInt32(), mask.ToUInt32(), next.ToUInt32(), IntfIndex, (int)(metric == 0 ? _defaultInterfaceMetric : _defaultInterfaceMetric + metric)); }
public void DeletePersistentRoute(v4addr dest, v4addr mask, v4addr next) { Diagnostic.CallRouteExe($"-p DELETE {dest} MASK {mask} {next}"); }
public void DeleteRouteEntryUsingRouteExe(v4addr dest, v4addr mask, v4addr next) { Diagnostic.CallRouteExe($"DELETE {dest} MASK {mask} {next}"); }
public void AddPersistentRoute(v4addr dest, v4addr mask, v4addr next, int metric) { Diagnostic.CallRouteExe($"-p ADD {dest} MASK {mask} {next} METRIC {metric} IF {IntfIndex}"); }
public void AddRouteEntryUsingRouteExe(v4addr dest, v4addr mask, v4addr next, int metric) { Diagnostic.CallRouteExe($"ADD {dest} MASK {mask} {next} METRIC {metric} IF {IntfIndex}"); }
public void DeleteRouteEntry(v4addr dest, v4addr mask, v4addr next) { IPNetHelper.DeleteIPForwardEntry(dest.ToUInt32(), mask.ToUInt32(), next.ToUInt32(), IntfIndex); }