OpenConnect vpnc-script: que ficheiro se executa?
O auxiliar que instala rutas e DNS está separado do cliente do túnel. Localice a ruta que usa o cliente en execución antes de substituílo por unha copia dun foro.
OpenConnect pode completar o saúdo do túnel e deixalo igualmente sen ruta cara á subrede privada, porque o cliente e o auxiliar que modifica o estado da rede local son dous programas distintos. A autenticación demostra que a pasarela aceptou a sesión; non demostra nada sobre que interface, que rutas ou que axustes do resolvedor se instalaron despois. A maioría dos informes confusos proveñen de substituír o auxiliar por unha copia dunha resposta antiga, o que cambia o comportamento de cada conexión da máquina. Localice o auxiliar que o cliente en execución invoca realmente antes de modificar calquera parte del.
Dous programas, dúas responsabilidades
O cliente posúe o transporte, a autenticación e o dispositivo do túnel. Un auxiliar aparte posúe o que acontece no sistema local unha vez que existe o túnel: o direccionamento da interface, as rutas cara ás subredes que anunciou a pasarela e a configuración do resolvedor. A documentación do auxiliar de OpenConnect describe esa separación e a contorna que recibe o auxiliar. A distinción importa durante un fallo, porque un contrasinal rexeitado e unha ruta ausente non son o mesmo incidente aínda que o escritorio mostre un só diálogo para ambos.
Ter presente esa separación tamén explica por que unha conexión pode informar de éxito mentres os nomes privados seguen sen resolverse. O túnel está levantado en ambos os casos e só cambia a etapa de integración local.
Localice o auxiliar que usa o cliente en execución
A ruta fíxase ao construír o paquete e pode sobrescribirse en cada invocación, así que o ficheiro que recorda doutra distribución pode non ter nada que ver con esta conexión. Pregunte ao proceso en execución en lugar de á documentación que teña aberta.
openconnect --version
ps -o args= -C openconnect
dpkg -L openconnect | grep -i script
ls -l /etc/vpnc/ 2>/dev/null
Se a liña do proceso leva un --script argumento, ese ficheiro prevalece sobre o valor predeterminado compilado. Rutas máis antigas como /etc/vpnc/vpnc-script poden existir e seguir sen usarse, e por iso borralas ou editalas non cambia nada nunha compilación recente. Revise tamén a data de modificación, porque un auxiliar que ninguén tocou en anos é un sinal forte de que o valor predeterminado empaquetado é o que fai o traballo.
A integración con NetworkManager é un terceiro propietario, co seu propio auxiliar e os seus propios axustes de perfil. Engadir un segundo script de rutas ou de resolvedor por riba desa integración duplica rutas e deixa un resolvedor que dous programas afirman xestionar. Escolla un só propietario por conexión e desactive o outro antes de probar.
Lea a primeira operación fallida, non a última advertencia
A configuración da interface, a instalación de rutas, a selección do resolvedor e a limpeza do estado obsoleto son pasos separados, e a advertencia impresa ao final adoita ser unha queixa de limpeza e non o fallo que rompeu a conexión. Lea cara arriba ata a primeira operación concreta que fallou. Un erro do auxiliar que nomea un ficheiro ou un enderezo vale máis que dez liñas de ruído de desmontaxe.
Compare o resultado local previsto co observado: o dispositivo do túnel existe, unha ruta cara a un enderezo privado coñecido pasa por el e o resolvedor responde para un nome privado. Un auxiliar que acerta os dous primeiros e falla no terceiro apunta á política do resolvedor e non ao encamiñamento. Un auxiliar que non configura o dispositivo en absoluto probablemente nunca se executou, e iso é unha cuestión de permisos e non de rede. Confirme o bit de execución e a conta de servizo antes de reescribir calquera lóxica.
Verifique conexión, reconexión e desconexión
A configuración só é a metade do contrato, porque o mesmo auxiliar debe restaurar ou eliminar o estado que posúe cando o túnel se pecha. Un auxiliar que engade rutas e nunca as elimina deixa a máquina cunha ruta obsoleta que sobrevive á sesión.
ip -brief address show tun0
ip route get 10.24.8.15
resolvectl status tun0
journalctl -u NetworkManager -b --no-pager | grep -i -E 'vpnc|script'
Execute as tres primeiras mentres está conectado, desconecte e volva executalas e confirme que a ruta e a entrada do resolvedor desapareceron. A cuarta liña mostra se o auxiliar se invocou de feito e que ruta executable usou o servizo. Garde ese par de saídas no ticket, porque é o antes e o despois o que fai evidente un erro de limpeza.
Manteña o auxiliar empaquetado e executable pola conta de servizo, porque un script que se executa na súa shell aínda pode ser denegado baixo unha política de servizo restrinxida. Cando un cambio sexa realmente necesario, documente a súa finalidade e o seu propietario e compárao coa versión empaquetada en cada actualización. Unha bifurcación inexplicada dun auxiliar é unha das poucas cousas que poden facer fallar unha conexión que funcionaba un ano despois.