1

У меня есть несколько подключенных к 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);

Есть ли другой способ сделать это?

Спасибо!

0