Dva ugniježđena tunela ne čine vas anonimnim. Oni dijele zapažanja između dva provajdera, pa nijedan ne vidi vašu kućnu adresu i vaše odredište zajedno. To je stvarna, ali uska korist, i dolazi s problemima rutiranja, DNS-a i MTU-a koji se pojave prvi put kad se na nju oslonite.

1. Odlučite čemu služi drugi skok

Zapišite cilj u jednoj rečenici prije nego što bilo šta konfigurišete. Ako je cilj da vaš ISP ne može vidjeti koje sajtove posjećujete, jedan tunel to postiže. Ako je cilj da nijedan provajder ne može povezati vašu adresu s vašim saobraćajem, to čine dva. Ako je cilj da vas niko ne može identificirati, nikakav broj skokova to ne postiže.

Lanac je samo onoliko jak koliko su jaki zapisi slabijeg provajdera i računi koje oba vode. Plaćanja, e-pošta za registraciju i telemetrija aplikacije stoje potpuno izvan tunela.

2. Učinite unutrašnji kraj dostupnim kroz vanjski tunel

Uobičajeni neuspjeh je da se unutrašnji tunel nikad ne uspostavi. Vanjska veza s punim tunelom posjeduje zadanu rutu, pa pokušaj unutrašnjeg klijenta da dosegne vlastiti kraj bude progutao vanjskim tunelom i odbačen ili vraćen u petlju. Unutrašnji kraj treba izričitu rutu kroz vanjski interfejs, postavljenu prije pokretanja unutrašnjeg klijenta. Inače se rukovanje utrkuje s rutom i gubi.

WireGuard pokazuje isti sukob iz drugog smjera. Svaki peer ima AllowedIPs koji odlučuje koja odredišta ulaze u taj tunel, pa unutrašnji interfejs koji traži svaku adresu traži i vanjski kraj, osim ako ne pobijedi preciznija ruta. Preklapajući AllowedIPs na dva interfejsa je konfiguracija u kojoj jedna strana tiho gubi.

Lančanje kontejnera čini razdvajanje izričitim, a zamku očitom. Kontejner s vlastitim imenskim prostorom, vlastitom zadanom rutom i klijentom unutra prosljeđuje ono što mu host pošalje; host sam ne počinje koristiti taj put. Uključite prosljeđivanje, dodajte rutu za tunel kontejnera i usmjerite uslugu na adresu kontejnera.

3. Držite DNS na istom putu

DNS mora putovati kuda putuje saobraćaj. Ako unutrašnji provajder nudi rezolvere, a host još pita lokalne, ti upiti otkrivaju tačno one sajtove koje je tunel trebalo sakriti. Provjeravajte snimkom na svakom interfejsu tunela umjesto da vjerujete panelu stanja klijenta. Curenje je ovdje nevidljivo tokom normalnog pregledanja, a očito u snimku.

Podijeljeni DNS dizajni to otežavaju, jer upit za lokalno ime može legitimno pripadati izvan tunela. Napišite listu izuzetaka namjerno, umjesto da je otkrivate po tome koji je rezolver slučajno odgovorio.

4. Postavite MTU prije nego što korisnici to otkriju umjesto vas

MTU je druga predvidiva žrtva. Dvije enkapsulacije oduzimaju dva zaglavlja, a vanjski tunel koji je već snizio MTU puta ostavlja manje prostora unutra. Simptomi su poznati: mali zahtjevi prolaze, veliki prenosi i TLS rukovanja zapinju.

ip link set dev wg1 mtu 1280 je grubo rješenje, a ograničavanje MSS-a na prosljeđivaču je urednije. Ponovni pokušaj veze nije nikakvo rješenje.

5. Testirajte otkaz koji ćete zaista dobiti

Namjerno prekinite vanjski tunel i gledajte šta se dogodi. Lanac koji tiho padne na direktan put kad vanjski skok umre gori je od nikakvog lanca, jer curi baš u trenutku kad ste vjerovali da ste pokriveni. Cilj je kill switch koji zaustavlja sav saobraćaj. Zapišite rezultat, jer ga nećete htjeti ponovo otkrivati usred incidenta.

Latencija i druga tačka otkaza stalni su trošak. Dva skoka znače i dva reda podrške kad se nešto pokvari u nezgodno vrijeme.

Povezani članci