WireGuard nu reușește să își creeze interfața, așa că nu există niciun dispozitiv de configurat, nicio cheie de schimbat și nicio strângere de mână de depanat. Eșecul rămâne în întregime pe mașina locală, iar textul erorii spune care parte a stivei locale a refuzat. Citirea lui corectă este mai rapidă decât reinstalarea configurației partenerului. Straturile pot fi separate, iar mesajul o numește pe cea care a refuzat.

Eroarea apare înainte ca vreun partener să vorbească

Crearea unei interfețe este o singură cerere netlink către nucleu pentru un dispozitiv de tipul wireguard. Nucleul fie are un driver care înțelege acel tip, fie nu are, iar răspunsul vine imediat. În acest pas niciun pachet nu părăsește mașina, de aceea adresele punctelor terminale și cheile serverului nu pot fi cauza.

Acea ordine contează pentru diagnostic. Dacă comanda nu a creat niciodată un dispozitiv, problema nu poate fi o cheie publică greșită sau un port UDP blocat. Remediați mai întâi calea locală de creare și abia apoi priviți în exterior.

Ce implementare ar trebui să dețină dispozitivul

Două implementări pot răspunde la acea cerere. Modulul din nucleu înregistrează tipul de dispozitiv wireguard, iar o implementare în spațiul utilizator precum wireguard-go oferă aceeași interfață printr-un alt mecanism. Dacă modulul lipsește, nucleul respinge cererea cu o eroare de dispozitiv neacceptat, iar soluția este fie să încarce modulul, fie să îndrepte instrumentele către implementarea din spațiul utilizator.

Verificați ce este într-adevăr prezent înainte de a alege între ele. Prima comandă arată dacă modulul este încărcat, iar a doua întreabă nucleul direct:

lsmod | grep wireguard
ip link add wgtest0 type wireguard

A doua comandă este cea mai mică reproducere posibilă: cere un dispozitiv și nimic altceva. Dacă eșuează cu un mesaj despre un tip neacceptat, piesa lipsă este implementarea, nu fișierul dumneavoastră de configurare.

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

Privilegii și limitele containerului

Crearea și configurarea unui dispozitiv de rețea necesită privilegii, fie ca root, fie cu capacitatea de a administra rețeaua. O sesiune obișnuită de utilizator nu poate face asta, iar această restricție este proiectarea și nu un obstacol de ocolit rulând un instalator pe care nu l-ați verificat.

În interiorul unui container limita se dublează. Containerul are nevoie de acces la dispozitivul de tunel și de capacitatea de a-l configura, iar steagurile care le acordă sunt aceleași pe care le folosește un container VPN pe Linux. Un oaspete restricționat care poate naviga normal pe web tot nu poate crea o interfață, pentru că navigarea nu are nevoie de o astfel de capacitate. Acordați capacitatea serviciului care are nevoie de ea, nu fiecărei sesiuni de pe gazdă.

Rezolvați conflictul de nume și apoi încercați din nou

O interfață care există deja nu este automat o rămășiță. Un alt manager poate deține numele și îl poate folosi chiar acum, așa că inspectați-o înainte de a șterge ceva:

ip link show wg0
sudo wg show wg0

Dacă proprietarul este un serviciu activ, configurați acel serviciu în loc să creați un al doilea dispozitiv. Dacă este într-adevăr învechită, eliminați-o prin instrumentul care a creat-o și apoi ridicați interfața cu clientul sau unitatea documentate, pentru ca configurația și dispozitivul să rămână aliniate.

Odată ce crearea reușește, următorul eșec aparține unei etape ulterioare, iar o unitate care raportează un eșec după ce dispozitivul există este o problemă diferită de un dispozitiv care nu a fost niciodată creat. Separați cele două înainte de a schimba din nou permisiunile.

Articole similare