Olvassa sorról sorra a WireGuard-konfigurációt, az Interface-től a Peer-ig
Az Interface kulcsai ehhez a végponthoz tartoznak, a peer kulcsai a másik oldalhoz. Olvasson minden sort egy irányként, majd ellenőrizze, mit tett hozzá a wg-quick a protokoll körül.
A legtöbb hibás WireGuard-konfiguráció nem egy értékben téved; a helyes értéket teszi a rossz oldalra. A privát kulcs ehhez a géphez tartozik, a peer a másik gép nyilvános kulcsát hordozza, és a cím az interface-blokkban ül, pedig azt írja le, hol él az alagút. Olvassa a fájlt két találkozó irányként, majd ellenőrizze, mit tett rá a segédszkript. Magának a protokollnak kevesebb mezője van, mint a fájlnak, és a plusz mezőket érdemes külön ismerni.
Az interface kulcsai ezt a gépet írják le
Az interface-blokk ennek a végpontnak a saját identitását tartja. PrivateKey ez az identitás, és soha nem hagyja el a gazdagépet; a hozzá tartozó nyilvános kulcs ebből származik, és ezt listázzák a többi peer. ListenPort az a hely, ahol ez az oldal a kézfogásokat fogadja, ezért az egy cím mögötti két kliensnek különböző portokra van szüksége.
Address az az alagútcím, amelyen ez a gazdagép válaszol, előtag-hosszal írva, mert ez lesz a forrás is, amelyet használni fog. Ha az előtag itt rossz, megváltozik, mely célpontokat tekint a gazdagép közvetlenül kapcsoltnak, és ez olyan hibákat okoz, amelyek útválasztásnak látszanak, nem konfigurációnak.
Minden más egy [Interface] blokkban valódi klienssel általában a wg-quick adja hozzá: DNS, MTU, Table, és a hook-sorok. Ezek nem protokollmezők, és egy csupasz wg beállítás teljesen figyelmen kívül hagyja őket.
Minden peer-bejegyzés egy másik oldalt ír le
Egy [Peer] blokk a távoli fél. PublicKey az adott fél származtatott kulcsa, soha nem a privát kulcsa, és PresharedKey egy opcionális további titok, amelyet mindkét félnek azonosként kell tartania. Endpoint az, hová küldjön, és PersistentKeepalive arra kéri ezt a gazdagépet, hogy az intervallum után csomagot küldjön, amikor semmi más nem megy ki.
Két hiba magyarázza a legtöbb itteni zavart. Ha a saját privát kulcsát bemásolja egy peer-blokkba, a két vég egy identitást oszt meg, és a kézfogás olyan módon hiúsul meg, amely rosszul naplózódik. Endpoint kihagyása egy kliensen általában szándékos, mert a szerver a bejövő kézfogásból tanulja meg a címet; egy szerveren kihagyni, amelynek kezdeményeznie kell, nem az. Arra is emlékezzen, hogy a keepalive nyitva tart egy NAT-leképezést, és nem javítja az átviteli sebességet, nem csökkenti a késleltetést, tehát harminc másodpercnyi plusz csomag semmit sem ér, ha a forgalom már folyik.
Az AllowedIPs útválasztás, nem engedélylista
AllowedIPs a WireGuard kriptokulcsos útválasztása. Kifelé a cél alapján dönti el, melyik peer kapja a csomagot. Befelé a forrás alapján dönti el, elfogadható-e az adott peertől érkező csomag. Ugyanaz a mező végzi mindkét feladatot, ezért ez nem hozzáférés-vezérlési lista és nem engedélyezett webhelyek listája.
Szűk AllowedIPs a szerveren egy klienshez azt jelenti, hogy a szerver csak azokat a csomagokat fogadja el, amelyek ezeket a forrásokat állítják, és csak ezeket a célokat küldi annak a kliensnek. Szélesítse az egyik oldalt a másik nélkül, és olyan alagutat kap, amely feljön és semmit sem enged át.
Mit tesz hozzá a wg-quick a protokoll körül
wg-quick ugyanazt a fájlt olvassa, és elvégzi a hálózati lépéseket, amelyeket a protokoll az operációs rendszerre hagy. Kiosztja az interface címét, hozzáadja a AllowedIPs származtatott útvonalakat, kiírja a feloldó beállításait, és sorrendben lefuttatja a hook-parancsokat.
Ez a réteg magyarázza a klasszikus aszimmetriát. Egy fájl 0.0.0.0/0 és egy DNS sorral alapértelmezett útvonalat és feloldót ad a kliensnek, és semmit sem tesz a szerver továbbítási vagy NAT-szabályaival. Azok a szerver saját konfigurációjához tartoznak, és egyetlen kliensfájl sem tudja biztosítani őket.
Tartson egy tulajdonost a fájlhoz. Kézi szerkesztése, miközben a SaveConfig engedélyezve van, azt jelenti, hogy a szerkesztése eltűnik, amikor az interface legközelebb leáll, és az interface nem fogja megmondani, hogy ez megtörtént.
Az alkalmazott állapotot ellenőrizze, ne a fájlt
A fájl szándék. Az alkalmazott állapot az, amit a kernel tart, és eltérnek, valahányszor egy segédeszköz, egy drop-in vagy egy hook módosított valamit az aktiválás után.
Olvassa együtt az élő állapotot és a címzést, majd hasonlítsa össze mindkettőt azzal, amit írt:
sudo wg show
ip -4 addr show dev wg0
ip -4 route show dev wg0
grep -v "^#" /etc/wireguard/wg0.confHa a peer-lista üres, az interface a konfigurációja alkalmazása nélkül jött létre. Ha vannak címek és útvonalak, de a számlálók nullán maradnak, a fájl betöltődött és a kézfogás hiúsul meg, ami kulcs- vagy végpontprobléma, nem szakaszsorrend-probléma. Hasonlítsa össze a két nézetet szerkesztés előtt, mert a köztük lévő rés általában a valódi hiba.