Engades unha liña para que un perfil PPTP teimudo se conecte, e unha semana despois o cliente L2TP que levaba meses funcionando detense. A lectura obvia é que os dous protocolos agora entran en conflito. Máis a miúdo ambos clientes inician pppd, ambos len os mesmos valores predeterminados, e a liña que engadiches nunca estivo limitada ao perfil que estabas arranxando. O ficheiro de opcións compartido é o acoplamento, e os protocolos son inocentes.

Que herda un cliente cando arrinca

Un cliente baseado en PPP raramente constrúe a súa liña de comandos da nada. Inicia pppd, que le os valores predeterminados do sistema, despois calquera ficheiro de usuario ou de terminal, despois os argumentos que pasa o cliente, e o cliente tamén pode apuntalo cara a un ficheiro de par. Cada unha desas capas pode levar un complemento, un método de autenticación ou unha directiva de ruta, e a primeira capa que establece unha opción protexida pode bloqueala contra cambios posteriores.

Así que a pregunta útil non é cal VPN está roto senón cal capa forneceu o axuste. Un cliente que xera os seus propios argumentos parece autónomo e aínda así herda todo o que contén o ficheiro do sistema.

Atribúe a liña antes de cambiala

Comeza mirando o proceso que está en execución mentres hai unha conexión activa. A liña de comandos mostra que ficheiros se pasaron explicitamente, e todo o que non aparece nomeado alí veu dunha ruta predeterminada.

ps -o pid=,args= -C pppd

Se a lista de argumentos contén un nome de par, le ese ficheiro. Se non, o axuste que persegues vive nunha ruta compartida. O manual de pppd lista a orde na que se len eses ficheiros e que opcións un usuario normal non pode substituír, e por iso unha liña posterior ás veces non fai absolutamente nada. Unha opción protexida como a ruta dun complemento non se pode substituír por unha liña posterior a nivel de usuario, así que editar o ficheiro equivocado non ten ningún efecto visible.

A liña do complemento que segue cada cliente

Un complemento cargado no ficheiro do sistema é o peor infractor porque cambia o que intenta cargar un novo proceso PPP, independentemente do botón que preme o usuario. O complemento L2TP é o exemplo clásico: correcto para un perfil, sen sentido ou prexudicial para un perfil PPTP que parte dos mesmos valores predeterminados.

Móveo a un ficheiro de par que escolla o cliente, ou á propia configuración do cliente por conexión cando a admita. Borralo de vez arranxa o segundo cliente e rompe o primeiro, e así é como estes problemas viaxan entre equipos.

Verifica cada cliente despois do cambio

Proba as dúas conexións desde a mesma máquina, unha tras outra, e le as opcións negociadas en lugar do diálogo de éxito. O volcado de abaixo imprime o conxunto de opcións que pppd montou realmente, e esa é a única lista que importa.

sudo pppd call office debug dump

Repíteo para o segundo cliente e compara as dúas saídas. A opción que moviches debería aparecer exactamente nunha delas. Se aparece nas dúas, o cliente está a rexenerala e a corrección pertence a ese perfil e non ao ficheiro compartido. Anota onde vive agora o axuste xunto á conexión, para que a próxima persoa non redescubra o acoplamento ao rompelo de novo.

Artigos relacionados