Você adiciona uma linha para fazer um perfil PPTP teimoso conectar e, uma semana depois, o cliente L2TP que funcionava há meses para. A leitura óbvia é que os dois protocolos agora entram em conflito. Mais vezes do que parece, os dois clientes iniciam o pppd, ambos leem os mesmos padrões e a linha que você adicionou nunca foi restrita ao perfil que você estava corrigindo. O arquivo de opções compartilhado é o acoplamento, e os protocolos são inocentes.

O que um cliente herda quando inicia

Um cliente baseado em PPP raramente monta sua linha de comando do nada. Ele inicia o pppd, que lê os padrões do sistema, depois qualquer arquivo de usuário ou de terminal, e depois os argumentos que o cliente passa; o cliente também pode apontá-lo para um arquivo de peer. Cada uma dessas camadas pode carregar um plugin, um método de autenticação ou uma diretiva de rota, e a primeira camada que define uma opção protegida pode travá-la contra alterações posteriores.

Então a pergunta útil não é qual VPN está quebrada, mas qual camada forneceu a configuração. Um cliente que gera os próprios argumentos parece autossuficiente e ainda assim herda tudo o que o arquivo do sistema contém.

Atribua a linha antes de alterá-la

Comece observando o processo que está em execução enquanto uma conexão está ativa. A linha de comando mostra quais arquivos foram passados explicitamente, e tudo o que não estiver nomeado ali veio de um caminho padrão.

ps -o pid=,args= -C pppd

Se a lista de argumentos contém um nome de peer, leia esse arquivo. Se não contém, a configuração que você procura vive em um caminho compartilhado. O manual do pppd lista a ordem em que esses arquivos são lidos e quais opções um usuário comum não consegue sobrepor, e é por isso que uma linha posterior às vezes não faz nada. Uma opção protegida, como o caminho de um plugin, não pode ser substituída por uma linha posterior de nível de usuário, então editar o arquivo errado não tem efeito visível.

A linha do plugin que acompanha todo cliente

Um plugin carregado no arquivo do sistema é o pior ofensor, porque muda o que um novo processo PPP tenta carregar, não importa qual botão o usuário tenha apertado. O plugin L2TP é o exemplo clássico: correto para um perfil, sem sentido ou prejudicial para um perfil PPTP que parte dos mesmos padrões.

Mova-o para um arquivo de peer que o cliente seleciona, ou para as configurações por conexão do próprio cliente, quando ele as suporta. Apagá-lo de vez conserta o segundo cliente e quebra o primeiro, e é assim que esses problemas viajam entre equipes.

Verifique cada cliente depois da mudança

Teste as duas conexões a partir da mesma máquina, uma depois da outra, e leia as opções negociadas em vez do diálogo de sucesso. O dump abaixo imprime o conjunto de opções que o pppd realmente montou, que é a única lista que importa.

sudo pppd call office debug dump

Repita para o segundo cliente e compare as duas saídas. A opção que você moveu deve aparecer em exatamente uma delas. Se aparecer nas duas, o cliente está regenerando-a e a correção pertence àquele perfil, não ao arquivo compartilhado. Registre onde a configuração agora vive, ao lado da conexão, para que a próxima pessoa não redescubra o acoplamento quebrando-o outra vez.

Artigos relacionados