nftables-jelölések és VPN-útvonalválasztás: melyik szabály nyer valójában
A tűzfalban beállított jelölés mégis elvéti az útválasztási szabályt. Ellenőrizze a szabály maszkját, az objektum típusát és a többi írót, mielőtt negyediket adna hozzá.
Az nftablesben beállított jelölésnek egy forgalmi osztályt az alagúton kellene átküldenie, a forgalom mégis a fizikai interfészen hagyja el a rendszert. A szabálykészlet önmagában helyesnek tűnik. Általában az történt, hogy valami más írta ugyanazt a jelölést, vagy az útválasztási szabály olyan maszkra illeszkedik, amelyet az új érték már nem teljesít.
Ellenőrzés 1: olvassa el a szabályt, amelyre a kernel illeszkedik
Kezdje a házirend-szabállyal, ne a tűzfallal. A kernel prioritási sorrendben vizsgálja a szabályokat, és az első egyezés dönti el a táblát. Olvassa ki az fwmark értékét és a maszkot magából a szabályból, majd erősítse meg, hogy a beállított jelöléssel rendelkező csomag valóban illeszkedik rá. Egy teljes 32 bites értéket váró szabály nem illeszkedik arra a csomagra, amely csak egyetlen bitet hordoz.
Ezután erősítse meg, melyik táblát választja ez a szabály, és mit tartalmaz a tábla. Az üres táblára mutató szabály sikertelen keresést eredményez, ami sok rendszeren azt jelenti, hogy a csomag a következő szabályra esik, és a fizikai interfészen kifelé megy.
Két parancs rendezi ezt: a szabálylista és az útvonalkeresés a célállomásra abban a táblában.
Ellenőrzés 2: csomagjelölés vagy kapcsolatjelölés
Az nftables jelölést állíthat a csomagra és jelölést a kapcsolatkövetési bejegyzésre, és ezek különböző objektumok. A csomagjelölés a csomag feldolgozási menete alatt él, míg a kapcsolatjelölés a folyam számára marad meg, és szándékosan kell átmásolni. Az egyiket beállítani és a másikat várni gyakori félmegoldás.
Ha az útválasztási szabály a csomagjelölésre támaszkodik, a kapcsolatjelölés későbbi visszaállítása az útvonalon semmit nem tesz ehhez a döntéshez, mert a döntés már megszületett.
Döntse el, melyik objektum birtokolja az útválasztási jelet, majd állítsa be azon a ponton, ahol az útválasztási döntés megszületik.
Ellenőrzés 3: ki más írja még ezt a jelölést
A WireGuard saját eszközei megjelölik UDP-csomagjaikat, hogy a titkosított átvitel ne legyen visszairányítva abba az alagútba, amelyhez tartozik. Ha a szabálykészlete ugyanahhoz a mezőhöz független értéket rendel, ez a kizárás eltűnik, és az alagút külső forgalma önmagába próbál belépni. A tünet egy alagút, amely felépül, majd abbahagyja a forgalom átengedését.
A jelöléseket más tűzfal-eszközök, a konténerhálózat és a házirend-alapú útválasztás is használja más célokra, ezért a teljes mező két alrendszer általi írása ütközés akkor is, ha külön-külön mindegyik helyes.
Sorolja fel az írókat, mielőtt még egyet hozzáad.
Ellenőrzés 4: a maszk dönti el, mit tart meg
A jelölés 32 bites mező, a maszkok pedig azt szabályozzák, hogyan osztozik rajta több tulajdonos. A maszkkal beállított érték megőrzi azokat a biteket, amelyek nem az Önéi; a teljes mező beállítása mindenki másét elpusztítja. Olvassa el a maszkot minden szabályban, amely érinti a mezőt, még azokban is, amelyeket nem Ön írt.
Dokumentálja a bitek felosztását a szabálykészlet mellett.
Különben a következő ember újrahasznál egy értéket, amelynek már van tulajdonosa, és az itteni ütközés útválasztási hibának látszik, miközben címzési hiba. Az nftables csomag-metaadatokról szóló dokumentációja magukat a jelölési műveleteket írja le.
Ellenőrzés 5: valódi folyammal ellenőrizze, ne kereséssel
Egy egyszerű útvonalkeresés nem hordoz jelölést, ezért a valódi csomagtól eltérő útvonalat mutathat. Állítsa elő az Önt érdeklő forgalmat, és figyelje a számlálókat, a kapcsolatkövetési bejegyzést és az interfészt, amelyen valóban kilép. Tesztelje a benne lévő és a kizárt osztályt is, mert a túl széles jelölés elrontja a kizárást, miközben sikeresnek látszik. Ha a benne lévő osztály működik, és a kizárt osztály is belép az alagútba, a jelölés túl széles, nem pedig túl szűk.
Kerülje a kapcsolati állapot törlését, hogy élő munkamenetben frissítést kényszerítsen, mivel az új és a meglévő folyamok jogosan járhatnak eltérő útvonalakon.
Rögzítse a jelölést, a maszkot és a táblát egy helyen, és a következő szerkesztés ellenőrizhetővé válik.