WireGuard misluk om sy koppelvlak te skep, dus is daar geen toestel om te konfigureer nie, geen sleutel om uit te ruil nie en geen handdruk om te ontfout nie. Die mislukking lê heeltemal op die plaaslike masjien, en die foutteks sê watter deel van die plaaslike stapel geweier het. Om dit reg te lees is vinniger as om die eweknie se konfigurasie te herinstalleer. Die lae is skeibaar, en die boodskap noem die een wat geweier het.

Die fout gebeur voordat enige eweknie praat

Die skep van 'n koppelvlak is een netlink-versoek aan die kern om 'n toestel van die tipe wireguard. Die kern het óf 'n drywer wat daardie tipe verstaan óf nie, en die antwoord kom dadelik terug. Geen pakkette verlaat die masjien tydens hierdie stap nie, en daarom kan eindpuntadresse en bediener-sleutels nie die oorsaak wees nie.

Daardie volgorde maak saak vir diagnosering. As die opdrag nooit 'n toestel geskep het nie, kan die probleem nie 'n verkeerde publieke sleutel of 'n geblokkeerde UDP-poort wees nie. Herstel eers die plaaslike skeppingspad en kyk eers daarna na buite.

Watter implementering behoort die toestel te besit

Twee implementerings kan daardie versoek beantwoord. Die module in die kern registreer die toesteltipe wireguard, en 'n gebruikerspasie-implementering soos wireguard-go bied dieselfde koppelvlak deur 'n ander meganisme. As die module afwesig is, verwerp die kern die versoek met 'n fout vir 'n onondersteunde toestel, en die oplossing is óf om die module te laai óf om die gereedskap na die gebruikerspasie-implementering te wys.

Kyk wat werklik teenwoordig is voordat jy tussen hulle kies. Die eerste opdrag wys of die module gelaai is en die tweede vra die kern direk:

lsmod | grep wireguard
ip link add wgtest0 type wireguard

Die tweede opdrag is die kleinste moontlike herproduksie: dit vra vir 'n toestel en niks anders nie. As dit met 'n boodskap oor 'n onondersteunde tipe misluk, is die ontbrekende stuk die implementering en nie jou konfigurasielêer nie.

Error textWhat refusedNext step
Unknown device type or operation not supportedThe kernel has no wireguard driverLoad the module or use the userspace implementation
Operation not permittedMissing privilegeUse the service context or grant the capability
File existsThe name is already in useInspect the owner before touching it
No such device in a containerNo tunnel device or capabilityAdd the device and NET_ADMIN to the container

Voorregte en houer-grense

Die skep en konfigureer van 'n netwerktoestel vereis voorreg, hetsy as root of met die vermoë om die netwerk te administreer. 'n Normale gebruiker-sessie kan dit nie doen nie, en daardie beperking is die ontwerp en nie 'n hindernis om te omseil deur 'n installeerder te laat loop wat jy nie nagegaan het nie.

Binne 'n houer is die grens verdubbel. Die houer het toegang tot die tonneltoestel nodig en die vermoë om dit te konfigureer, en die vlae wat dit toestaan is dieselfde as wat 'n Linux VPN-houer gebruik. 'n Beperkte gas wat normaal op die web kan blaai, kan steeds nie 'n koppelvlak skep nie, want blaai vereis nie so 'n vermoë nie. Gee die vermoë aan die diens wat dit nodig het en nie aan elke sessie op die gasheer nie.

Los die naamkonflik op en probeer dan weer

'n Koppelvlak wat reeds bestaan is nie outomaties 'n oorblyfsel nie. 'n Ander bestuurder kan die naam besit en dit op die oomblik gebruik, so ondersoek dit voordat jy iets verwyder:

ip link show wg0
sudo wg show wg0

As die eienaar 'n aktiewe diens is, konfigureer daardie diens in plaas daarvan om 'n tweede toestel te skep. As dit werklik verouderd is, verwyder dit deur die gereedskap wat dit geskep het, en bring dan die koppelvlak op met die gedokumenteerde kliënt of eenheid sodat die konfigurasie en die toestel in pas bly.

Sodra die skepping slaag, behoort die volgende mislukking aan 'n later stadium, en 'n eenheid wat mislukking rapporteer nadat die toestel bestaan, is 'n ander probleem as 'n toestel wat nooit geskep is nie. Skei die twee voordat jy weer toegangsregte verander.

Verwante artikels