Dos termes d'Apple s'utilitzen com si anomenessin la mateixa cosa, i aquesta confusió envia la gent al panell de configuració equivocat. Network Extension descriu una capacitat: una manera compatible d'implementar túnels VPN, proxys i filtres. System Extensions descriu un mecanisme de lliurament i aprovació per a extensions en espai d'usuari. Un client VPN modern per a Mac normalment necessita tots dos, i per això cap de les dues etiquetes explica per si sola un símptoma. Separar-les respon quin component cal inspeccionar i quin pas d'aprovació cal esperar.

Dues preguntes, no una etiqueta

Pregunteu què fa el component abans de preguntar com s'instal·la. La capacitat decideix quina classe de proveïdor existeix i, per tant, quin codi gestiona els vostres paquets. El mecanisme de lliurament decideix com arriba el binari, com s'aprova i on es registra el seu estat. Un producte pot implementar un túnel de paquets sense lliurar una extensió de sistema en versions antigues, i pot lliurar una extensió de sistema que implementi una cosa diferent d'un túnel.

Les extensions de nucli són el tercer terme que la gent barreja. Eren la manera antiga d'executar codi de xarxa amb privilegis, requerien aprovacions diferents, i Apple fa anys que allunya els desenvolupadors d'elles. Aplicar una recepta d'aprovació d'extensió de nucli a un client modern fa perdre temps en un diàleg que mai no apareixerà.

Llegiu les notes de desplegament del proveïdor per a la versió de macOS que feu servir en lloc d'una publicació de fòrum d'una versió anterior. L'arquitectura va canviar més d'una vegada, i les instruccions envelleixen malament. Una nota que esmenta l'aprovació d'extensió de nucli descriu una altra època del producte.

Què ofereix Network Extension

El marc ofereix tipus de proveïdor per a les tasques de xarxa habituals: un túnel de paquets per al trànsit VPN, un proxy d'aplicacions per als fluxos per aplicació, un filtre de contingut per inspeccionar el trànsit i la gestió de proxy DNS per al comportament del resolutor. El tipus de proveïdor determina què pot fer l'extensió, i un client que lliura dos proveïdors pot estar fent dues feines diferents.

Això importa durant el diagnòstic perquè el mateix símptoma de connectivitat pot venir d'un túnel, d'un filtre o d'un proxy DNS. Bloquejar un lloc web és una decisió de filtre, no arribar a una subxarxa privada és normalment una decisió de túnel, i resoldre l'adreça equivocada és normalment una decisió de resolutor. Anomenar el tipus de proveïdor estreny la cerca abans de llegir cap registre.

Res del marc no implica una postura de privadesa. Una extensió en espai d'usuari encara té permisos, configuració i un operador al darrere, així que tracteu l'arquitectura com un detall d'implementació i no com un senyal de confiança. Pregunteu qui opera el punt final i què està configurat per recollir.

Què canvia System Extensions

El mecanisme mou el codi privilegiat fora del nucli i cap a l'espai d'usuari, i canvia com el sistema operatiu demana el consentiment. L'activació és un pas separat de la instal·lació, i l'usuari o un perfil MDM l'ha de permetre. Un client que s'instal·la però mai s'activa sembla present a la carpeta Applications i no fa res per a la connectivitat.

L'estat el registra el sistema i no l'aplicació, cosa que és útil perquè es pot consultar. L'ordre següent llista les extensions que el sistema coneix i el seu estat d'activació.

systemextensionsctl list
scutil --nc list

La primera ordre respon si el component està instal·lat i activat. La segona llista les configuracions VPN que el sistema té, que és una pregunta diferent i sovint la que importa quan falta un perfil de connexió en lloc d'estar trencat.

Quin cal inspeccionar per a un símptoma concret

Feu coincidir el símptoma amb la capa abans d'obrir un panell de configuració. Una configuració absent és una qüestió de perfil, un component instal·lat però inactiu és una qüestió de lliurament, i un component actiu que no pot passar trànsit és una qüestió de capacitat.

SymptomFirst place to look
No VPN entry at allConfiguration profile or scutil list
Client installed, nothing happensExtension activation state
Tunnel up, private host unreachableTunnel provider routes and policy
One app blocked, others fineFilter or app proxy provider

El flux de registre és l'evidència compartida de les dues últimes files. Llegir el subsistema d'extensió de xarxa us diu quin proveïdor va gestionar el flux, i una decisió de filtre es veu diferent d'un error de túnel fins i tot quan l'usuari descriu tots dos com la VPN espatllada.

log show --last 10m --predicate 'process == "nesessionmanager"'

No conclogueu que una extensió està activa perquè hi ha una icona a la barra de menús. Les icones sobreviuen a les activacions fallides, i una icona obsoleta és una de les raons més habituals per les quals una trucada de suport comença al lloc equivocat. Llegiu més aviat l'estat d'activació, perquè és el que registra el sistema.

Aprovació, MDM i el mite de l'extensió de nucli

Als Mac gestionats, el pas d'aprovació pertany al perfil MDM, i un usuari que faci clic a Allow a System Settings pot quedar bloquejat per una política que no s'ha actualitzat. Pregunteu a l'equip d'escriptoris quin mecanisme aprova l'extensió per a aquell parc abans de demanar a l'usuari que faci clic a res.

En un Mac no gestionat, el missatge d'aprovació apareix una vegada i un rebuig pot ser permanent fins que es reinstal·li l'extensió. Aquest comportament explica la màquina on el client funcionava abans d'una actualització del sistema i ara informa d'una connexió que mai no s'estableix.

Anoteu el tipus de proveïdor, l'estat d'activació i el mecanisme d'aprovació del client que desplegueu. Aquests tres fets responen la majoria de preguntes futures sobre una VPN de Mac sense reobrir el debat entre capacitat i lliurament.

Articles relacionats