O AnyConnect sobrescreve o seu perfil? É uma colisão de nomes
Dois gateways, um único nome de ficheiro: o cliente guarda o último perfil na sua pasta enquanto a biblioteca é de toda a máquina. Renomeie as cópias para manter os dois.
A história que circula é que o AnyConnect perdeu o seu segundo gateway, ou que o cliente é demasiado antigo para manter dois perfis. Nenhuma das duas coisas aconteceu. O que aconteceu é que o cliente guarda cada perfil que viu como um ficheiro com o nome que o servidor enviou, e os seus dois gateways dão o mesmo nome ao respetivo ficheiro. No disco há um só lugar para esse nome, por isso a segunda transferência ocupa o lugar da primeira.
Duas pastas, e só uma é sua
A cópia que muda é a cópia de trabalho no seu próprio perfil de utilizador, normalmente %LOCALAPPDATA%\Cisco\Cisco AnyConnect Secure Mobility Client\preferences.xml. Esse ficheiro regista a última ligação que fez e o perfil que utilizou. Como está na sua pasta, o cliente reescreve-o em cada ligação sem pedir elevação.
A lista que vê no menu pendente é outra coisa. Cada perfil que a máquina já recebeu é copiado para %PROGRAMDATA%\Cisco\Cisco AnyConnect Secure Mobility Client\Profile, e o cliente lista os ficheiros que lá estão. Escrever nessa pasta exige direitos de administrador, o que explica um sintoma que as pessoas leem mal: adicionar um perfil à mão como utilizador comum parece funcionar, e depois a entrada desaparece.
Assim, o ficheiro por utilizador é um ponteiro e a pasta de toda a máquina é a biblioteca. Uma entrada em falta significa que a biblioteca mudou, não o ponteiro.
O cliente emparelha ficheiros pelo nome, não pelo gateway
A identidade do perfil neste cliente é o nome do ficheiro. Dois equipamentos que ambos publicam company.xml são, do ponto de vista do armazém local de perfis, o mesmo perfil publicado duas vezes. A segunda transferência substitui a primeira, e a entrada na janela continua a apontar para um ficheiro que agora descreve o outro sítio.
É por isso que a falha parece tão estranha. O nome na lista continua a ler-se como o local que espera, a autenticação continua a ter sucesso contra o gateway que está realmente configurado, e nada reporta um erro. O que mudou foi o conteúdo por trás de um rótulo em que confiava.
Leia HostAddress, não o rótulo
Abra o ficheiro num editor de texto e veja a lista de servidores. Um perfil tem um elemento HostName, que é um rótulo de apresentação, e um elemento HostAddress, que é o gateway que o cliente contacta de facto. O rótulo é texto livre que qualquer pessoa pode editar, e o endereço é o que decide onde aterra.
Compare esses dois com o gateway que queria alcançar antes de concluir que o cliente está avariado.
Manter os dois gateways, por ordem
Obtenha o perfil aceite de cada sítio, seja do sítio seja de uma máquina que já se liga. Renomeie cada ficheiro para que os dois nomes sejam diferentes, por exemplo site-a.xml e site-b.xml. Como administrador, coloque ambos na pasta de perfis de toda a máquina e guarde os originais que recebeu. Depois reinicie o cliente e confirme que as duas entradas aparecem no menu pendente.
Depois de se ligar a cada um, abra novamente preferences.xml e verifique que nome de perfil regista agora como último utilizado. Se o nome corresponder à entrada em que clicou, o mapeamento local está a comportar-se corretamente. Se não, algo continua a empurrar um ficheiro sobre a sua cópia renomeada.
O que renomear não corrige
Um novo nome de ficheiro muda um rótulo local e nada mais. O endereço do gateway, o método de autenticação, o certificado apresentado pelo servidor e qualquer seleção de grupo dentro do perfil ficam como estavam. Uma cópia renomeada do perfil errado continua a ser o perfil errado, e vai ligá-lo ao sítio errado sob um nome convincente.
Também não resiste a um envio de gestão dirigido ao nome de ficheiro original.
Quando o próximo envio o desfaz
Se a sua organização distribui perfis por nome, uma atualização substitui qualquer ficheiro que partilhe esse nome. Trate as cópias renomeadas como uma comodidade local e repita o teste de ligação após cada atualização do cliente, verificando o endereço e não o rótulo.
Para uma solução permanente, peça uma configuração multi-gateway suportada em vez de manter ficheiros à mão. As edições dentro do diretório do programa são a primeira coisa que uma atualização remove, e o ficheiro de preferências por utilizador é reescrito por conceção.
Mantenha uma linha por gateway: nome do ficheiro, HostAddress e a pasta onde está. Essa nota responde ao próximo relatório de sítio errado mais depressa do que uma reinstalação.