Dous termos de Apple úsanse como se nomeasen o mesmo, e esa confusión leva a xente ao panel de axustes equivocado. Network Extension describe unha capacidade: unha forma compatible de implementar túneles VPN, proxies e filtros. System Extensions describe un mecanismo de entrega e aprobación para extensións no espazo de usuario. Un cliente VPN moderno para Mac adoita necesitar ambos, por iso ningunha das dúas etiquetas explica por si soa un síntoma. Separar as dúas responde que compoñente inspeccionar e que paso de aprobación esperar.

Dúas preguntas, non unha etiqueta

Pregunte que fai o compoñente antes de preguntar cómo se instala. A capacidade decide que clase de provedor existe e, polo tanto, que código manexa os seus paquetes. O mecanismo de entrega decide cómo chega o binario, cómo se aproba e onde se rexistra o seu estado. Un produto pode implementar un túnel de paquetes sen entregar unha extensión de sistema en versións anteriores, e pode entregar unha extensión de sistema que implemente algo distinto dun túnel.

As extensións de kernel son o terceiro termo que a xente mestura. Eran a forma antiga de executar código de rede con privilexios, esixían aprobacións distintas e Apple leva anos afastando delas os desenvolvedores. Aplicar unha receita de aprobación de extensión de kernel a un cliente moderno fai perder tempo nun diálogo que nunca aparecerá.

Lea as notas de despregamento do provedor para a versión de macOS que executa en lugar dunha publicación de foro dunha versión anterior. A arquitectura cambiou máis dunha vez, e as instrucións envellecen mal. Unha nota que menciona a aprobación de extensión de kernel describe outra época do produto.

Qué ofrece Network Extension

O marco ofrece tipos de provedor para as tarefas de rede habituais: un túnel de paquetes para o tráfico VPN, un proxy de aplicacións para fluxos por aplicación, un filtro de contido para inspeccionar o tráfico e a xestión de proxy DNS para o comportamento do solucionador. O tipo de provedor determina que pode facer a extensión, e un cliente que entrega dous provedores pode estar facendo dous traballos distintos.

Iso importa durante o diagnóstico porque o mesmo síntoma de conectividade pode vir dun túnel, un filtro ou un proxy DNS. Bloquear un sitio web é unha decisión de filtro, non alcanzar unha subrede privada adoita ser unha decisión de túnel, e resolver o enderezo equivocado adoita ser unha decisión de solucionador. Nomear o tipo de provedor estreita a busca antes de ler calquera rexistro.

Nada no marco implica unha postura de privacidade. Unha extensión no espazo de usuario segue tendo permisos, configuración e un operador detrás, así que trate a arquitectura como un detalle de implementación e non como un sinal de confianza. Pregunte quen opera o extremo e que está configurado para recoller.

Qué cambia System Extensions

O mecanismo move o código privilexiado fóra do kernel e cara ao espazo de usuario, e cambia cómo o sistema operativo pide consentimento. A activación é un paso separado da instalación, e o usuario ou un perfil MDM debe permitila. Un cliente que se instala pero nunca se activa parece presente no cartafol Applications e non fai nada pola conectividade.

O estado rexístrao o sistema e non a aplicación, o cal é útil porque se pode consultar. O comando seguinte lista as extensións que o sistema coñece e o seu estado de activación.

systemextensionsctl list
scutil --nc list

O primeiro comando responde se o compoñente está instalado e activado. O segundo lista as configuracións VPN que o sistema ten, que é unha pregunta distinta e a miúdo a que importa cando falta un perfil de conexión en lugar de estar roto.

Cal inspeccionar para un síntoma dado

Emparelle o síntoma coa capa antes de abrir un panel de axustes. Unha configuración ausente é unha cuestión de perfil, un compoñente instalado pero inactivo é unha cuestión de entrega, e un compoñente activo que non deixa pasar tráfico é unha cuestión de capacidade.

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

O fluxo de rexistro é a evidencia compartida das dúas últimas filas. Ler o subsistema de extensión de rede di que provedor manexou o fluxo, e unha decisión de filtro vese distinta dun fallo de túnel mesmo cando o usuario describe ambos como a VPN rota.

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

Non conclúa que unha extensión está activa porque hai unha icona na barra de menús. As iconas sobreviven a activacións fallidas, e unha icona obsoleta é unha das razóns máis comúns polas que unha chamada de soporte comeza no lugar equivocado. Lea máis ben o estado de activación, porque é o que rexistra o sistema.

Aprobación, MDM e o mito da extensión de kernel

Nos Mac xestionados o paso de aprobación pertence ao perfil MDM, e un usuario que faga clic en Allow en System Settings pode seguir bloqueado por unha política que non se actualizou. Pregunte ao equipo de escritorio que mecanismo aproba a extensión para ese parque antes de pedir ao usuario que faga clic en algo.

Nun Mac non xestionado, o aviso de aprobación aparece unha vez e un rexeitamento pode ser permanente ata que se reinstale a extensión. Ese comportamento explica a máquina onde o cliente funcionaba antes dunha actualización do sistema e agora informa dunha conexión que nunca se establece.

Anote o tipo de provedor, o estado de activación e o mecanismo de aprobación do cliente que despregue. Eses tres feitos responden á maioría das preguntas futuras sobre unha VPN de Mac sen reabrir o debate entre capacidade e entrega.

Artigos relacionados