Het VPN-bridgescript roept nog steeds brctl aan: wat dat betekent
Een bridge-helper die op brctl mislukt, is een lokaal afhankelijkheidsprobleem, geen tunnelstoring. Beslis of u het script onderhoudt of het bridgewerk migreert.
De tunnelclient is geïnstalleerd, het profiel is geldig, en de helper mislukt nog steeds op een commando dat brctl heet. Het VPN-pakket opnieuw installeren lost dit niet op, omdat het ontbrekende programma geen deel van de tunnel is. Het maakt deel uit van een lokaal bridgescript, en het script vraagt om een hulpmiddel dat het huidige systeem niet meer standaard levert. De twee problemen lijken alleen verband te houden omdat het script op verbindingstijd draait.
Een ontbrekend hulpprogramma is geen tunnelstoring
Begin met de exacte aanroep en de omgeving ervan. Een commando dat in uw interactieve shell bestaat, kan ontbreken in het beperkte zoekpad van een dienst, dus een niet-gevonden-fout kan twee verschillende dingen betekenen. Voer command -v brctl uit als de dienstgebruiker, en lees de unit die het script start met systemctl cat openvpn-bridge-helper of het equivalent ervan. De fouttekst noemt meestal het ontbrekende binaire bestand, en die naam is de afhankelijkheid die moet worden opgelost.
Het opnieuw installeren van de tunnelclient levert de tunnel, niet het bridgehulpmiddel. Dat zijn aparte pakketten met aparte beheerders.
Wat brctl deed, en waarom het verouderd is
Het hulpmiddel maakte en beheerde Linux Ethernet-bridges: addbr maakte een bridge, en addif koppelde een poort. De handleiding van Debian markeert het als verouderd en wijst op de bridgehulpmiddelen van iproute2, die meer dekken. Verouderd betekent niet overal verwijderd, en een aanwezig nieuwer hulpmiddel maakt een letterlijke brctl-aanroep in een script niet geslaagd.
De vraag is dus niet of brctl goed is. Ze is of het script nog wordt onderhouden en welk pakket, als dat er is, uw distributie daarvoor levert.
Twee eerlijke opties: onderhouden of migreren
Onderhouden betekent de gedocumenteerde afhankelijkheid installeren uit het ondersteunde pakket van uw distributie en de herkomst, verwachte versie en uitvoeringspad van het script bevestigen. Dat bevredigt een ontbrekend uitvoerbaar bestand en niets anders: de bridgenamen, het adresplan en het opruimgedrag van het script blijven ongevalideerd. Migreren betekent de bedoelde bewerkingen herschrijven voor de ondersteunde netwerkconfiguratie. Bridgeaanmaak, poortkoppeling, hostadressering en linkactivering zijn vier afzonderlijke wijzigingen, en een shell-alias van brctl naar een ander hulpmiddel is geen vertaling.
De iproute2-equivalenten zijn kort: ip link add name br-vpn type bridge maakt de bridge, en ip link set tap0 master br-vpn koppelt een poort.
Noteer welke optie u koos en wie het script bezit. Een half gemigreerde helper die beide hulpmiddelen aanroept, is slechter dan elk van beide.
Bekijk het bridgeontwerp vóór beide
Een Ethernet-bridge past bij een ontwerp dat Ethernet-transport en TAP-peers nodig heeft. Bridgehulpmiddelen installeren maakt van een gerouteerde TUN-verbinding geen bridge, en een ondersteund gerouteerd profiel mag niet worden verbogen om bij een ongerelateerd script te passen. Als het profiel routeert, zoek uit waarom een bridge-helper eigenlijk draait.
Voordat u een echte bridge aanraakt, behoudt u het beheerpad en wijst u de enige eigenaar van de netwerkconfiguratie aan.
Lees daarna de volgende fout nadat de afhankelijkheid is opgelost. Lokale bridgeconfiguratie, externe authenticatie en toegestaan verkeer door het resultaat zijn drie afzonderlijke uitkomsten, en slechts één ervan ging ooit over brctl.