В числе новшеств Windows 8.1 в области удаленного доступа стоит отметить расширение возможностей VPN клиента. Появилась возможность использовать не только стандартный VPN клиент от Microsoft, но и уже встроенные в систему VPN клиенты от сторонних производителей (CheckPoint, F5, Juniper, SonicWall и других), кроме того в новой ОС появилась функция Auto-Triggered VPN. Функции Auto Triggered VPN в Windows 8.1 позволяет автоматически включать VPN для доступа к определенным сервисам и сайтам.
Принцип действия функции Auto Triggered VPN достаточно прост. Система автоматически устанавливает VPN соединение с корпоративной сетью если:
- Запускается определенное приложение (как классическое, так и модерновое Metro app)
- Система или любое приложение обращается к корпоративному ресурсу с определенным DNS суффиксом (например, при обращении к корпоративному сайту компании)
Благодаря возможности автоматического VPN подключения при выполнении определенных условий доступ корпоративным ресурсам в Windows 8.1 для конечного пользователя становится таким же прозрачным, как и при использовании DirectAccess! И, естественно, теперь не придется строить такие сложные схемы, например, как описанные в статье Автозапуск VPN в Windows.
VPN соединение может быть установлено с любого личного устройства пользователя в концепции BYOD (Bring Your Own Device), что в корне отличается от возможностей, предлагаемых технологией DirectAccess. Важное отметить, что автоматическое VPN подключение не работает на компьютере, входящем в домен Windows.
Требования для работы Auto-triggered VPN:
- В качестве клиента может использоваться устрйство c Windows 8.1 не Enterprise редакции и не включенной в домен Windows (Workplace Join, естественно, использоваться может )
- В качестве платформы VPN сервера можно использовать как Windows Server 2012 R2, так и предыдущие версии VPN серверов (в т.ч. встроенный VPN сервер на базе Windows 7 или Windows 8)
- Для VPN подключении обязательно должна использоваться технология раздельного туннелирования VPN (Split Tunneling)
Управление функцией Auto-triggered VPN осуществляется с помощью PowerShell, и его можно использовать в различных более сложных скриптах и сценариях.
Далее мы разберем три сценария использования автоматического VPN подключения в Window 8.1. Во всех трех случаях нам потребуется наличие работающего VPN профиля, созданного любым удобным способом (например, так). Допустим, имя созданного нами VPN подключения на клиентской машине “VPNArn”.
Как мы уже писали выше, для VPN подключения обязательно должен быть задействован режим раздельного туннелирования. Изменить тип тунеллирования на Split Tunneling можно PoSh командой:
Set-VpnConnection –name VPNArn –SplitTunneling $true
Автоматическое VPN подключение для приложения Metro (Modern App)
В этом примере мы настроим автоматическую установку VPN соединение при запуске Metro приложения “Music Application”.
В первую очередь нам необходимо получить ID этого приложения, который можно узнать с помощью PowerShell команды:
Get-AppxPackage -name *mus*
Нас интересует значение, хранящееся в поле PackageFamilyName. В нашем примере это Microsoft.ZuneMusic_8wekyb3d8bbwe.
С помощью следующей команды прикрепим к данному приложению созданный ранее VPN профиль:
Add-VpnConnectionTriggerApplication –name VPNArn –ApplicationID Microsoft.ZuneMusic_8wekyb3d8bbwe -PassThru
Теперь при запуске Metro приложения Music будет автоматически осуществляться VPN подключение с использованием указанного профиля. В том случае, если учетные данные для VPN-подключения не были сохранены, система попросит их указать.
Когда все приложения, использующие данное подключение закрыты или в течении определённого промежутка времени отсутствует трафик в корпоративную сеть (idle задается параметром IdleDisconnectSeconds, и по умолчанию равен 5 минутам), VPN соединение автоматически разрывается.
Автоматическое VPN подключение в Windows 8.1 для классических приложений
Ту же самую схему можно реализовать и для «классических» приложений Windows. В качестве идентификатора приложения используется полный путь к исполняемому файлу. Например, чтобы перед запускам Блокнота автоматически инициировалось VPN подключение с именем VPNArn, воспользуйтесь командой:
Add-VpnConnectionTriggerApplication –name VPNArn –ApplicationID “c:\windows\system32\notepad.exe” -PassThru
Вывесите список приложений, ассоциированных с конкретным VPN подключением можно так:
Get-VpnConnectionTrigger –name VPNArn
Чтобы отключить приложение от VPN профиля, воспользуйтесь командлетом Remove-VpnConnectionTriggerApplication:
Remove-VpnConnectionTriggerApplication –name VPNArn –ApplicationID “c:\windows\system32\notepad.exe” -PassThru
Автоматическое VPN подключении при обращении к ресурсам с определенным DNS суффиксам
В Windows 8.1 можно задать список DNS суффиксов, при обращении к которым инициируется VPN соединение. Формат команды PoSh следующий:
Add-VpnConnectionTriggerDnsConfiguration [-Name] –DnsSuffix [-DnsIPAddress ] –PassThru
С помощью данной команды задается имя VPN подключения, список DNS суффиксов и адрес одного или нескольких DNS серверов, которые будут использоваться для разрешения всех имен, попадающих под данный суффикс.
Например, создадим автоматический VPN триггер для суффикса .corp.winitpro.ru
Add-VpnConnectionTriggerDnsConfiguration –name VPNArn –DnsSuffix “.corp.winitpro.ru” –DnsIPAddress 2.2.2.2