Požiadavky opúšťajú stroj, partner VPN odpovedá a odpoveď sa nikdy nedostane do socketu. Tunel je nadviazaný, logy partnera ukazujú odoslanie paketu a nič v aplikácii to ticho nevysvetľuje. V Linuxe je jedným z obvyklých podozrivých filtrovanie spätnej cesty: prichádzajúci paket IPv4 môže byť zahodený, keď overenie zdroja nesúhlasí s trasou, ktorú jadro pre tento zdroj očakáva. Prejdenie po poradí vám povie, či je to príčina alebo náhoda. Tiež vás to udrží od vypnutia bezpečnostného opatrenia, aby ste opravili chýbajúcu trasu.

Čo overenie zdroja rozhoduje

Jadro kontroluje, či je zdrojová adresa paketu pravdepodobná pre rozhranie, na ktorom prišiel, tak, že v smerovacej tabuľke hľadá trasu späť k tomuto zdroju. Ak spätná trasa ukazuje inam, paket môže byť zahodený skôr, než ho uvidí akékoľvek pravidlo firewallu alebo socket aplikácie. Táto kontrola existuje preto, aby sťažila určité vzory podvrhnutia, a preto na ňu narážajú asymetrické a politicky smerované návrhy, zatiaľ čo každý bežný klient v tej istej sieti funguje dobre. Bežní klienti majú symetrické smerovanie, čo je presne to, čo kontrola predpokladá.

Dôležité slovo je pravdepodobná. Paket môže byť úplne legitímny a napriek tomu kontrolou neprejsť, pretože sa neskúma legitímnosť.

Čítajte účinný režim, nie jedno pole

Existujú tri režimy: vypnutý, prísny a voľný. Prísny kladie iné očakávanie trasy ako voľný a globálne nastavenie pôsobí spolu s nastaveniami jednotlivých rozhraní, takže čítanie jediného súboru môže nesprávne opísať, čo v skutočnosti platí. Čítajte oboje a čítajte ich na rozhraní, ktoré prijíma odpoveď, nie na rozhraní predvolenej trasy.

sysctl net.ipv4.conf.all.rp_filter
sysctl net.ipv4.conf.<iface>.rp_filter
ip route get <source-of-the-reply>

Hľadanie trasy v treťom riadku je časť, ktorú ľudia preskakujú. Povie vám, čo si jadro o zdroji myslí, a to je presne vstup kontroly.

Nájdite nesúlad skôr, než zmeníte kontrolu

Zistite, prečo odpoveď prichádza na toto rozhranie a či sa má jej spätná trasa líšiť. Pravidlo politiky, ktoré posiela požiadavky jednou cestou a vracia odpovede inou, je legitímny návrh, a práve ten prísne overenie odmieta. Značky používané v politickom smerovaní tu môžu tiež zavážiť, pretože menia, čo spätné hľadanie vráti.

Ak spätná trasa jednoducho chýba, jej pridanie opraví príčinu namiesto vypnutia kontroly. Chýbajúca trasa, odmietnutie firewallom a nesprávny selektor prevádzky dávajú rovnaký viditeľný príznak a iba jeden z nich sa týka overenia zdroja.

Nevypínajte kontroly zdroja globálne ako prvú reakciu. Vymeníte tým konkrétnu diagnózu za širokú zmenu správania, ktorú si budete musieť neskôr pamätať.

Selektívna úprava, ktorú môžete obhájiť

Ak je úzka úprava naozaj potrebná, obmedzte ju na rozhranie, ktoré ju potrebuje, zapíšte prečo a vložte ju do konfigurácie, ktorá toto rozhranie vlastní, aby prežila reštart. Potom znova otestujte presne ten tok, ktorý zlyhal, z rovnakého zdroja na rovnaké miesto, namiesto pingu na niečo pohodlné.

Zahrňte prípad, ktorý má stále zostať odmietnutý. Ak tento prípad teraz prejde, úprava oslabila viac než jednu cestu, ktorú ste chceli opraviť.

Držte IPv4 a IPv6 oddelené

Známe vyzerajúci sysctl nie je politika pre každú rodinu adries. IPv6 má vlastné správanie a vlastné nastavenia a stroj môže byť prísny v jednej rodine a zhovievavý v druhej, bez toho, aby si to niekto všimol, kým nezačne zlyhávať konkrétny cieľ. Skontrolujte oboje, ak záťaž používa oboje.

Zapíšte režim, rozhranie, výstup hľadania trasy a dôvod zmeny na jedno miesto. Ďalší človek nájde nastavenie a žiadne vysvetlenie a buď ho odstráni, alebo skopíruje tam, kam nepatrí.

Súvisiace články