A kézfogás friss a wg show kimenetében, a végpont helyes, a kulcsok soha nem változtak — és a ping mégis azt mondja, nincs útvonal a partnerhez. Egy órája módosította az alagút alhálózatát. Ez a tünet a prefix-eltérés jele, nem kulcsprobléma: a WireGuard befejezte a kézfogást, majd eldobta az adatokat, mert egy forrás-cím már nem egyezik azzal, amit a fogadó partner elfogad. Két ésszerű módja van az alhálózat-váltás végrehajtásának, és ezek különböző helyeken hibáznak.

Két mód a váltás végrehajtására, és mennyibe kerül mindegyik

Az A lehetőség a helyben történő újraszámozás: szerkessze az interfész címét, a partnerek tartományait, az útvonalakat és a konfiguráció minden példányát, majd töltse újra. A B lehetőség egy második interfész felépítése az új prefixen a régi mellett, a partnerek átvitele, és a régi interfész eltávolítása, miután a forgalom ténylegesen átköltözött.

A: renumber in placeB: parallel interface
DowntimeThe reload window, per hostNone if peers are added to both
RollbackRe-apply the previous filesPoint peers back at the old interface
RiskHalf-applied change: new address, old rangesTwo live interfaces with overlapping intent
EffortSmall, if the deployment has one ownerHigher, and needs a cleanup step
FitsTwo or three peers you controlMany peers, remote sites, or no maintenance window

A félig alkalmazott állapot teszi veszélyessé az A lehetőséget, mert nem látszik töröttnek. Az interfész feljön, a kézfogás sikerül, és csak az adatút hibázik. A B lehetőség több munkát igényel, de életben tart egy működő utat, miközben minden hivatkozást megkeres.

Mi mozogjon együtt az Ön oldalán

Négy dolog írja le ugyanazt az alhálózatot a helyi hoszton, és az egyik módosítása mindegyik módosítása: az interfész címe, az egyes partnerek AllowedIPs-e, az útvonal, amelyet a rendszer ezekhez a célokhoz használ, és mindaz, amit a kezelő az Ön nevében telepít. A wg-quick esetében az utóbbi kettő minden interfész-feljövetelkor a konfigurációból generálódik, így egy elavult példány csendesen visszatelepíti a régi prefixet.

Hasonlítsa össze a beállítottat az élővel, ahelyett hogy bármelyiknek hinne:

wg show
wg showconf wg0
ip addr show wg0
ip route get 10.90.0.5

Az útvonalkeresés az a lépés, amelyet az emberek kihagynak. Megválaszolja, mit tenne a kernel valójában egy célhoz, beleértve egy konkrétabb útvonalat, amelyet egy kezelő vagy konténer-futtatókörnyezet hagyott hátra. Ha az alagúttól eltérő interfészt jelent, nem a konfiguráció a probléma.

Futó interfésznél alkalmazza a szerkesztett fájlt az alagút lebontása nélkül:

wg syncconf wg0 <(wg-quick strip wg0)

Ez helyben frissíti a partnereket és a tartományokat. Nem frissíti az interfész címét vagy az útvonalakat, mert azok nem WireGuard-beállítások — így az újraszámozáshoz továbbra is újra kell hozni az interfészt, vagy ip-vel módosítani a címet, majd újra ellenőrizni az útválasztást.

Mi mozogjon együtt a távoli oldalon

Itt hal meg általában az alhálózat-váltás. Az AllowedIPs nemcsak útválasztási utalás; azon forrás-címek listája is, amelyeket egy partner bemutathat. Amikor újraszámozza a klienseket, és a szerver AllowedIPs-ét a régi prefixen hagyja, a szerver elfogadja a kézfogást, megkapja a titkosított csomagokat, és eldobja őket, mert a belső forrás nem egyezik egyetlen olyan tartománnyal sem, amelyet ahhoz a partnerhez kapcsol. Nem naplózódik hiba, és a kliens időtúllépést lát.

Ezért szándékosan frissítse a fogadó oldalt: a szerver partnerbejegyzésének fel kell sorolnia az új kliensprefixet, a szerver saját visszaútjának arra a prefixre az alagútra kell mutatnia, és a szerver mögötti bármely alsóbb hálózatnak meg kell tanulnia az új utat. A régi tartományt megnevező tűzfal-szabályzat ugyanezt a kezelést igényli, és minden forrás alapú kiválasztást végző dolog is.

A két hibát elválasztó diagnosztika olcsó. Friss kézfogás adatok nélkül azt jelenti, hogy az alagút áll, és a belső címzés nem ért egyet. Teljesen nincs kézfogás: akkor elérhetőséget vagy kulcsokat néz. Ne forgassa a kulcsokat prefix-probléma miatt; ez nullázza az egyetlen dolgot, ami működött.

Elavult példányok, amelyek túlélik a szerkesztését

Egy fájl szerkesztése nem ugyanaz, mint a futó rendszer módosítása, és a példányok többen vannak, mint az emberek várják: az interfészt birtokló unit vagy kezelő, egy második profil ugyanazzal a névvel egy másik könyvtárban, egy konténer a képbe sütött konfigurációval, egy router-felület a saját szerkesztett változatával, és egy kliensalkalmazás, amely indításkor újra importál egy mentett alagutat. Bármelyik visszaállíthatja a régi prefixet, miután a módosítása késznek látszik.

A nevek is utaznak. Ha a numerikus útvonal működik, de a hosztnév nem, egy belső DNS-rekord vagy egy szolgáltatáskonfiguráció még mindig a régi alagútcímre mutat. Javítsa a hivatkozást ahelyett, hogy minden partnertartományt kiszélesítene, mert az elfedné a valódi problémát, és egyúttal megnövelné a forrás-ACL-t.

Tartson nyitva egy helyreállítási utat, miközben dolgozik: egy második belépési módot a hosztra, egy soros konzolt, vagy a konfigurációs fájlok ütemezett visszaállítását. Az az alagútmódosítás, amely kizárja Önt abból a gépből, amelyet módosít, a leggyakoribb módja annak, hogy ebből a feladatból este legyen.

Választás a kettő között, és a váltás ellenőrzése

Válassza az A-t, ha minden partner az Öné, a szám kicsi, és egy rövid kiesés elfogadható. Válassza a B-t, ha a partnerek távoli kezek, amelyeket nem irányít, ha egy telephelyek közötti kapcsolatnak fenn kell maradnia, vagy ha nem tudja garantálni, hogy minden példány egy menetben frissül. Ebben az esetben adja hozzá az új prefixet mindkét interfészhez, vigye át a partnereket egyenként, figyelje a forgalmat az újon, és csak azután távolítsa el a régi interfészt és annak útvonalait.

Mindkét lehetőségnél a váltás akkor kész, ha négy ellenőrzés átmegy: a kézfogás friss, az új prefixű cél útvonalkeresése megnevezi az alagutat, néhány száz bájtos terhelés mindkét irányban átmegy, és ugyanez igaz a hoszt vagy a kezelő újraindítása után is. A wg(8) kézikönyv a hivatkozás arra, mit jelent az AllowedIPs mindegyik irányban, és érdemes újraolvasni, mielőtt kiszélesít egy tartományt, hogy egy tünet eltűnjön.

  • Friss kézfogás és nincs adat: nézze meg az AllowedIPs-t a fogadónál, mielőtt a kulcsokhoz nyúl.
  • Az útvonalkeresés rossz interfészre mutat: az útvonalat egy kezelő vagy konténer birtokolja, nem az Ön fájlja.
  • A numerikus cím rendben, a hosztnév törött: régi hivatkozás, nem útválasztási hurok.
  • A váltás csak akkor teljes, ha újraindítás után is az új prefixet használja.

Kapcsolódó cikkek