A WireGuard nem tudja létrehozni a felületét: kernel vagy jogosultság?
A felület létrehozása még az első partneri kézfogás előtt meghiúsul. Olvassa el a hibát, hogy megkülönböztesse a hiányzó modult a jogosultsági határtól vagy a felület meglévő tulajdonosától.
A WireGuard nem tudja létrehozni a felületét, így nincs konfigurálható eszköz, nincs kicserélhető kulcs és nincs hibakereshető kézfogás. A hiba teljes egészében a helyi gépen marad, és a hibaüzenet megmondja, a helyi verem melyik része utasította el. Helyes elolvasása gyorsabb, mint a partner konfigurációjának újratelepítése. A rétegek szétválaszthatók, és az üzenet megnevezi azt, amelyik elutasította.
A hiba még azelőtt történik, hogy bármelyik partner megszólalna
A felület létrehozása egyetlen netlink-kérés a kernelhez egy wireguard típusú eszközért. A kernelnek vagy van ilyen típust értő illesztőprogramja, vagy nincs, és a válasz azonnal visszajön. Ebben a lépésben egyetlen csomag sem hagyja el a gépet, ezért a végpontcímek és a kiszolgálókulcsok nem lehetnek az ok.
Ez a sorrend fontos a diagnózis szempontjából. Ha a parancs soha nem hozott létre eszközt, a probléma nem lehet hibás nyilvános kulcs vagy blokkolt UDP-port. Először a helyi létrehozási útvonalat javítsa, és csak utána nézzen kifelé.
Melyik megvalósításnak kell birtokolnia az eszközt
Két megvalósítás tud válaszolni erre a kérésre. A kernelben lévő modul regisztrálja a wireguard eszköztípust, a felhasználói térben futó megvalósítás, például a wireguard-go pedig ugyanazt a felületet nyújtja más mechanizmuson keresztül. Ha a modul hiányzik, a kernel elutasítja a kérést egy nem támogatott eszközre vonatkozó hibával, és a megoldás vagy a modul betöltése, vagy az eszközök átirányítása a felhasználói térbeli megvalósításra.
Ellenőrizze, mi van valóban jelen, mielőtt választana közöttük. Az első parancs megmutatja, be van-e töltve a modul, a második pedig közvetlenül kérdezi a kernelt:
lsmod | grep wireguard
ip link add wgtest0 type wireguard
A második parancs a lehető legkisebb reprodukció: eszközt kér és semmi mást. Ha nem támogatott típusról szóló üzenettel hiúsul meg, a hiányzó rész a megvalósítás, nem a konfigurációs fájlja.
| Error text | What refused | Next step |
|---|---|---|
| Unknown device type or operation not supported | The kernel has no wireguard driver | Load the module or use the userspace implementation |
| Operation not permitted | Missing privilege | Use the service context or grant the capability |
| File exists | The name is already in use | Inspect the owner before touching it |
| No such device in a container | No tunnel device or capability | Add the device and NET_ADMIN to the container |
Jogosultságok és a konténer határai
A hálózati eszköz létrehozása és konfigurálása jogosultságot igényel, akár rootként, akár a hálózat felügyeletének képességével. Egy szokásos felhasználói munkamenet erre nem képes, és ez a korlátozás maga a tervezés, nem pedig akadály, amelyet egy át nem vizsgált telepítő futtatásával kell megkerülni.
Egy konténeren belül a határ megduplázódik. A konténernek hozzáférése kell az alagúteszközhöz és képességnek kell lennie annak konfigurálásához, és az ezt biztosító kapcsolók ugyanazok, amelyeket a Linuxos VPN-konténer használ. Egy korlátozott vendég, amely szokásosan böngészhet a weben, továbbra sem tud felületet létrehozni, mert a böngészéshez nincs szükség ilyen képességre. A képességet annak a szolgáltatásnak adja meg, amelynek szüksége van rá, és ne a gazdagép minden munkamenetének.
Oldja meg a névütközést, majd próbálja újra
Egy már létező felület nem feltétlenül maradék. A nevet egy másik kezelő birtokolhatja, és éppen most használhatja, ezért nézze meg, mielőtt bármit törölne:
ip link show wg0
sudo wg show wg0
Ha a tulajdonos egy aktív szolgáltatás, konfigurálja azt a szolgáltatást a második eszköz létrehozása helyett. Ha valóban elavult, távolítsa el a létrehozó eszközével, majd hozza fel a felületet a dokumentált klienssel vagy egységgel, hogy a konfiguráció és az eszköz összhangban maradjon.
Amint a létrehozás sikerül, a következő hiba egy későbbi szakaszhoz tartozik, és egy egység, amely az eszköz létezése után hibát jelent, más probléma, mint egy eszköz, amely soha nem jött létre. Válassza szét a kettőt, mielőtt újra módosítja a jogosultságokat.