Peer VPN pinguje iné rozhrania, pretože sú lokálne
Lokálna smerovacia tabuľka posiela pakety na každú adresu, ktorú hostiteľ vlastní, bez ohľadu na to, na ktorom rozhraní sa nachádza. Nastavenia preposielania nikdy nevstúpia na túto cestu.
Klient WireGuard sa pripojí a pinguje adresu na úplne inom rozhraní a odpoveď dorazí. Zachytenia ukazujú požiadavku iba na tuneli. Nič nie je pokazené a starostlivo vypnuté nastavenie preposielania s tým nemá nič spoločné. Ide o porovnanie dvoch ciest, ktoré na diagrame vyzerajú rovnako a v jadre sú úplne odlišné.
Jedna cesta preposiela pakety za niekoho iného, druhá ich doručuje samotnému hostiteľovi.
Paket adresovaný hostiteľovi zostáva v hostiteľovi
Vzdialený klient odošle IP paket na adresu, ktorú hostiteľ vlastní. Smerovanie kladie jednu otázku o tomto pakete: je tento cieľ lokálny? Každá adresa, ktorú hostiteľ drží, sa objavuje v lokálnej smerovacej tabuľke a táto tabuľka sa prezerá pred hlavnou, takže paket ide do vlastného zásobníka hostiteľa, namiesto toho aby vyšiel iným rozhraním. Odpoveď sa generuje lokálne a vracia sa tunelom, pretože odtiaľ požiadavka prišla.
To je celý mechanizmus. Nedochádza k žiadnemu preposielaniu, nezúčastňuje sa žiadna zmena stavu rozhrania a dotyčná adresa nemusí byť dosiahnuteľná odnikiaľ inak.
Prečo sa ip_forward neuplatní
Preposielanie riadi pakety, ktoré musia odísť iným rozhraním, než na akom dorazili. Ping na samotného hostiteľa nikdy nejde touto cestou: paket sa spotrebuje lokálne a odpoveď sa vygeneruje lokálne. Preto nastavenie net.ipv4.ip_forward=0 tu nič nemení a pravidlo v reťazci preposielania ten prenos nikdy nevidí. Správna kontrola je na vstupnej ceste, obmedzená vstupným rozhraním alebo zdrojom.
Preto vypnutie preposielania a predpoklad, že hostiteľ je izolovaný, vytvára falošný pocit bezpečia.
Prečítajte si lokálnu tabuľku, ktorá rozhodla
ip rule show zvyčajne hlási pravidlo s prioritou nula, ktoré posiela všetky vyhľadávania najprv do lokálnej tabuľky, a ip route show table local vypisuje vlastné adresy hostiteľa s lokálnym rozsahom. Táto tabuľka zahŕňa adresy na rozhraniach, ktoré sú administratívne vypnuté, ale stále nakonfigurované. Adresy IPv4 pridelené staticky zvyčajne prežijú výpadok spojenia, a práve preto ping na vypnutý most môže stále uspieť a prekvapiť operátora.
IPv6 sa v tomto bode rozchádza. Jeho adresy sa zvyčajne stiahnu, keď spojenie vypadne, ak nie je nastavené keep_addr_on_down. Porovnávajte rodiny, namiesto toho aby ste predpokladali, že jedno pravidlo pokrýva obe.
Čo peer skutočne dosiahne
Odpoveď z vlastnej adresy smerovača v segmente nehovorí nič o strojoch za týmto segmentom. Peer sa touto cestou nedostane k hostiteľovi za druhým rozhraním; dosiahne len adresy, ktoré vlastní samotný smerovač. Testovanie služby na samostatnom hostiteľovi v LAN, namiesto pingovania adresy smerovača, je to, čo určí, či je preposielanie vôbec povolené.
Obmedziť peer na služby viazané na adresu tunela je otázka vstupnej politiky. Povoľte požadovanú službu na rozhraní tunela a obmedzte zdroje, ktoré ju smú používať, pretože paket tam skutočne dorazí.
Skontrolujte aj adresy, ktoré ste chceli vyradiť. Odstránenie adresy z rozhrania je spoľahlivejšie než vrstvenie pravidiel firewallu na zastaranú adresu.