Vikram Singh Rathaur Ответов: 1

Как проверить, установлено ли VPN-соединение на компьютере


У меня есть интранет-приложение,и оно доступно в домене компании, но если кто-то хочет получить доступ к интранет-приложению за пределами компании, то ему нужно будет подключиться к VPN. Поэтому я хочу проверить состояние VPN-соединения, потому что если пользователь подключается к VPN, то у нас есть некоторые ограничения в приложении.

Что я уже пробовал:

if (NetworkInterface.GetIsNetworkAvailable())
   {
       NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
       foreach (NetworkInterface Interface in interfaces)
       {

           if (Interface.OperationalStatus == OperationalStatus.Up)
           {

               if ((Interface.NetworkInterfaceType == NetworkInterfaceType.Ppp) && (Interface.NetworkInterfaceType != NetworkInterfaceType.Loopback))
               {
                   IPv4InterfaceStatistics statistics = Interface.GetIPv4Statistics();
                  MessageBox.Show(Interface.Name + " " + Interface.NetworkInterfaceType.ToString() + " " + Interface.Description);
               }
               else
               {
                   MessageBox.Show("VPN Connection is lost!");

                  // Perform some operation
               }
           }
       }
   }

1 Ответов

Рейтинг:
1

Kornfeld Eliyahu Peter

Недостаточно - и не правильно-говорить, что если есть активное VPN-соединение, то текущий веб-запрос должен быть ограничен...
По природе интернета очень возможно, что некоторые текущие запросы поступают из домена, а некоторые-из VPN...
Поскольку и стандартные пользователи домена, и пользователи VPN будут иметь IP-адрес вашей сети, может возникнуть проблема с их различением...
В качестве примера: в нашем офисе все работники имеют возможность VPN-подключения к своей собственной рабочей станции, поэтому, когда, наконец, кто-то просматривает приложение helpdesk изнутри или снаружи, приложение не имеет никакого способа узнать об этом...
Если пользователи подключены (через VPN) непосредственно к вашему веб-серверу, то вы можете сказать, что адрес пользователя запроса будет "localhost" и limit, однако я вижу много проблем с безопасностью, позволяя людям VPN подключаться к вашему веб-серверу...
Если все посторонние подключаются к известной VPN-машине (например, терминалу), то вы можете проверить адрес пользователя запроса и посмотреть, пришел ли он с этой машины, а также ограничить возможности...
Таким образом, вы не можете точно сказать, пришел ли запрос от VPN или нет, за исключением конкретной настройки сети...