O que realmente muda quando você troca configurações de VPN salvas no macOS
Trocar uma VPN salva no Mac não é trocar de perfil. Veja o que muda em rotas, DNS e credenciais, e como verificar o túnel que você realmente obteve.
Você abre a lista de VPN, escolhe a outra entrada salva e espera uma troca limpa: um novo endereço de saída e todo o resto inalterado. É essa suposição que você deve abandonar primeiro. No macOS, uma VPN salva é um serviço de rede completo e não uma predefinição, então trocar de serviço pode alterar roteamento, DNS e autenticação ao mesmo tempo. A barra de menus mostra qual serviço está ativo; ela não diz se o túnel por baixo corresponde ao que você pretendia.
A lista salva não é um seletor de perfis
Cada entrada em Ajustes do Sistema > Rede é um serviço próprio, com seu endereço de servidor, conta, método de autenticação, servidores DNS e opções como Enviar todo o tráfego pela conexão VPN. Versões mais antigas mantêm a mesma lista nas Preferências do Sistema. Duas entradas podem apontar para o mesmo nome de host e ainda se comportar de forma diferente, porque o protocolo ou a extensão do cliente decide como o túnel é construído.
Clientes de terceiros mantêm listas separadas. O Tunnelblick lê configurações da própria pasta, o WireGuard mantém sua própria lista de túneis e o OpenVPN Connect armazena perfis dentro do aplicativo. Alguns registram uma configuração no sistema; outros mantêm tudo dentro do aplicativo e nunca aparecem na lista integrada. Portanto «mudar para a salva» significa ações diferentes conforme o aplicativo que possui o perfil.
scutil --nc list imprime os serviços de VPN registrados na configuração do sistema, com os nomes entre aspas. Use exatamente esses nomes quando programar uma troca, e não presuma que a lista cobre todos os túneis de terceiros.
O que uma troca realmente muda
Quatro coisas se movem juntas quando o serviço ativo muda. A rota padrão segue o novo túnel se esse serviço envia todo o tráfego; a lista de resolvedores muda para os servidores DNS que o serviço especifica; as novas conexões tomam o endereço do novo túnel como origem; e as credenciais em uso pertencem ao novo serviço. Uma configuração nativa e um perfil de aplicativo não são intercambiáveis, mesmo quando os dois terminam no mesmo gateway.
| What you assume | What the system does |
|---|---|
| Same server name means same tunnel | Protocol, certificate and account are per service |
| All traffic follows the active VPN | Only when Send all traffic over VPN is on |
| DNS switches with the VPN | Only if that service defines DNS servers |
| Disconnect ends the connection | On Demand or a management profile can reconnect |
| Open sessions survive the switch | TCP sessions tied to the old address stall |
A parte do DNS é a que pega as pessoas de surpresa. O macOS mantém uma ordem de resolvedores, e scutil --dns mostra quais resolvedores estão em uso e em qual interface. Um serviço de VPN sem servidores DNS configurados pode deixar o resolvedor do Wi-Fi responder, então você obtém um novo endereço público com o comportamento de DNS antigo e conclui que a troca funcionou pela metade.
Por que a configuração antiga volta
Se você desconectar e o mesmo serviço reconectar um instante depois, olhe primeiro para On Demand. Uma regra de conexão sob demanda pode trazer um serviço de volta quando um aplicativo resolve um domínio correspondente, e um perfil de gerenciamento pode impor a mesma regra. Apagar a entrada raramente resolve: uma configuração instalada por perfil costuma voltar na próxima atualização do perfil, e uma manual pode deixar a senha no Keychain enquanto o serviço já não existe.
Iniciar um segundo serviço nem sempre interrompe o primeiro. Dependendo do cliente e do protocolo, você pode ficar com dois túneis e dois conjuntos de rotas, e a ordem dos serviços mais a especificidade da rota decidem qual carrega o tráfego, não o ícone em que você clicou por último. Verifique as interfaces antes de supor que houve uma troca.
Verifique o túnel, não a marca de seleção
Passe pela visão do próprio sistema antes de tocar nos ajustes.scutil --nc status "Name" informa o que o sistema acredita;ifconfig mostra se uma interface utun tem endereço;netstat -rn -f inet mostra para onde aponta a rota padrão;scutil --dns mostra o resolvedor realmente em uso. Depois abra uma conexão nova e confirme o endereço de saída, porque uma página que já tinha sessão iniciada pode continuar usando um socket ligado ao túnel antigo.
Se o DNS ainda responde da rede local, compare os servidores configurados do serviço com a lista de resolvedores. Se a rota padrão ainda aponta para a interface física, o serviço é de túnel dividido ou não está totalmente conectado. Os dois casos são resultados de configuração, não prova de um cliente quebrado.
Uma ordem de troca que evita surpresas
- Anote o serviço atual e se algum perfil o gerencia.
- Desconecte-o primeiro quando os dois túneis não puderem coexistir.
- Conecte o destino e espere Conectado, não Conectando.
- Verifique a rota padrão, a lista de resolvedores e um novo endereço de saída.
- Reinicie os aplicativos que mantêm sessões longas.
Mantenha a entrada antiga até a nova passar nessas verificações, e dê a cada entrada um nome distinto; rótulos idênticos tornam a próxima falha mais difícil de atribuir. A Ajuda do Mac da Apple descreve o lado nativo em Configurar uma conexão VPN no Mac, que é a referência a consultar antes de editar uma configuração gerenciada.
Se a seleção voltar atrás, trate isso primeiro como política ou On Demand. Confirme quem é dono da configuração e se ela está definida para conectar automaticamente, depois decida se está trocando um serviço ou lutando contra um perfil.