Ручна роздача пакета Azure «точка — сайт» працює для п'яти ноутбуків і розвалюється на п'ятдесяти. У скриптовому шляху дві пастки, кожна коштує півдня: помилка параметра, яка виглядає як збій сертифіката, і маршрут, який підключення так і не встановлює, навіть коли все інше правильно. Жодну з них не виправляє повторне завантаження клієнтського пакета. Виконайте перевірки нижче по порядку і зупиніться на першій невдалій.

Я тримаю порядок незмінним, бо кожен крок припускає, що попередній правильний.

1. Виправте область профілю до першого пристрою

Профіль для всіх користувачів живе на машині й з'являється в кожному сеансі. Профіль окремого користувача йде за одним обліковим записом і зберігає його дані в контексті цього запису. Виберіть один і тримайтеся його, бо машина з обома показує два записи з однаковою назвою, і користувачі підключаються до того, що з'явиться першим. Змінити область пізніше означає спершу видалити старий профіль, а не редагувати його на місці.

Профілі для всіх користувачів підходять для спільних пристроїв і кіосків, де ніхто не входить з особистим обліковим записом. Це неправильне значення за замовчуванням, коли сертифікат видається на людину, оскільки профіль рівня машини не може пред'явити дані, що належать комусь іншому. Запишіть вибір у журнал розгортання до появи другого ноутбука.

2. Передавайте перемикачі як перемикачі

Add-VpnConnection приймає параметри-перемикачі, які або присутні, або відсутні. Передача їм $true викликає помилку EapConfigXmlStream, тому багато обговорень цієї теми закінчуються перевіркою ланцюгів сертифікатів, які ніколи не були проблемою.

Add-VpnConnection -Name "Contoso P2S" `
  -ServerAddress "azuregateway-00000000-0000-0000-0000-000000000000.cloudapp.net" `
  -AllUserConnection -UseWinLogonCredential -RememberCredential `
  -TunnelType Automatic -EncryptionLevel Required -AuthenticationMethod MSChapv2

Адреса шлюзу вище наведена для прикладу; візьміть справжню зі завантаженого пакета і тримайте її в лапках. -AllUserConnection потребує підвищеного сеансу, а створюваний профіль має область машини, навіть якщо ви виконали команду як адміністратор. Прочитайте набір параметрів за допомогою Get-Help Add-VpnConnection -Parameter *, перш ніж додавати нові перемикачі.

3. Додайте маршрут, який адаптер не додає

Адаптер «точка — сайт» встановлює маршрут для пулу адрес клієнта і нічого більше.

Префікс віртуальної мережі поза цим пулом залишається недоступним, поки тунель ще повідомляє Connected, і це найзаплутаніший збій у цьому робочому процесі. Додайте маршрут явно після успішного підключення і спрямуйте його на адресу інтерфейсу, яку отримав адаптер, а не на публічне ім'я шлюзу. Ця адреса береться з ipconfig після підключення і змінюється між сеансами.

route add 10.0.0.0 mask 255.255.0.0 10.0.1.5
route print -4 | findstr /c:"10.0.0.0"

Видаляйте маршрут під час відключення, щоб застарілий наступний перехід пізніше не міг відправити трафік у чорну діру. Ставтеся до команди як до задокументованого локального відхилення: якщо майбутній випуск клієнта сам додасть маршрут, ваш рядок стане дублікатом, що конкурує з власним наступним переходом пакета.

4. Перевірте як звичайний користувач

Сеанс адміністратора приховує помилки області, бо підвищення іноді дає дані, яких справжній користувач не мав би.

Увійдіть як не адміністратор, підключіться через профіль і перевірте одну приватну службу замість публічного інтернету. Переконайтеся, що профіль з'являється в Get-VpnConnection -AllUserConnection, стан сягає Connected, а доданий маршрут вказує на поточну адресу адаптера. Потім приспіть машину, розбудіть її і знову порівняйте ipconfig.

5. Приберіть невдале розгортання чисто

Remove-VpnConnection з -AllUserConnection і -Force видаляє профіль рівня машини. Force важливий, бо підключений профіль інакше відмовляється видалятися, а наполовину видалений профіль діагностувати важче, ніж чисту переустановку.

Тримайте ім'я профілю, адресу шлюзу і додані маршрути в нотатках про розгортання. Ці три значення потрібні дзвінку до служби підтримки, перш ніж хтось відкриє заявку, і вони ж потрібні наступному скрипту, коли адреса шлюзу зміниться. Додайте версію клієнтського пакета до тієї ж нотатки, бо поведінка маршруту належить цьому пакету, а не Windows.

Схожі статті