Ověřte, že rozdělený tunel funguje: jeden výsledek IP není test
Zapište, které toky mají používat tunel a které mají zůstat přímé, a poté otestujte obě strany, rozdělení DNS a případ selhání.
Jediná stránka prohlížeče zobrazující adresu IP nedokazuje o rozděleném tunelu téměř nic. Viditelná adresa může být ta správná ze špatného důvodu a vyloučený tok jí nikdy neprojde. Zapište očekávaný výsledek před testem: která aplikace nebo cíl má tunel používat, která má zůstat přímá a co se má zastavit, když tunel selže. Bez tohoto plánu vypadá každé věrohodné číslo jako úspěch.
Mýtus: vyhledání adresy dokazuje pokrytí
Kontrola IP odpovídá na jednu otázku: co vnější svět vidí z jedné aplikace v jednom okamžiku. Neříká nic o interním prefixu, druhém profilu prohlížeče ani názvu, který se má překládat soukromě. Neříká nic ani o selhání, a to je právě ta polovina návrhu rozděleného tunelu, která se v provozu rozbíjí.
Stránka adresy také neumí ukázat trasu, resolver ani politiku selhání. Berte ji jako jedno pozorování, ne jako rozsudek.
Vyzkoušejte zahrnutý tok a vyloučený tok
Pošlete neškodný požadavek z aplikace, která má být zahrnuta, nebo na prefix, u kterého očekáváte směrování tunelem, a zaznamenejte zdroj, cíl, rodinu adres a pozorovanou cestu. Totéž udělejte pro tok, který má zůstat přímý. Vyloučená strana je ta, kterou lidé přeskakují, a je to jediný důkaz, že rozdělení je záměrné, a ne náhodné. Pomocný proces může nést samostatnou identitu politiky, proto testujte v procesu, který vlastní socket.
flow: Firefox to intranet.example:443, IPv4, source 10.8.0.6, tunneled
flow: Firefox to 1.1.1.1, IPv4, source 192.0.2.20, direct
Proto může test spuštěný ve špatné aplikaci ukázat opak toho, co návrh zamýšlí. Zapište čtyři pole pro obě strany, než vyvodíte jakýkoli závěr.
Přidejte DNS a případ selhání
Dotážete se systémového resolveru a resolveru, který používá aplikace, a potom tyto odpovědi porovnejte s výstupní adresou, kterou uvádí web. Obě vrstvy se mohou záměrně rozcházet a jedno vyhledání v prohlížeči neprověřuje politiku operačního systému. Shell dělá srovnání opakovatelným: Přerušte tunel úmyslně a potom pošlete požadavek, který prohlížeč nemá v mezipaměti; stránka ze mezipaměti vám neřekne nic o tom, kudy se vydala náhradní cesta. Zaznamenejte, co se skutečně stalo, místo toho, co návrh předpovídal.
curl -s https://ifconfig.me
nslookup intranet.example
Rozdělený tunel, který selhává zavřeně, a ten, který selhává otevřeně, vypadají stejně, dokud tunel úmyslně nepřerušíte. Zaznamenejte, jaké chování jste pozorovali, ne jaké jste očekávali.
Opakujte po změně stavu
Stejná pozorování zopakujte po opětovném připojení, změně sítě a příslušné aktualizaci aplikace. Uložené vyloučení může dál ukazovat na cestu nebo identitu aplikace, která už neexistuje, a návrh tiše přestává odpovídat své dokumentaci. Tyto tři události jsou místa, kde rozdělené tunely driftují, a každé z nich je levné znovu otestovat. Test, který běží jen jednou při nasazení, popisuje konfiguraci, která už neexistuje.
Pokud se výsledek liší, najděte vlastníka pravidla a fázi zpracování, než změníte několik nastavení najednou. Změnit pět věcí a pozorovat jeden výsledek není diagnóza, je to nová konfigurace.
Co má výsledek prokázat
Svažte pozorování s politikou a verzí klienta, které jste skutečně testovali. Cílem je ukázat, že toto nasazení odpovídá pokrytí, které deklaruje, ne že každá budoucí aplikace bude soukromá. To je užší tvrzení a je to to, které skutečně můžete doložit důkazy. Zapište tvrzení, verzi a výsledky čtyř polí do záznamu změn.
Pak další recenzent pozná, zda se změnil návrh, nebo test. Rozdělený tunel je ověřený, když obě strany, rozdělení resolveru a chování při selhání odpovídají tomu, co jste na začátku zapsali. Jeden výsledek IP neověřuje žádné z nich.