Et tarvitse oikeaa tiliä selvittääksesi, pitääkö kill switch; juuri sen testi asettaa vaaraan. Tarkistus luo lyhyen ikkunan, jossa liikenne voi tai ei voi poistua tunnelin ulkopuolelle, joten hyötykuorman pitäisi olla jotain, minkä voit menettää. Teen tämän nyt houkutussivulla ja varaselainprofiililla, ja se antaa selvemmän vastauksen kuin aiemmin käyttämäni selain-ja-verkkosähköpostirutiini. Seuraava etenee samassa järjestyksessä, jonka asiakas esittää: asetus, kohde, siirtymä ja sitten todisteet.

Testi vastaa yhteen kapeaan kysymykseen: voiko tämä sovellus tämän siirtymän aikana päästä verkkoon tunnelin ulkopuolelle? Se ei kerro mitään siitä, onko muu käytäntö järkevä. Pidä laajuus niin pienenä, ja tulos on kirjaamisen arvoinen.

Löydä kytkin ja sen laajuus asiakkaasta

Avaa asiakas ja etsi eston asetus ennen kuin muutat mitään verkon tilaa. Valmistajat kutsuvat sitä eri tavoin: kill switch, lukitustila, verkkolukko, estä liikenne tunnelin ulkopuolella. Nimike kertoo vähemmän kuin sen sisällä olevat valinnat. Ratkaisevaa on, päteekö esto aina vai vain silloin, kun sovellus päättää, että tunneli on juuri epäonnistunut, ja kattaako se kaikki sovellukset vai valitun luettelon.

Listaa sitten siirtymät, jotka asiakkaasi todella voi suorittaa. Käyttäjän käynnistämä katkaisu, sovelluksesta poistuminen ja yhteyden menettäminen palvelimeen ovat useimmissa asiakkaissa kolme eri koodipolkua, eivätkä ne jaa yhtä estokäytäntöä. Jotkut vapauttavat eston, kun sovellus sulkeutuu. Toiset jättävät suodatussäännöt asennetuiksi, kunnes jokin poistaa ne. Lue valmistajan asetusviite siltä versiolta, jota ajat, sen sijaan että olettaisit, ja kirjaa sitten, mitä kolmesta testaat.

Kirjaa myös profiili: protokolla, osoiteperheet ja onko jaettu tunnelointi käytössä. Väite koko laitteesta on merkityksetön, jos profiili jättää tarkoituksella pois muutaman sovelluksen, eikä määrittämäsi poissulkeminen ole vuoto. OpenVPN Connectin asetusviite on sellainen sivu, joka nimeää, mikä kytkin muuttaa mitäkin toimintaa, vaikka nimikkeet vaihtelevat asiakkaittain.

Valitse houkutuskohde, joka toimii myös ilman tunnelia

Houkutus tarvitsee kaksi ominaisuutta, ja kumman tahansa väliin jättäminen tuottaa lukukelvottoman tuloksen. Sen on oltava suoraan tavoitettavissa, kun tunneli on alas ja esto pois päältä, muuten ”se lakkasi vastaamasta” voi yksinkertaisesti tarkoittaa, että isäntä katosi. Eikä se saa vaatia kirjautumista, evästettä tai maksua, jotta vuoto maksaa sinulle lokirivin istunnon sijaan.

Staattinen sivu isännällä, jota hallitset, on puhdas valinta. Varavirtuaalikone, jossa on tavallinen HTTP-palvelin, on lähes yhtä hyvä, ja julkinen yhteydentarkistussivu toimii, jos hyväksyt, että sen saatavuus on hallintasi ulkopuolella. Kirjaa osoite, portti, osoiteperhe ja tarvitseeko pyyntö nimihaun, koska jokaisesta niistä tulee muuttuja, joka sinun on ehkä eristettävä myöhemmin.

Aseta perustaso ennen kuin kosket kytkintä. Kun tunneli on ylhäällä, houkutuksen on vastattava tunnelin kautta, mikä todistaa, että käytännön reitti toimii. Kun tunneli on alhaalla ja esto pois päältä, sen on vastattava suoraan, mikä todistaa, että kohde on elossa. Vasta silloin estetyn tilan virhe kertoo sinulle jotain.

Suorita siirtymät kiinteässä järjestyksessä

Ota siirtymät yksi kerrallaan ja anna kullekin muutama sekunti asettua, koska asiakkaat usein purkavat ja rakentavat sääntöjä uudelleen siinä välissä. Saman lyhyen tarkistuksen ajaminen joka kerta pitää havainnot vertailukelpoisina:

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

Sovelluksesta poistumisen rivi ansaitsee oman ajoituksensa, vaikka et koskaan sulkisi asiakasta normaalissa käytössä. Jos esto vapautuu poistuttaessa, kaatuminen tai pakotettu päivitys antaa sinulle saman altistuksen, ja se on tosiasia käyttöönotosta, ei kärsivällisyydestäsi. Windowsissa vastaavat koetukset ovat Resolve-DnsName decoy.example ja curl.exe -s -o NUL -w "%{http_code}" http://decoy.example/.

Erota esto rikkinäisestä ratkaisijasta

Sivulla, joka ei lataudu, on useita syitä, ja vain yksi niistä on toimiva kytkin. Jos nimi ei ratkea, olet oppinut, että DNS on estetty tai rikki, ettei datapolku ole estetty. Kokeile myös kirjaimellista osoitetta, jotta vastaus ei riipu lainkaan ratkaisemisesta.

curlin poistumiskoodit pitävät ne tapaukset erillään: 6 on nimen ratkaisun virhe, 7 tarkoittaa, että yhteys hylättiin, 28 on aikakatkaisu. Estetty reitti näkyy yleensä aikakatkaisuna tai hylkäyksenä kirjaimellista osoitetta vastaan. Pelkkä DNS-esto jättää 6:n ja kätkee kaiken muun. Välimuistiin tallennettu sivu tai vangitsemisportaali pettää silmän, siksi todiste on poistumiskoodi, ei näyttö.

Toista koe IPv6:n yli kirjaimellisella osoitteella. Esto, joka kattaa IPv4:n ja jättää IPv6:n huomiotta, on tarpeeksi yleinen ansaitakseen oman rivin muistiinpanoihisi, ja asiakkaan, joka poistaa IPv6:n käytöstä tunnelin ulkopuolella, pitäisi epäonnistua puhtaasti molemmissa perheissä.

Kirjaa laajuus, jonka tulos kattaa

Kun tunneli palaa, vahvista palautuminen: houkutus vastaa tunnelin kautta, ratkaisija palauttaa vastauksia ja käytäntö pysyy siinä, mihin jätit sen. Kumoa kokeet sen jälkeen. Paikalleen jäänyt tilapäinen palomuurisääntö, viritysreitti tai testiprofiili sekoittaa seuraavan ajon ja voi elää sovellusta pidempään.

Yksi kierros kattaa yhden asiakasversion, yhden profiilin, yhden siirtymän ja yhden osoiteperheen. Kirjoita ne neljä tuloksen kanssa:

  • Asiakasversio ja alusta, sekä onko asetus profiilikohtainen vai yleinen.
  • Profiili, protokolla ja mahdolliset jaetun tunnelin poissulkemiset.
  • Testattu siirtymä ja miten laukaisit sen.
  • Osoiteperheet ja DNS, curlin poistumiskoodeilla estetyn ja estämättömän tilan osalta.

Jos jokin rivi on tyhjä, testi ei ole valmis. Roaming tarkoittaa verkonvaihtorivin toistamista. Valvomaton uudelleenkäynnistys tarkoittaa sen tarkistamista, että säännöt palaavat, mikä on kysymys palautusjärjestyksestä, ei kytkimestä. Toista sarja asiakaspäivityksen jälkeen, koska kytkimet muuttuvat harvoin, kun taas niiden takana oleva toiminta muuttuu. Pidä houkutus lähellä: ei mitään kierrätettävää, ja seuraava tarkistus kestää viisi minuuttia.

Aiheeseen liittyvät artikkelit