На старонцы спампоўкі паказваюцца шэсць праграм 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.xTunnelblick або камандны радок 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.

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

Падобныя артыкулы