Как да изберете Mac VPN клиент за шлюза, който вече имате
SSL VPN е семейство продукти, а не един протокол. Попитайте собственика на шлюза за клиента, профила и начина на вход, после проверете маршрутите и DNS на Mac.
Шест Mac VPN приложения се показват на страница за изтегляне и никое не казва кое ще приеме шлюзът на работодателя ви. Това не е пропуск в магазина; това е пропуск в предаването. SSL VPN е семейство продукти, а не протокол, затова два шлюза с еднакви екрани за вход може да изискват различни клиенти. Ето реда, който използвам, когато някой ми даде Mac и адрес на сървър: установете какво говори шлюзът, изберете клиента, който му отговаря, и след това проверете маршрутите и DNS, преди да се доверите на тунела с работа.
Започнете с шлюза, не с магазина за приложения
Приложението работи на вашия Mac, но нещо друго трябва да приеме връзката и да даде достъп: шлюз с оператор, адрес, съвместими настройки и начин да ви упълномощи. Безплатен клиент може да е добър софтуер и пак да не дава нищо от това. Достъпът до работа, домашният шлюз и търговският изход към интернет са три различни начални точки, които просто споделят една страница за изтегляне.
Преди да инсталирате или замените нещо, вземете четири отговора от този, който управлява услугата:
Режим на достъп: портал в браузър, достъп до избрани приложения или пълен мрежов тунел. Това решава дали ви трябва клиент изобщо.
Семейство на шлюза и поддържана версия: продуктът, включената услуга и версия на клиента, която все още поддържа вашата сборка на macOS и хардуера на Mac.
Удостоверяване: парола плюс MFA, вход през браузър, сертификат на устройство или проверка на състоянието. Клиент без одобрения поток ще се свърже и после ще бъде отхвърлен.
Собственост: довереният източник за изтегляне или управление, предвиденият профил и кой го поддържа, когато се счупи.
Собствеността е точката, която хората пропускат. На управляван Mac профилът често пристига през системата за управление на организацията и ръчно изградена конфигурация може да бъде заменена при следващата проверка. Попитайте дали се очаква сами да инсталирате нещо, преди да търсите приложение от трета страна.
SSL VPN е етикет на семейство, не протокол
TLS може да защити връзка, докато специфичен за продукта обмен вътре в нея обработва вход, разпределяне на сесии и трафик на тунела. Точно този вътрешен обмен клиентът трябва да реализира. Браузър, който стига до HTTPS страницата за вход на шлюза, доказва веригата от сертификати и уеб сървъра; той не доказва, че несвързано VPN приложение може да изгради тунел до същата машина.
OpenConnect е най-ясният пример, който познавам. Неговата документация на проекта изброява отделни режими на протокола за различни семейства шлюзове и разделя оперативната съвместимост от официалната поддръжка на доставчика. Ако всеки SSL VPN говореше един протокол, тези режими щяха да са ненужни.
Профилът на OpenVPN има същото ограничение в обратната посока: той е формат за импорт за разгръщане, съвместимо с OpenVPN. Споделеният TLS като градивен блок не го превръща в конфигурационен файл за произволен корпоративен шлюз. Затова работещият вход през браузър е фалшиво положителен: достъпът до портала може да успее, докато тунел няма, а вдигнат тунел може по-късно да бъде отказан от проверка на състоянието.
Съпоставете клиента с това, което говори шлюзът
Щом семейството е известно, изборът бързо се стеснява. Това е съпоставката, която проверявам първо, и последната колона е по-важна от всяка оценка на приложение.
| Семейство на шлюза | Клиент на macOS | На какво да внимавате |
|---|---|---|
| IKEv2/IPsec, независим от доставчика | Вграден клиент на macOS с профил .mobileconfig | Идентичност на сървъра и профил, който може да е управляван |
| OpenVPN 2.x | Tunnelblick или командния ред openvpn | .ovpn плюс идентификационни данни; клиентът не предоставя услуга |
| WireGuard | Официален клиент WireGuard или wireguard-tools | Конфигурация на партньора; видимостта на wg show зависи от клиента |
| SSL VPN на доставчик (AnyConnect, Pulse, GlobalProtect, F5, Fortinet) | Клиент на доставчика или OpenConnect с явен --protocol | Неподдържани комбинации, MFA и проверки на състоянието |
| Само портал в браузър | Без клиент | Достъпът до приложения не е мрежов тунел |
Два реда заслужават предупреждение. Вграденият клиент на macOS е истинска реализация на IKEv2, а не универсален SSL VPN клиент: услуга, проектирана за него, изисква правилния профил, очакваната идентичност на сървъра и идентификационни данни, а на управлявана машина този профил може да е заключен. OpenConnect покрива няколко протокола на доставчици от един двоичен файл, но собственият му проект не претендира за поддръжка от доставчика; сканиране на хоста, правила за разделен тунел, изпращани от шлюза, или конкретен SSO поток може да съществуват само в клиента на доставчика.
WireGuard има същата форма. Услугата дава партньори, клиентът дава тунела, а профилът на OpenVPN не е заместител. Една особеност на macOS: клиентът от App Store държи тунелите си вътре в мрежово разширение, затова wg show от инструментите на Homebrew може да не показва нищо, докато интерфейсът е активен. Проверявайте с маршрути и трафик.
Конфигурирайте, после проверете в фиксиран ред
Инсталирайте един клиент и един профил и си запишете какво сте променили. Преди свързване запишете базова линия, за да видите какво променя тунелът:
scutil --nc list
networksetup -listallnetworkservices
netstat -rn | grep -E "^default|utun"
scutil --dns
Свържете се с дадения профил и повторете същите команди. При пълен тунел маршрутът по подразбиране трябва да сочи към интерфейс utun; при разделен тунел само вътрешните префикси трябва да се маршрутизират, а публичният ви изход да изглежда непроменен. DNS е половината, която обикновено остава счупена: scutil --dns изброява резолверите в реда, в който системата ще ги използва, а вътрешен резолвер под публичен ще изпраща вътрешни имена към грешния сървър.
За услуга OpenVPN Tunnelblick е разумен безплатен клиент и собственото му ръководство е откровено за липсващата половина: той не предоставя VPN услуга. Щракнете двукратно върху дадения ви .ovpn, оставете Tunnelblick да го инсталира и проверете версията спрямо вашата версия на macOS, преди да разчитате на нея.
За шлюз на доставчик често тествам с OpenConnect от командния ред:
brew install openconnect
sudo openconnect --protocol=anyconnect --user=you vpn.example.com
Инструментът отпечатва получения сертификат и чака, преди да се довери на непозната верига; тази подкана е предимство и закрепването с --servercert pin-sha256:... е по-добре от приемането на предупреждение, което не сте прочели. Ctrl-C разкъсва тунела, защото openconnect на преден план няма нито прекъсвач, нито логика за повторно свързване. Това е добре за диагностична сесия и лошо като стандарт за ежедневна работа.
Когато няма шлюз за съпоставяне
Някои идват с обратния проблем: няма оператор, няма адрес, няма услуга. Безплатно Mac приложение не може да създаде входяща достъпност на домашен рутер. Ако искате собствена мрежа от хотел, някой трябва да поддържа шлюз у дома, да го пази обновен, да публикува или разрешава адреса му и да реши кои устройства са достъпни.
Ако искате различен изход към интернет, а не достъп до частна мрежа, изберете услугата преди клиента. Празният списък с профили в самостоятелен клиент често не е счупен безплатен абонамент; може да няма нито абонамент, нито свързан сървър. Дръжте разходите отделно: лиценз за клиент, план за услуга и собствен шлюз са три различни покупки.
Работният Mac добавя слой политики. Безплатно приложение може да е грешно дори когато се свързва, защото одобреният клиент може да налага проверки на устройството или поток за удостоверяване, който алтернативата няма. Искайте одобрена алтернатива, вместо да копирате идентификационни данни между несвързани приложения, и не смятайте изключването на защити на платформата за поправка на съвместимост.
Програмата за отдалечен работен плот също е различен продукт. Тя ви показва сесия на друг компютър; тя не дава на локалните приложения на вашия Mac мрежовия път, който дава тунелът.
Кратък контролен списък преди първата истинска сесия
Назовайте писмено семейството на шлюза и режима на достъп, инсталирайте само клиента, който им отговаря, и запишете използвания профил. След това потвърдете три неща с реален трафик: маршрутите, които тунелът е инсталирал, реда на резолверите и едно вътрешно приложение, достигнато по име, а не по IP.
Ако нещо се провали, променяйте по една променлива наведнъж: клиент, профил, поток за удостоверяване. Портал, който се зарежда, докато тунелът отказва да стартира, отделя проблем на уеб сървъра от проблем на съвместимост на клиента. Щом работната услуга отговори и публичният път се държи както се очаква, имате назована и поддържана уредба вместо куп догадки.