WireGuard ne uspe ustvariti svojega vmesnika, zato ni naprave za konfiguriranje, ni ključa za izmenjavo in ni rokovanja za razhroščevanje. Napaka v celoti ostane na lokalnem računalniku, besedilo napake pa pove, kateri del lokalnega sklada je zavrnil. Pravilno branje je hitrejše od ponovne namestitve konfiguracije nasprotnika. Sloje lahko ločimo, sporočilo pa imenuje tistega, ki je zavrnil.

Napaka se zgodi, preden spregovori kateri koli nasprotnik

Ustvarjanje vmesnika je ena zahteva netlink jedru za napravo vrste wireguard. Jedro ima gonilnik, ki to vrsto razume, ali pa ga nima, odgovor pa pride takoj. V tem koraku noben paket ne zapusti računalnika, zato naslovi končnih točk in ključi strežnika ne morejo biti vzrok.

Ta vrstni red je pomemben za diagnozo. Če ukaz nikoli ni ustvaril naprave, težava ne more biti napačen javni ključ ali blokirana vrata UDP. Najprej popravite lokalno pot ustvarjanja in šele nato poglejte navzven.

Katera izvedba naj bi imela napravo v lasti

Na to zahtevo lahko odgovorita dve izvedbi. Modul v jedru registrira vrsto naprave wireguard, izvedba v uporabniškem prostoru, kot je wireguard-go, pa ponuja isti vmesnik z drugim mehanizmom. Če modula ni, jedro zahtevo zavrne z napako o nepodprti napravi, rešitev pa je bodisi naložiti modul bodisi usmeriti orodja na izvedbo v uporabniškem prostoru.

Preden izbirate med njima, preverite, kaj je v resnici prisotno. Prvi ukaz pokaže, ali je modul naložen, drugi pa jedro vpraša neposredno:

lsmod | grep wireguard
ip link add wgtest0 type wireguard

Drugi ukaz je najmanjša možna ponovitev: zahteva napravo in nič drugega. Če spodleti s sporočilom o nepodprti vrsti, je manjkajoči del izvedba in ne vaša konfiguracijska datoteka.

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

Dovoljenja in meje vsebnika

Ustvarjanje in konfiguriranje omrežne naprave zahteva dovoljenje, bodisi kot root bodisi z zmožnostjo upravljanja omrežja. Običajna uporabniška seja tega ne more, in ta omejitev je zasnova in ne ovira, ki bi jo obšli z zagonom namestitvenega programa, ki ga niste pregledali.

Znotraj vsebnika se meja podvoji. Vsebnik potrebuje dostop do tunelske naprave in zmožnost, da jo konfigurira, zastavice, ki to dajejo, pa so enake tistim, ki jih uporablja vsebnik VPN na Linuxu. Omejen gost, ki običajno lahko brska po spletu, še vedno ne more ustvariti vmesnika, ker brskanje ne potrebuje takšne zmožnosti. Dajte zmožnost storitvi, ki jo potrebuje, in ne vsaki seji na gostitelju.

Rešite spor zaradi imena in poskusite znova

Vmesnik, ki že obstaja, ni samodejno ostanek. Drug upravljavec je lahko lastnik imena in ga prav zdaj uporablja, zato ga preglejte, preden karkoli izbrišete:

ip link show wg0
sudo wg show wg0

Če je lastnik aktivna storitev, konfigurirajte to storitev, namesto da ustvarite drugo napravo. Če je res zastarela, jo odstranite z orodjem, ki jo je ustvarilo, nato pa dvignite vmesnik z dokumentiranim odjemalcem ali enoto, da ostaneta konfiguracija in naprava usklajeni.

Ko ustvarjanje uspe, naslednja napaka pripada poznejši stopnji, in enota, ki poroča o napaki po tem, ko naprava obstaja, je drugačna težava kot naprava, ki ni bila nikoli ustvarjena. Ločite oboje, preden znova spremenite dovoljenja.

Sorodni članki