У меня есть несколько подключенных к Windows L2TP VPN-соединений на моем сервере. По умолчанию весь интернет-трафик должен направляться через адаптер локальной сети, а не через VPN. Мое приложение должно быть в состоянии выбрать интерфейс VPN для использования для определенных веб-запросов. Таким образом, я хочу решить, что конкретный веб-запрос направляется через специальный адаптер VPN. Однако я не могу жестко закодировать маршруты (используя "добавление маршрута"), потому что приложение должно определить это.
Я отключил опцию "Использовать шлюз по умолчанию в удаленной сети", поэтому по умолчанию трафик не будет проходить через 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);
Есть ли другой способ сделать это?
Спасибо!