Il client del tunnel è installato, il profilo è valido e l’helper fallisce ancora su un comando chiamato brctl. Reinstallare il pacchetto VPN non risolve, perché il programma mancante non fa parte del tunnel. Fa parte di uno script del bridge locale, e lo script chiede uno strumento che il sistema attuale non fornisce più per impostazione predefinita. I due problemi sembrano correlati solo perché lo script viene eseguito al momento della connessione.

Un programma ausiliario mancante non è un guasto del tunnel

Cominciate dall’invocazione esatta e dal suo ambiente. Un comando presente nella vostra shell interattiva può mancare nel percorso di ricerca limitato di un servizio, quindi un errore «non trovato» può significare due cose diverse. Eseguite command -v brctl come utente del servizio, e leggete l’unità che avvia lo script con systemctl cat openvpn-bridge-helper o il suo equivalente. Il testo dell’errore di solito nomina il binario mancante, e quel nome è la dipendenza da risolvere.

Reinstallare il client del tunnel fornisce il tunnel, non l’utilità del bridge. Sono pacchetti separati con manutentori separati.

Che cosa faceva brctl e perché è obsoleto

Lo strumento creava e amministrava bridge Ethernet di Linux: addbr creava un bridge e addif collegava una porta. Il manuale di Debian lo segna come obsoleto e rimanda agli strumenti bridge di iproute2, che coprono di più. Obsoleto non significa rimosso ovunque, e la presenza di uno strumento più recente non fa riuscire la chiamata letterale a brctl in uno script.

Quindi la domanda non è se brctl sia buono. È se lo script sia ancora mantenuto e quale pacchetto, se esiste, la vostra distribuzione fornisca per esso.

Due opzioni oneste: mantenere o migrare

Mantenere significa installare la dipendenza documentata dal pacchetto supportato della vostra distribuzione e confermare l’origine dello script, la versione attesa e il percorso di esecuzione. Questo soddisfa un eseguibile mancante e nulla più: i nomi dei bridge, il piano degli indirizzi e il comportamento di pulizia dello script restano non convalidati. Migrare significa riscrivere le operazioni previste per la configurazione di rete supportata. La creazione del bridge, il collegamento delle porte, l’indirizzamento dell’host e l’attivazione del collegamento sono quattro modifiche distinte, e un alias di shell da brctl a un’altra utilità non è una traduzione.

Gli equivalenti di iproute2 sono brevi: ip link add name br-vpn type bridge crea il bridge e ip link set tap0 master br-vpn collega una porta.

Annotate quale opzione avete scelto e a chi appartiene lo script. Un helper migrato a metà che chiama entrambi gli strumenti è peggiore di ciascuno dei due.

Guardate il progetto del bridge prima di entrambe

Un bridge Ethernet si adatta a un progetto che richiede trasporto Ethernet e peer TAP. Installare utilità bridge non trasforma una connessione TUN instradata in un bridge, e un profilo instradato supportato non dovrebbe essere piegato per adattarsi a uno script non correlato. Se il profilo instrada, scoprite perché un helper del bridge venga eseguito.

Prima di toccare un bridge reale, preservate il percorso di gestione e identificate l’unico proprietario della configurazione di rete.

Poi leggete l’errore successivo dopo aver corretto la dipendenza. La configurazione locale del bridge, l’autenticazione remota e il traffico consentito attraverso il risultato sono tre esiti separati, e solo uno di essi ha mai riguardato brctl.

Articoli correlati