Як выбраць кліент 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.
Калі нешта не ўдаецца, змяняйце адну зменную за раз: кліент, профіль, працэс аўтэнтыфікацыі. Партал, які загружаецца, пакуль тунель адмаўляецца стартаваць, аддзяляе праблему вэб-сервера ад праблемы сумяшчальнасці кліента. Калі працоўная служба адказвае і публічны шлях паводзіць сябе як чакалася, у вас ёсць названая і падтрыманая схема замест купы здагадак.