Да бисте сазнали да ли прекидач за блокирање држи, није вам потребан прави налог; управо налог тест доводи у ризик. Провера ствара кратак прозор у ком саобраћај може, али и не мора да изађе изван тунела, па терет треба да буде нешто што можете да изгубите. Сада то радим са мамцем и резервним профилом прегледача и добијам јаснији одговор него са ранијом поставком прегледача и веб-поште. У наставку следим исти редослед који клијент нуди: подешавање, одредиште, прелаз, па доказ.

Тест одговара само на једно уско питање: током овог прелаза, може ли ова апликација да стигне до мреже изван тунела? то не говори ништа о томе да ли је остатак политике разуман. Држите обим толико уским и резултат вреди да се запише.

Пронађите прекидач и његов обим у клијенту

Отворите клијент и пронађите подешавање блокирања пре него што промените било какво мрежно стање. Произвођачи га зову различито: прекидач, режим закључавања, мрежна брава, блокирање саобраћаја изван тунела. Назив говори мање од опција унутар њега. Важно је да ли се блокирање примењује увек или само када апликација процени да је тунел управо отказао, и да ли покрива све апликације или изабрану листу.

Затим наведите прелазе које ваш клијент заиста може да изведе. Искључивање које покреће корисник, излазак из апликације и губитак контакта са сервером су три различита пута у коду код већине клијената и не деле једну политику блокирања. Неки ослобађају блокирање када апликација изађе. Други остављају филтерска правила док их нешто не уклони. Прочитајте референтни преглед подешавања произвођача за издање које користите уместо да претпостављате, па запишите које од три проверавате.

Запишите и профил: протокол, породице адреса и да ли је укључен подељени тунел. Тврдња да је покривен цео уређај бесмислена је ако профил намерно искључује неколико апликација, а искључивање које сте сами подесили није цурење. Референтни преглед подешавања OpenVPN Connect-а је управо таква страница која именује који прекидач мења које понашање, иако се ознаке разликују од клијента до клијента.

Изаберите мамац одредиште које ради и без тунела

Мампцу су потребна два својства, а прескакање било ког даје нечитљив резултат. Мора да буде доступан директно када је тунел пао и блокирање искључено, иначе то што је престао да одговара може једноставно да значи да је домаћин нестао. И не сме да тражи пријаву, колачић или плаћање, да би цурење коштало једну линију дневника уместо сесије.

Статична страница на домаћину који контролишете је најчистији избор. Резервна виртуелна машина са обичним HTTP сервером је скоро једнако добра, а јавна страница за проверу повезивања је у реду ако прихватите да је њена доступност изван ваше контроле. Запишите адресу, порт, породицу адреса и да ли захтев тражи претрагу имена, јер свака од њих постаје променљива коју касније можда морате да изолујете.

Успоставите основну линију пре него што додирнете прекидач. Када је тунел подигнут, мамац мора да одговара кроз тунел, што доказује да рута по политици ради. Када је тунел пао и блокирање искључено, мора да одговара директно, што доказује да је одредиште живо. Само тада неуспех у блокираном стању нешто вам каже.

Изводите прелазе по фиксном редоследу

Радите прелазе један по један и дајте сваком по неколико секунди да се смири, јер клијенти често руше и поново граде правила управо у том интервалу. Извођење исте кратке провере сваки пут чини запажања упоредивим:

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

Ред са изласком из апликације заслужује посебно извођење чак и ако у нормалној употреби никада не затварате клијент. Ако се блокирање ослободи при изласку, пад или присилно ажурирање дају вам исту изложеност, а то је чињеница о распоређивању, не о вашем стрпљењу. На Windows-у еквивалентне пробе су Resolve-DnsName decoy.example и curl.exe -s -o NUL -w "%{http_code}" http://decoy.example/.

Разликујте блокирање од поквареног резолвера

Страница која не може да се учита има неколико узрока, а само један од њих је то што прекидач ради. Ако се име не разрешава, сазнали сте да је DNS блокиран или покварен, а не да је пут података блокиран. Проверите и буквалну адресу, да одговор уопште не зависи од разрешавања.

Излазни кодови curl-а раздвајају те случајеве. 6 је неуспех разрешавања имена, 7 значи да је веза одбијена, 28 је истек времена. Блокирана рута обично се појављује као истек времена или одбијање према буквалној адреси, а блокирање само DNS-а оставља 6 и крије све остало. Кеширана страница или портал за пријаву варају око, зато је доказ излазни код, а не екран.

Поновите пробу преко IPv6 са буквалном адресом. Блокирање које покрива IPv4, а игнорише IPv6 довољно је често да заслужи посебну линију у белешкама, а клијент који искључује IPv6 изван тунела треба чисто да падне на обе породице.

Запишите обим који резултат покрива

Када се тунел врати, потврдите опоравак: мамац одговара кроз тунел, резолвер враћа одговоре, а политика стоји тамо где сте је оставили. Затим повуците експерименте. Привремено правило заштитног зида, рута за отклањање грешака или тест профил остављени на месту збуниће следеће извођење и могу да надживе апликацију.

Једно пролажење покрива једно издање клијента, један профил, један прелаз и једну породицу адреса. Запишите та четири заједно са исходом:

  • Издање клијента и платформа, и да ли је подешавање по профилу или глобално.
  • Профил, протокол и сва искључивања подељеног тунела.
  • Тестирани прелаз и како сте га изазвали.
  • Породице адреса и DNS, са излазним кодовима curl-а за блокирано и неблокирано стање.

Ако је било која линија празна, тест није завршен. Роаминг значи понављање реда са мрежном променом. Непосматрано поновно покретање значи проверу да ли се правила враћају, а то је питање о редоследу враћања, не о прекидачу. Поновите низ после ажурирања клијента, јер се прекидачи ретко мењају, док се понашање иза њих мења. Чувајте мамац: нема шта да се ротира, а следећа провера траје пет минута.

Повезани чланци