BindIPEndPointDelegate 在 Windows 上选择 VPN 接口

BindIPEndPointDelegate 在 Windows 上选择 VPN 接口

我的服务器上有多个与 Windows 集成的 L2TP VPN 连接。默认情况下,所有互联网流量都应通过我的本地网络适配器而不是 VPN 进行路由。我的应用程序应该能够选择用于特定 Web 请求的 VPN 接口。因此,我想决定通过特殊的 VPN 适配器路由特定的 Web 请求。但是,我无法硬编码路由(使用“route add”),因为应用程序应该确定这一点。

我已经禁用“在远程网络上使用默认网关”选项,因此默认情况下不会通过 VPN 路由任何流量。

我尝试使用BindIPEndPointDelegate绑定到我的 VPN 接口10.0.0.13,但是我收到一条消息WebException:“无法连接到远程服务器”

var req = (HttpWebRequest)WebRequest.Create("http://checkip.dyndns.org");
req.ServicePoint.BindIPEndPointDelegate = (servicePoint, remoteEndPoint, retryCount) => new IPEndPoint(IPAddress.Parse("10.0.0.13"), 80);
var webResponse = req.GetResponse();
Console.WriteLine(webResponse.ResponseUri);
var sr = new StreamReader(webResponse.GetResponseStream());
var readToEnd = sr.ReadToEnd();
Console.WriteLine(readToEnd);

还有其他方法可以实现这一点吗?

谢谢你!

相关内容