Автоматичний VPN в Windows 8.1

У числі нововведень 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
Примітка.  Зверніть увагу, що на початку імені DNS суфікса повинна стояти крапка.