Da biste saznali drži li prekidač za blokiranje, nije vam potreban pravi nalog; upravo nalog test dovodi u rizik. Provera stvara kratak prozor u kojem saobraćaj može, ali i ne mora izaći izvan tunela, pa teret treba da bude nešto što možete izgubiti. Sada to radim sa mamcem i rezervnim profilom pregledača i dobijam jasniji odgovor nego sa ranijom postavkom pregledača i veb-pošte. U nastavku sledim isti redosled koji klijent nudi: podešavanje, odredište, prelaz, pa dokaz.

Test odgovara samo na jedno usko pitanje: tokom ovog prelaza, može li ova aplikacija da stigne do mreže izvan tunela? to ne govori ništa o tome da li je ostatak politike razuman. Držite obim toliko uskim i rezultat vredi da se zapiše.

Pronađite prekidač i njegov obim u klijentu

Otvorite klijent i pronađite podešavanje blokiranja pre nego što promenite bilo kakvo mrežno stanje. Proizvođači ga zovu različito: prekidač za blokiranje, režim zaključavanja, mrežna brava, blokiranje saobraćaja izvan tunela. Naziv govori manje od opcija unutar njega. Važno je da li se blokiranje primenjuje uvek ili samo kada aplikacija proceni da je tunel upravo otkazao, i da li pokriva sve aplikacije ili izabranu listu.

Zatim navedite prelaze koje vaš klijent zaista može da izvede. Isključivanje koje pokreće korisnik, izlazak iz aplikacije i gubitak kontakta sa serverom su tri različita puta u kodu kod većine klijenata i ne dele jednu politiku blokiranja. Neki oslobađaju blokiranje kada aplikacija izađe. Drugi ostavljaju filterska pravila dok ih nešto ne ukloni. Pročitajte referentni pregled podešavanja proizvođača za izdanje koje koristite umesto da pretpostavljate, pa zapišite koje od tri proveravate.

Zapišite i profil: protokol, porodice adresa i da li je uključen podeljeni tunel. Tvrdnja da je pokriven ceo uređaj besmislena je ako profil namerno isključuje nekoliko aplikacija, a isključenje koje ste sami podesili nije curenje. Referentni pregled podešavanja OpenVPN Connect-a je upravo takva stranica koja imenuje koji prekidač menja koje ponašanje, iako se oznake razlikuju od klijenta do klijenta.

Izaberite mamac odredište koje radi i bez tunela

Mamcu su potrebna dva svojstva, a preskakanje bilo kog daje nečitljiv rezultat. Mora biti dostupan direktno kada je tunel pao i blokiranje isključeno, inače to što je prestao da odgovara može jednostavno da znači da je domaćin nestao. I ne sme da traži prijavu, kolačić ili plaćanje, da bi curenje koštalo jednu liniju dnevnika umesto sesije.

Statična stranica na domaćinu koji kontrolišete je najčistiji izbor. Rezervna virtuelna mašina sa običnim HTTP serverom je skoro jednako dobra, a javna stranica za proveru povezivanja je u redu ako prihvatite da je njena dostupnost izvan vaše kontrole. Zapišite adresu, port, porodicu adresa i da li zahtev traži pretragu imena, jer svaka od njih postaje promenljiva koju kasnije možda morate da izolujete.

Uspostavite osnovnu liniju pre nego što dodirnete prekidač. Kada je tunel podignut, mamac mora da odgovara kroz tunel, što dokazuje da ruta po politici radi. Kada je tunel pao i blokiranje isključeno, mora da odgovara direktno, što dokazuje da je odredište živo. Samo tada neuspeh u blokiranom stanju nešto vam kaže.

Izvodite prelaze po fiksnom redosledu

Radite prelaze jedan po jedan i dajte svakom po nekoliko sekundi da se smiri, jer klijenti često ruše i ponovo grade pravila upravo u tom intervalu. Izvođenje iste kratke provere svaki put čini zapažanja uporedivim:

curl -sS -o /dev/null -w 'http=%{http_code}\n' --max-time 5 http://decoy.example/
echo "curl_exit=$?"
dig +short decoy.example
curl -6 -sS -o /dev/null -w 'v6_http=%{http_code}\n' --max-time 5 http://decoy.example/
echo "curl_v6_exit=$?"
TransitionExpected with the block onFailure signature
Manual disconnectDecoy stops answering within secondsDecoy still returns 200
Server or path failureBlocked, with no exemption for the old endpointDirect access during the gap
Quit the appClient-dependent; record what happensBlock disappears with the process
Wi-Fi to EthernetBlock holds until the tunnel returnsTraffic flows mid-change

Red sa izlaskom iz aplikacije zaslužuje posebno izvođenje čak i ako u normalnoj upotrebi nikada ne zatvarate klijent. Ako se blokiranje oslobodi pri izlasku, pad ili prisilno ažuriranje daju vam istu izloženost, a to je činjenica o raspoređivanju, ne o vašem strpljenju. Na Windows-u ekvivalentne probe su Resolve-DnsName decoy.example i curl.exe -s -o NUL -w "%{http_code}" http://decoy.example/.

Razlikujte blokiranje od pokvarenog rezolvera

Stranica koja ne može da se učita ima nekoliko uzroka, a samo jedan od njih je to što prekidač radi. Ako se ime ne razrešava, saznali ste da je DNS blokiran ili pokvaren, a ne da je put podataka blokiran. Proverite i bukvalnu adresu, da odgovor uopšte ne zavisi od razrešavanja.

Izlazni kodovi curl-a razdvajaju te slučajeve. 6 je neuspeh razrešavanja imena, 7 znači da je veza odbijena, 28 je istek vremena. Blokirana ruta obično se pojavljuje kao istek vremena ili odbijanje prema bukvalnoj adresi, a blokiranje samo DNS-a ostavlja 6 i krije sve ostalo. Keširana stranica ili portal za prijavu varaju oko, zato je dokaz izlazni kod, a ne ekran.

Ponovite probu preko IPv6 sa bukvalnom adresom. Blokiranje koje pokriva IPv4, a ignoriše IPv6 dovoljno je često da zasluži posebnu liniju u beleškama, a klijent koji isključuje IPv6 izvan tunela treba čisto da padne na obe porodice.

Zapišite obim koji rezultat pokriva

Kada se tunel vrati, potvrdite oporavak: mamac odgovara kroz tunel, rezolver vraća odgovore, a politika stoji tamo gde ste je ostavili. Zatim povucite eksperimente. Privremeno pravilo zaštitnog zida, ruta za otklanjanje grešaka ili test profil ostavljeni na mestu zbuniće sledeće izvođenje i mogu da nadžive aplikaciju.

Jedno prolazak pokriva jedno izdanje klijenta, jedan profil, jedan prelaz i jednu porodicu adresa. Zapišite ta četiri zajedno sa ishodom:

  • Izdanje klijenta i platforma, i da li je podešavanje po profilu ili globalno.
  • Profil, protokol i sva isključenja podeljenog tunela.
  • Testirani prelaz i kako ste ga izazvali.
  • Porodice adresa i DNS, sa izlaznim kodovima curl-a za blokirano i neblokirano stanje.

Ako je bilo koja linija prazna, test nije završen. Roming znači ponavljanje reda sa mrežnom promenom. Neposmatrano ponovno pokretanje znači proveru da li se pravila vraćaju, a to je pitanje o redosledu vraćanja, ne o prekidaču. Ponovite niz posle ažuriranja klijenta, jer se prekidači retko menjaju, dok se ponašanje iza njih menja. Čuvajte mamac: nema šta da se rotira, a sledeća provera traje pet minuta.

Povezani članci