A cada arranque o túnel sobe antes de alguém ter decidido usá-lo, e a caixa de seleção que parece responsável não faz nada quando é desmarcada. Isto não é um erro da interface. O NetworkManager não liga os perfis de VPN sozinho; uma VPN arranca porque uma ligação base a nomeia. A correção está no outro perfil, e é uma única propriedade.

O sinalizador que desmarca não é consultado

O perfil de VPN tem a sua própria propriedade de ligação automática, e para ligações VPN o gestor não a usa para arrancar nada. Desmarcá-la faz com que o perfil seja lido de forma coerente e não altera qualquer comportamento, e é exatamente por isso que a surpresa sobrevive à edição.

O mecanismo documentado é uma lista de ligações secundárias no perfil base. Quando a ligação Wi-Fi ou Ethernet é ativada, o gestor também ativa os UUID de VPN ali indicados. Hoje só são suportadas ligações VPN nessa lista, e se contiver várias entradas, uma edição afeta todas.

A prioridade de ligação automática ordena os candidatos; também não é um interruptor de desativação.

Leia os dois perfis antes de editar

Registe primeiro nomes, UUID e tipos, porque os nomes apresentados repetem-se e a ligação base confunde-se facilmente com a VPN. Depois leia as propriedades que importam de cada lado.

nmcli -f NAME,UUID,TYPE connection show
nmcli -f connection.secondaries connection show "Wired connection 1"
nmcli -f connection.autoconnect,connection.autoconnect-priority connection show "Work VPN"

No editor gráfico os mesmos valores aparecem com etiquetas diferentes. O separador General da ligação base contém a definição de ligação automática e, quando o plug-in está instalado, a opção de levantar uma VPN com ela. Um ambiente traduzido pode etiquetar o campo de prioridade como ligação automática com prioridade, que não é o interruptor de ativação. Confundir os dois produz uma caixa desmarcada e um arranque inalterado.

Remova uma entrada, não a lista inteira

A propriedade é uma lista, por isso atribuir um novo valor substitui tudo o que contém. Use o sinal de menos inicial para remover um único UUID e deixar o resto da lista intacto.

nmcli connection modify uuid BASE_UUID -connection.secondaries VPN_UUID
nmcli -f connection.secondaries connection show "Wired connection 1"

Verifique a lista antes e depois, sobretudo numa máquina que depende de uma segunda VPN.

Os perfis podem ser limitados a utilizadores específicos. Quando são, a conta a partir da qual edita tem de constar dessa lista; caso contrário o comando pode ser recusado, ou o gestor escreve um perfil por utilizador separado que o proprietário original nunca vê. Verifique o proprietário antes de concluir que uma edição não fez nada, porque uma cópia silenciosa por utilizador explica muitos resultados confusos.

Teste uma transição real, não um reinício manual

Reconectar o perfil base é o teste significativo. Desça-o e suba-o, ou reinicie, e depois olhe para a lista ativa, a lista de interfaces e uma pesquisa de rota para um endereço interno.

nmcli connection show --active
ip -brief address
ip route get 10.8.0.1

Se o túnel continuar a aparecer, o proprietário restante é normalmente um script. O diário do gestor mostra qual perfil foi ativado e quando, e o diretório dispatcher é o local onde viveria um hook que chama nmcli connection up num evento de interface. Um hook é invisível no editor de perfis, e é por isso que sobrevive a cada experiência com a caixa de seleção.

Mantenha o caminho manual a funcionar, porque é esse o requisito real.

Como é um bom resultado

O perfil fica instalado com a sua gateway, o seu certificado e as suas credenciais. Não ativa no arranque e sobe quando o pede. Estas três afirmações são o teste de aceitação.

Escreva o UUID da ligação base no runbook, porque é o perfil que vai editar da próxima vez.

Uma VPN disponível mas não automática é uma escolha de configuração e não uma funcionalidade em falta, e está a uma propriedade de distância.

Artigos relacionados