Bir kill switch'in tutup tutmadığını öğrenmek için gerçek bir hesaba ihtiyacınız yok; testin riske attığı şey tam olarak hesabın kendisidir. Kontrol, trafiğin tünelin dışına çıkabileceği ya da çıkamayacağı kısa bir pencere yaratır, bu yüzden yük kaybetmeyi göze alabileceğiniz bir şey olmalıdır. Bunu artık yem bir sayfa ve yedek tarayıcı profiliyle yapıyorum ve yanıt, daha önce kullandığım tarayıcı ile web postası rutininden daha net oluyor. Aşağıda istemcinin sunduğu sırayı izliyorum: ayar, hedef, geçiş ve ardından kanıt.

Test tek bir dar soruyu yanıtlar: bu geçiş sırasında bu uygulama tünelin dışındaki ağa ulaşabiliyor mu? politikanın geri kalanının makul olup olmadığı hakkında hiçbir şey söylemez. Kapsamı bu kadar dar tutun, sonuç yazmaya değer.

İstemcide anahtarı ve kapsamını bulun

Herhangi bir ağ durumunu değiştirmeden önce istemciyi açın ve engelleme ayarını bulun. Üreticiler ona farklı adlar verir: kill switch, kilitleme modu, ağ kilidi, tünel dışı trafiği engelle. Etiket, içindeki seçeneklerden daha azını anlatır. Önemli olan, engellemenin her zaman mı yoksa yalnızca uygulama tünelin az önce başarısız olduğuna karar verdiğinde mi geçerli olduğu ve tüm uygulamaları mı yoksa seçili bir listeyi mi kapsadığıdır.

Ardından istemcinizin gerçekten gerçekleştirebildiği geçişleri listeleyin. Kullanıcı tarafından başlatılan bağlantı kesme, uygulamadan çıkma ve sunucuyla teması kaybetme çoğu istemcide üç ayrı kod yoludur ve tek bir engelleme politikasını paylaşmazlar. Bazıları uygulama kapanınca engellemeyi kaldırır. Diğerleri bir şey onları kaldırana kadar filtre kurallarını bırakır. Varsaymak yerine çalıştırdığınız sürüm için üreticinin ayar başvurusunu okuyun ve ardından üçünden hangisini test ettiğinizi yazın.

Profili de kaydedin: protokol, adres aileleri ve bölünmüş tünelin açık olup olmadığı. Profil birkaç uygulamayı bilerek dışlıyorsa tüm cihaz iddiası anlamsızdır ve kendi yapılandırdığınız bir dışlama sızıntı değildir. OpenVPN Connect ayar başvurusu hangi anahtarın hangi davranışı değiştirdiğini adlandıran türden bir sayfadır, gerçi etiketler istemciye göre değişir.

Tünelsiz de çalışan bir yem hedef seçin

Yemin iki özelliği olmalı ve birini atlamak okunamaz bir sonuç verir. Tünel kapalı ve engelleme devre dışıyken doğrudan erişilebilir olmalı, yoksa yanıt vermeyi bıraktığı bilgisi yalnızca ana makinenin gittiği anlamına gelebilir. Ayrıca oturum açma, çerez veya ödeme gerektirmemeli ki bir sızıntı oturum yerine bir günlük satırına mal olsun.

Kontrol ettiğiniz bir ana makinedeki statik sayfa en temiz seçimdir. Sade bir HTTP sunucusu çalıştıran yedek bir sanal makine neredeyse aynı derecede iyidir ve genel bir bağlantı denetim sayfası, kullanılabilirliğinin kontrolünüzün dışında olduğunu kabul ederseniz işe yarar. Adresi, bağlantı noktasını, adres ailesini ve isteğin ad çözümlemesi gerektirip gerektirmediğini not edin, çünkü bunların her biri sonra yalıtmanız gerekebilecek bir değişken olur.

Anahtara dokunmadan önce temel çizgiyi kurun. Tünel açıkken yem tünel üzerinden yanıt vermelidir, bu da politika rotasının çalıştığını kanıtlar. Tünel kapalıyken ve engelleme devre dışıyken doğrudan yanıt vermelidir, bu da hedefin canlı olduğunu kanıtlar. Ancak o zaman engellenmiş durumdaki bir başarısızlık size bir şey söyler.

Geçişleri sabit bir sırayla çalıştırın

Geçişleri tek tek yapın ve her birine yerleşmesi için birkaç saniye verin, çünkü istemciler kuralları çoğu zaman tam bu boşlukta yıkıp yeniden kurar. Her seferinde aynı kısa kontrolü çalıştırmak gözlemleri karşılaştırılabilir kılar:

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

Uygulamadan çıkma satırı, normal kullanımda istemciyi hiç kapatmasanız bile ayrı bir çalıştırmayı hak eder. Engelleme çıkışta kalkarsa bir çökme veya zorunlu güncelleme size aynı maruziyeti verir ve bu, sabrınızla değil dağıtımla ilgili bir gerçektir. Windows'ta eşdeğer sondalar Resolve-DnsName decoy.example ve curl.exe -s -o NUL -w "%{http_code}" http://decoy.example/.

Engellemeyi bozuk bir çözümleyiciden ayırın

Yüklenmeyen bir sayfanın birkaç nedeni vardır ve bunlardan yalnızca biri anahtarın çalışmasıdır. Ad çözümlenmiyorsa, veri yolunun engellendiğini değil, DNS'in engellendiğini veya bozuk olduğunu öğrenmişsinizdir. Yanıtın çözümlemeye hiç bağlı olmaması için gerçek bir adresi de yoklayın.

curl'ün çıkış kodları bu durumları ayırır. 6 ad çözümleme hatasıdır, 7 bağlantının reddedildiği anlamına gelir, 28 zaman aşımıdır. Engellenen bir rota genellikle gerçek bir adrese karşı zaman aşımı veya ret olarak görünür, yalnızca DNS engellemesi ise 6'yı bırakıp geri kalan her şeyi saklar. Önbelleğe alınmış bir sayfa veya yakalama portalı gözü yanıltır, bu yüzden kanıt ekran değil çıkış kodudur.

Sondayı IPv6 üzerinde gerçek bir adresle tekrarlayın. IPv4'ü kapsayıp IPv6'yı yok sayan bir engelleme, notlarınızda kendi satırını hak edecek kadar yaygındır ve tünel dışında IPv6'yı kapatan bir istemci her iki ailede de temiz biçimde başarısız olmalıdır.

Sonucun kapsadığı alanı kaydedin

Tünel geri geldiğinde toparlanmayı doğrulayın: yem tünel üzerinden yanıt verir, çözümleyici yanıtları döndürür ve politika bıraktığınız yerde durur. Sonra deneyleri geri alın. Yerinde bırakılan geçici bir güvenlik duvarı kuralı, bir hata ayıklama rotası veya bir test profili sonraki çalıştırmayı şaşırtır ve uygulamadan daha uzun yaşayabilir.

Tek bir geçiş bir istemci sürümünü, bir profili, bir geçişi ve bir adres ailesini kapsar. Bu dördünü sonuçla birlikte yazın:

  • İstemci sürümü ve platform, ve ayarın profil bazlı mı yoksa genel mi olduğu.
  • Profil, protokol ve bölünmüş tünel dışlamaları.
  • Test edilen geçiş ve onu nasıl tetiklediğiniz.
  • Adres aileleri ve DNS, engellenmiş ve engellenmemiş durumlar için curl çıkış kodlarıyla.

Herhangi bir satır boşsa test bitmemiştir. Dolaşım, ağ değişikliği satırının yinelenmesi anlamına gelir. Gözetimsiz yeniden başlatma ise kuralların geri gelip gelmediğini kontrol etmek anlamına gelir ve bu, anahtarla değil geri yükleme sırasıyla ilgili bir sorudur. İstemci güncellemesinden sonra diziyi yeniden çalıştırın, çünkü anahtarlar seyrek değişirken arkalarındaki davranış değişir. Yemi elinizin altında tutun: döndürülecek bir şey yok ve sonraki kontrol beş dakika sürer.

İlgili makaleler