Oba firewally umějí filtrovat přesměrovaný provoz VPN a pravidla připojují k cestě paketu různými způsoby. iptables má vestavěné řetězce uvnitř tabulky, takže FORWARD existuje jako pojmenovaný háček. nftables odděluje název řetězce od jeho typu, háčku a priority, což znamená, že běžný řetězec jménem FORWARD nefiltruje vůbec nic. Srovnání obou modelů vysvětluje, proč záznam, který v jednom nástroji vypadá správně, nemá v druhém žádný účinek.

Řetězec je kontejner. Zda ho jádro prohlédne, závisí na implementaci a na tom, jak ho sada pravidel připojí.

Dva modely, dvě různá připojení

V iptables dodává tabulka filter tři vestavěné řetězce, INPUT, FORWARD a OUTPUT, a -N vytváří řetězec definovaný uživatelem, který působí jen tehdy, když se na něj skočí z některého z nich. Manuál nftables místo toho definuje základní řetězce, které deklarují svůj typ, háček a prioritu, a běžné řetězce, které to nedělají. Základní řetězec může nést libovolný název a běžný řetězec jménem FORWARD nezíská ze svého označení žádné vlastnosti. To je celý rozdíl a v návodu, který ukazuje jen text pravidel, je neviditelný.

Kompatibilní backendy přidávají druhý důvod, proč neusuzovat chování z názvu příkazu. Dokumentace iptables uvádí operace, které se pod iptables-nft liší, proto berte nativní nftables, iptables-nft a starší sadu pravidel jako tři systémy, ne jako tři pravopisy jednoho.

Čtěte chybu v jejím skutečném kontextu

Chybějící tabulka, selhání oprávnění, nedostupná funkce jádra a chybějící pojmenovaný řetězec jsou čtyři různá zjištění a jen jedno se týká řetězce. Zapište verzi nástroje, požadovanou rodinu adres a tabulku, síťový jmenný prostor a první přesnou chybu. Potom ověřte, který komponent sadu pravidel vlastní: služba firewallu nebo brána spravovaná produktem může generovat vlastní řetězce a pořadí. Přidání nativního řetězce vedle nich ponechá spravovanou politiku nedotčenou a inventář ještě více zamotá.

Jmenný prostor kontejneru může obsahovat jinou sadu pravidel než hostitel, takže příkaz spuštěný ve špatném kontextu nemůže ukázat, který řetězec přesměrovaný paket viděl. Zvyšovat oprávnění proto, že očekávaný řetězec nebyl vidět, není diagnóza.

Počítadla dokazují dosah, ne verdikt

Počítadla pravidel vám říkají, že se pravidlo dosáhlo. Neříkají, že pozdější pravidlo operaci povolilo, a nedokazují, že všechny alternativní cesty byly zamítnuty. Čtěte je během jednoho neškodného povoleného toku společně s pořadím pravidel a připojením řetězce a berte je jako jedno pozorování, ne jako verdikt. Nenulové počítadlo na pravidle zahazování znamená, že do něj provoz narazil; o provozu, který do něj nenarazil, neříká nic.

Přesměrování IP v jádře je zcela samostatné nastavení. Existence řetězce přesměrování nezapíná a nepřítomnost známého označení neznamená, že se přesměrování zastavilo.

Popište tok, který chcete chránit

Zapište jeden požadavek klienta po dekapsulaci: jeho zdroj, cíl, rodinu adres a zda končí na bráně, nebo jí prochází. Vstup místní služby a přesměrovaný provoz se pozorují v různých bodech, takže potřebují různá pravidla a různé testy. U VPN přes most ověřte také cestu mostu, protože řetězec na úrovni IP nekontroluje ethernetové rámce automaticky.

Před změnou vzdálené brány si zachovejte nezávislý přístup pro obnovu. Potom potvrďte zamýšlený tok a požadovaná zamítnutí ve stejné sadě pravidel. Nový prázdný řetězec se známým názvem není oprava.

Srovnání končí jednou otázkou: který háček jádro pro tento paket skutečně volá? Odpovězte na ni a název řetězce přestane být důležitý.

Související články