Como escolher um cliente Mac VPN para o gateway que você já possui
Um SSL VPN é uma família de produtos, não um protocolo. Pergunte ao proprietário do gateway o cliente, o perfil e o método de login e, em seguida, verifique as rotas e DNS no Mac.
Seis aplicativos Mac VPN aparecem em uma página de download e nenhum deles diz qual deles o gateway do seu empregador aceitará. Isso não é uma lacuna na loja; é uma lacuna na transferência. Um SSL VPN é uma família de produtos, não um protocolo, portanto, dois gateways com telas de login idênticas podem exigir clientes diferentes. Esta é a ordem que uso quando alguém me entrega um Mac e um endereço de servidor: estabeleça o que o gateway fala, escolha o cliente que corresponde a ele, verifique as rotas e DNS antes de confiar o trabalho ao túnel.
Comece com o gateway, não com a app store
O aplicativo roda no seu Mac, mas outra coisa precisa aceitar a conexão e conceder acesso: um gateway com uma operadora, um endereço, configurações compatíveis e uma forma de autorizá-lo. Um cliente gratuito pode ser um bom software e ainda assim não fornecer nenhuma dessas coisas. Acesso profissional, gateway doméstico e saída comercial de Internet são três pontos de partida diferentes que compartilham uma página de download.
Antes de instalar ou substituir qualquer coisa, obtenha quatro respostas de quem executa o serviço:
Modo de acesso: portal do navegador, acesso a aplicativos selecionados ou um túnel de rede completo. Isso decide se você precisa de um cliente.
Família Gateway e versão suportada: o produto, o serviço habilitado e uma versão do cliente que ainda suporta sua compilação macOS e hardware Mac.
Autenticação: senha mais MFA, login no navegador, certificado do dispositivo ou verificação de postura. Um cliente que não tenha o fluxo aprovado se conectará e será rejeitado.
Propriedade: a fonte confiável de download ou gerenciamento, o perfil pretendido e quem o oferece suporte quando ele falha.
Propriedade é o item que as pessoas ignoram. Em um Mac gerenciado, o perfil geralmente chega através do sistema de gerenciamento da organização e uma configuração feita à mão pode ser substituída no próximo check-in. Pergunte se você deve instalar alguma coisa antes de procurar um aplicativo de terceiros.
SSL VPN é um rótulo de família, não um protocolo
TLS pode proteger uma conexão enquanto uma troca específica do produto dentro dela lida com login, alocação de sessão e tráfego de túnel. Essa troca interna é o que o cliente deve implementar. Um navegador que chega à página de login do gateway HTTPS comprova a cadeia de certificados e o servidor web; isso não prova que um aplicativo VPN não relacionado possa construir um túnel para a mesma máquina.
OpenConnect é a ilustração mais clara que conheço. Isso é documentação inicial lista modos de protocolo separados para diferentes famílias de gateways e separa a interoperabilidade do suporte oficial do fornecedor. Se cada SSL VPN falasse um protocolo, esses modos seriam desnecessários.
Um perfil OpenVPN tem a mesma limitação ao contrário: é um formato de importação para uma implantação compatível com OpenVPN. Compartilhar TLS como um bloco de construção não o transforma em um arquivo de configuração para um gateway corporativo arbitrário. É por isso que um login de navegador funcional é um falso positivo: o acesso ao portal pode ser bem-sucedido enquanto não existir nenhum túnel, e um túnel que surge ainda pode ser recusado por uma verificação de postura posterior.
Combine o cliente com o que o gateway fala
Uma vez conhecida a família, a escolha diminui rapidamente. Este é o mapeamento que verifico primeiro, e a última coluna é mais importante do que qualquer classificação de aplicativo.
| Família Gateway | Cliente em macOS | O que assistir |
|---|---|---|
| IKEv2/IPsec, fornecedor neutro | Cliente macOS integrado com um perfil .mobileconfig | Identidade do servidor e um perfil que pode ser gerenciado |
| OpenVPN 2.x | Tunnelblick ou a linha de comando openvpn | .ovpn mais credenciais; o cliente não fornece nenhum serviço |
| WireGuard | Cliente oficial WireGuard ou wireguard-tools | Configuração de pares; wg show a visibilidade difere de acordo com o cliente |
| Fornecedor SSL VPN (AnyConnect, Pulse, GlobalProtect, F5, Fortinet) | Cliente fornecedor ou OpenConnect com um --protocol explícito | Combinações não suportadas, MFA e verificações de postura |
| Somente portal do navegador | Nenhum cliente | O acesso ao aplicativo não é um túnel de rede |
Duas linhas merecem um aviso. O cliente macOS integrado é uma implementação IKEv2 real, não um cliente SSL VPN genérico: um serviço projetado para ele precisa do perfil correto, da identidade e das credenciais esperadas do servidor e, em uma máquina gerenciada, esse perfil pode ser bloqueado. OpenConnect cobre vários protocolos de fornecedores de um binário, mas seu próprio projeto não reivindica suporte do fornecedor; varredura de host, regras de túnel dividido enviadas por gateway ou um fluxo SSO específico podem existir apenas no cliente do fornecedor.
WireGuard tem o mesmo formato. O serviço fornece peers, o cliente fornece o túnel e um perfil OpenVPN não é um substituto. Uma ruga macOS: o cliente App Store mantém seus túneis dentro um Network Extension, então wg show das ferramentas Homebrew não podem reportar nada enquanto a interface estiver ativa. Verifique com rotas e tráfego.
Configure e verifique em uma ordem fixa
Instale um cliente e um perfil e anote o que você alterou. Antes de conectar, capture uma linha de base para saber o que o túnel altera:
scutil --nc list
networksetup -listallnetworkservices
netstat -rn | grep -E "^default|utun"
scutil --dns
Conecte-se com o perfil fornecido e repita os mesmos comandos. Para um túnel completo, a rota padrão deve apontar para uma interface utun; com o tunelamento dividido, apenas os prefixos internos devem ser roteados e sua saída pública deve parecer inalterada. DNS é a metade que geralmente fica quebrada: scutil --dns lista os resolvedores na ordem em que o sistema os usará, e um resolvedor interno abaixo de um resolvedor público enviará nomes internos para o servidor errado.
Para um serviço OpenVPN, Tunnelblick é um cliente razoavelmente gratuito e seu próprio guia é direto sobre a metade que falta: ele não fornece um serviço VPN. Clique duas vezes em .ovpn que você recebeu, deixe Tunnelblick instalá-lo e verifique o lançamento em relação à sua versão macOS antes de confiar nela.
Para um gateway de fornecedor, costumo testar OpenConnect na linha de comando:
brew install openconnect
sudo openconnect --protocol=anyconnect --user=you vpn.example.com
A ferramenta imprime o certificado recebido e aguarda antes de confiar em uma cadeia desconhecida; esse prompt é um recurso, e fixar com --servercert pin-sha256:... é melhor do que aceitar um aviso que você não leu. Ctrl-C destrói o túnel, porque um openconnect em primeiro plano não tem kill switch nem lógica de reconexão. Isso é bom para uma sessão de diagnóstico e um padrão ruim para o trabalho diário.
Quando não há gateway para combinar
Algumas pessoas chegam com o problema oposto: sem operadora, sem endereço, sem atendimento. Um aplicativo gratuito para Mac não pode criar acessibilidade de entrada em um roteador doméstico. Se você quiser ter sua própria rede de um hotel, alguém terá que operar um gateway em casa, mantê-lo atualizado, publicar ou resolver seu endereço e decidir quais dispositivos podem ser acessados.
Se você deseja uma saída de internet diferente em vez de acesso a uma rede privada, escolha o serviço antes do cliente. Uma lista de perfis vazia em um cliente independente geralmente não é uma assinatura gratuita interrompida; pode não haver assinatura nem servidor conectado. Mantenha os custos separados também: uma licença de cliente, um plano de serviço e um gateway autooperado são três compras diferentes.
Um Mac de trabalho adiciona uma camada de política. Um aplicativo gratuito pode estar errado mesmo quando se conecta, porque o cliente aprovado pode impor verificações de dispositivos ou um fluxo de autenticação que falta à alternativa. Peça uma alternativa aprovada em vez de copiar credenciais entre aplicativos não relacionados e não trate a desativação das proteções da plataforma como uma correção de compatibilidade.
Um visualizador de área de trabalho remota também é um produto diferente. Mostra uma sessão em outro computador; ele não fornece aos aplicativos locais do Mac o caminho de rede fornecido por um túnel.
Uma pequena lista de verificação antes da primeira sessão real
Nomeie por escrito a família de gateways e o modo de acesso, instale apenas o cliente que corresponda a eles e registre o perfil que você utilizou. Em seguida, confirme três coisas com o tráfego real: as rotas instaladas pelo túnel, a ordem do resolvedor e um aplicativo interno alcançado por nome e não por IP.
Se algo falhar, altere uma variável de cada vez: cliente, perfil, fluxo de autenticação. Um portal carregado enquanto o túnel se recusa a iniciar separa um problema de servidor web de um problema de compatibilidade do cliente. Depois que o serviço de trabalho responder e o caminho público se comportar conforme o esperado, você terá um arranjo nomeado e com suporte, em vez de uma pilha de suposições.