WireGuard nedokáže vytvoriť svoje rozhranie, takže neexistuje zariadenie na konfiguráciu, kľúč na výmenu ani podanie ruky na ladenie. Zlyhanie zostáva celé na lokálnom stroji a text chyby hovorí, ktorá časť lokálneho zásobníka odmietla. Prečítať ho správne je rýchlejšie než preinštalovať konfiguráciu protistrany. Vrstvy možno oddeliť a správa pomenúva tú, ktorá odmietla.

Chyba nastane skôr, než ktorákoľvek protistrana prehovorí

Vytvorenie rozhrania je jedna požiadavka netlink na jadro o zariadenie typu wireguard. Jadro buď má ovládač, ktorý tomu typu rozumie, alebo ho nemá, a odpoveď prichádza okamžite. V tomto kroku neopúšťa stroj žiadny paket, a preto adresy koncových bodov a kľúče servera nemôžu byť príčinou.

Toto poradie je dôležité pri diagnostike. Ak príkaz nikdy nevytvoril zariadenie, problémom nemôže byť nesprávny verejný kľúč ani zablokovaný port UDP. Najprv opravte lokálnu cestu vytvárania a až potom sa pozerajte von.

Ktorá implementácia má zariadenie vlastniť

Na túto požiadavku môžu odpovedať dve implementácie. Modul v jadre registruje typ zariadenia wireguard a implementácia v používateľskom priestore, napríklad wireguard-go, poskytuje to isté rozhranie iným mechanizmom. Ak modul chýba, jadro požiadavku odmietne chybou o nepodporovanom zariadení a riešením je buď modul načítať, alebo nasmerovať nástroje na implementáciu v používateľskom priestore.

Skôr než si vyberiete, skontrolujte, čo je skutočne prítomné. Prvý príkaz ukáže, či je modul načítaný, a druhý sa pýta jadra priamo:

lsmod | grep wireguard
ip link add wgtest0 type wireguard

Druhý príkaz je najmenšia možná reprodukcia: žiada zariadenie a nič iné. Ak zlyhá so správou o nepodporovanom type, chýbajúcou časťou je implementácia, nie váš konfiguračný súbor.

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

Oprávnenia a hranice kontajnera

Vytvorenie a konfigurácia sieťového zariadenia vyžaduje oprávnenie, buď ako root, alebo s možnosťou spravovať sieť. Bežná používateľská relácia to nedokáže a toto obmedzenie je zámer, nie prekážka, ktorú treba obchádzať spustením inštalátora, ktorý ste neprešli.

Vnútri kontajnera sa hranica zdvojnásobuje. Kontajner potrebuje prístup k tunelovému zariadeniu a možnosť ho konfigurovať a príznaky, ktoré to dávajú, sú rovnaké ako tie, ktoré používa kontajner VPN na Linuxe. Obmedzený hosť, ktorý bežne vie prehliadať web, stále nedokáže vytvoriť rozhranie, pretože prehliadanie takú možnosť nepotrebuje. Dajte možnosť službe, ktorá ju potrebuje, a nie každej relácii na hostiteľovi.

Vyriešte konflikt názvov a skúste to znova

Rozhranie, ktoré už existuje, nie je automaticky zvyšok. Názov môže vlastniť iný správca a práve ho používať, preto ho pred akýmkoľvek mazaním preskúmajte:

ip link show wg0
sudo wg show wg0

Ak je vlastníkom aktívna služba, nakonfigurujte túto službu namiesto vytvárania druhého zariadenia. Ak je naozaj zastarané, odstráňte ho nástrojom, ktorý ho vytvoril, a potom zdvihnite rozhranie zdokumentovaným klientom alebo jednotkou, aby konfigurácia a zariadenie zostali v súlade.

Keď sa vytvorenie podarí, ďalšie zlyhanie patrí k neskoršej fáze, a jednotka, ktorá hlási zlyhanie po tom, čo zariadenie existuje, je iný problém než zariadenie, ktoré nikdy nevzniklo. Oddelte obe, skôr než znova zmeníte oprávnenia.

Súvisiace články