WireGuard nuk arrin të krijojë ndërfaqen e vet, prandaj nuk ka pajisje për të konfiguruar, as çelës për të shkëmbyer dhe as shtrëngim duarsh për të debuguar. Dështimi mbetet tërësisht në makinën lokale, dhe teksti i gabimit thotë cila pjesë e stivës lokale refuzoi. Leximi i saktë i tij është më i shpejtë se riinstalimi i konfigurimit të partnerit. Shtresat mund të ndahen, dhe mesazhi emërton atë që refuzoi.

Gabimi ndodh përpara se të flasë ndonjë partner

Krijimi i një ndërfaqeje është një kërkesë e vetme netlink drejtuar kernelit për një pajisje të tipit wireguard. Kernelit ose i ka drejtuesi që e kupton atë tip ose nuk e ka, dhe përgjigjja kthehet menjëherë. Në këtë hap asnjë paketë nuk largohet nga makina, prandaj adresat e pikave fundore dhe çelësat e serverit nuk mund të jenë shkaku.

Ky rend ka rëndësi për diagnozën. Nëse komanda nuk krijoi kurrë një pajisje, problemi nuk mund të jetë një çelës publik i gabuar ose një port UDP i bllokuar. Rregulloni së pari rrugën lokale të krijimit dhe vetëm pastaj shikoni nga jashtë.

Cila implementim duhet ta zotërojë pajisjen

Dy implementime mund t'i përgjigjen asaj kërkese. Moduli brenda kernelit regjistron tipin e pajisjes wireguard, dhe një implementim në hapësirën e përdoruesit si wireguard-go ofron të njëjtën ndërfaqe përmes një mekanizmi tjetër. Nëse moduli mungon, kernelit e refuzon kërkesën me një gabim pajisjeje të pambështetur, dhe zgjidhja është ose të ngarkohet moduli ose t'i drejtohen mjetet implementimit në hapësirën e përdoruesit.

Kontrolloni çfarë është me të vërtetë e pranishme përpara se të zgjidhni midis tyre. Komanda e parë tregon nëse moduli është i ngarkuar dhe e dyta e pyet kernelin drejtpërdrejt:

lsmod | grep wireguard
ip link add wgtest0 type wireguard

Komanda e dytë është riprodhimi më i vogël i mundshëm: kërkon një pajisje dhe asgjë tjetër. Nëse dështon me një mesazh për tip të pambështetur, pjesa që mungon është implementimi dhe jo skedari juaj i konfigurimit.

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

Privilegjet dhe kufijtë e kontejnerit

Krijimi dhe konfigurimi i një pajisjeje rrjeti kërkon privilegj, ose si root ose me aftësinë për të administruar rrjetin. Një sesion normal përdoruesi nuk mund ta bëjë këtë, dhe ky kufizim është vetë dizajni dhe jo një pengesë për t'u anashkaluar duke ekzekutuar një instalues që nuk e keni shqyrtuar.

Brenda një kontejneri kufiri dyfishohet. Kontejneri ka nevojë për akses në pajisjen e tunelit dhe aftësinë për ta konfiguruar, dhe flamujt që e japin këtë janë të njëjtë me ata që përdor një kontejner VPN në Linux. Një mysafir i kufizuar që normalisht mund të shfletojë web-in ende nuk mund të krijojë një ndërfaqe, sepse shfletimi nuk kërkon një aftësi të tillë. Jepeni aftësinë shërbimit që ka nevojë për të dhe jo çdo sesioni në host.

Zgjidhni konfliktin e emrit dhe pastaj provoni përsëri

Një ndërfaqe që ekziston tashmë nuk është automatikisht mbetje. Një menaxher tjetër mund ta ketë emrin dhe ta përdorë pikërisht tani, prandaj inspektojeni përpara se të fshini ndonjë gjë:

ip link show wg0
sudo wg show wg0

Nëse pronari është një shërbim aktiv, konfiguroni atë shërbim në vend të krijimit të një pajisjeje të dytë. Nëse është me të vërtetë i vjetëruar, hiqeni përmes mjetit që e krijoi, dhe pastaj ngrini ndërfaqen me klientin ose njësinë e dokumentuar që konfigurimi dhe pajisja të mbeten në hap.

Sapo krijimi të ketë sukses, dështimi tjetër i takon një faze më të vonë, dhe një njësi që raporton dështim pasi pajisja ekziston është një problem tjetër nga një pajisje që nuk u krijua kurrë. Ndajini të dyja përpara se të ndryshoni përsëri lejet.

Artikuj të ngjashëm