Ücretsiz bir VPN istemcisini veya bir tarayıcı uzantısını bir hafta denersiniz, kapatırsınız ve internet durur. Wi-Fi simgesi hâlâ bir bağlantı gösterir, aynı yönlendiricideki diğer cihazlar sorunsuzdur ve taramayı geri getiren tek şey uygulamayı yeniden etkinleştirmek ya da kaldırmaktır. Bu örüntü, şifrelemenin bir bağımlılık yaratması değildir. Uygulamanın tünelin sahip olmadığı bir yere yazdığı yapılandırmadır.

İstemci, tünelin sahip olmadığı ayarları düzenler

Windows veya macOS üzerindeki bir gizlilik istemcisi genellikle aynı anda üç yere dokunur. Sistem HTTP proxy'sini ayarlar; bu, Internet Options'un gösterdiği alanın aynısıdır. Paketleri yakalayabilmek için genellikle bir TAP sürücüsü olan sanal bir bağdaştırıcı kurar. Ve çözümleyici listesini yeniden yazar; oysa bağlantıyı kestiğinizde yalnızca tünel kaybolur.

Tarayıcı uzantısı daha dar bir şeydir. Normalde kendi profilini veya tek bir tarayıcının izlediği proxy'yi değiştirir. Bu yüzden tek bir tarayıcı başarısız olurken komut satırı araçları çalışmaya devam edebilir ya da tersi olur: uzantının diğer katmanlara dokunma yetkisi hiç olmamıştır. Hangi katmanı düzenlediği, hangi araçların bozulduğunu belirler.

Her iki durumda da o eski kararı, onu geri almaya hiçbir sebebi olmayan bir yazılım verdi. Tünel görünür kısımdı ve temiz bir kapatma yolu olan tek kısım da oydu. Geri kalan her şey, süreçten daha uzun yaşayan bir depodaki ayardır; bu yüzden uygulamayı kaldırmak üçünü birden tersine çeviren tek adımdır. Herhangi bir şeyi yeniden kurmadan önce o depoları okumak, belirtiyi teşhise çeviren şeydir.

Üç artık, üç farklı arıza

İlk artık, hiçbir yeri göstermeyen bir proxy'dir: LAN proxy kutusu hâlâ işaretli ya da artık hiçbir sürecin dinlemediği bir localhost bağlantı noktasına yönelen bir yapılandırma betiği adresi. Tarayıcı her isteği o ölü bağlantı noktasına iletir ve zaman aşımı ölü bir ağ gibi görünene kadar takılır. İkincisi, hâlâ varsayılan bir rotaya sahip olan bir bağdaştırıcıdır; çünkü bir TAP-Windows aygıtı veya satıcı yönlendirme sürücüsü, kaldırmadan sonra da gerçek bir arayüz olarak kalır. Kendisine verilen rotayı korur ve trafik, var olmayan bir tünelin içinde kaybolur. Artıkların hiçbiri kendini duyurmaz; ikisi de tam olarak bir kesinti gibi görünür.

Üçüncüsü DNS'tir ve diğer ikisinden daha erken başarısız olur. Çözümleyici listesi yalnızca tünel üzerinden erişilebilen sunucular içeriyorsa, tek bir sayfa istenmeden önce her arama zaman aşımına uğrar; bu yüzden tarayıcı ölü bir proxy yerine ulaşılamayan bir site bildirir. Hangisi sizde olursa olsun, hiçbiri ağ anlamında bir kesinti değildir. Her biri kimsenin geri almadığı bir artıktır ve her biri farklı bir yerde onarılır.

Dört katmanı sırayla aşağı inin

Uygulamaya en yakın olandan başlayın ve aşağı inin, çünkü katmanlar bu görünürlük sırasına göre başarısız olur. Her testte tek bir katmanı değiştirin ve her birinden sonra yeniden test edin. Her şeyi bir anda sıfırlamak genellikle taramayı geri getirir ve hangi artığın buna yol açtığını söyleyememenizle bırakır, böylece bir sonraki kurulum aynı bulmacayı yeniden yaratır. Sıra proxy, bağdaştırıcılar, rotalar, çözümleyicilerdir.

Windows'ta her kontrol, işletim sistemiyle birlikte gelen tek bir komuttur, bu yüzden hiçbir şeyin kurulması gerekmez. Bunları sırayla çalıştırın ve çıktıyı bir arada tutun, çünkü dört yanıt ancak yan yana anlam kazanır. Proxy'yi, bağdaştırıcıları, IPv4 rotalarını ve çözümleyici listesini bu sırayla bildirirler:

netsh winhttp show proxy
Get-NetAdapter
route print -4
Get-DnsClientServerAddress

Linux ve macOS kendi komutlarına ihtiyaç duyar ve bunlar birbirinin yerine geçmez. Linux'ta rotalar ip route'tan, çözümleyici ise systemd-resolved'ın sahip olduğu yerde resolvectl status'tan gelir; olmadığında cat /etc/resolv.conf'a düşer. macOS'ta rotalar netstat -rn'den, çözümleyiciler scutil --dns'ten ve sistem proxy'si scutil --proxy'den gelir. ip route çalıştıran bir macOS okuyucusu command not found alır ve oradaki /etc/resolv.conf, yetkili yapılandırma değil üretilmiş bir taslaktır. Katmanı kontrol etmeden önce platformu kontrol edin, yoksa ilk komut bulgunun kendisi olur.

Her katman için tek bir soru sorun: uygulama kapalıyken bu değer hâlâ var olan bir şeyi mi gösteriyor? Ölü bir bağlantı noktasındaki proxy, tüneli olmayan bir bağdaştırıcı, kapalı bir arayüzden geçen varsayılan rota ve tünelin içindeki bir çözümleyici, hepsi hayır yanıtını verir. Tek bir hayır belirtiyi açıklamaya yeter, bu yüzden her testte tek değişiklik önemlidir.

Proxy bir tünel değildir

Bir proxy isteği kabul eder, başka bir yerde çeker ve yanıtı geri verir; bu da hedefi bildiği ve sitenin kendisinin şifrelemediği her şeyi gördüğü anlamına gelir. Diğer protokolleri taşımaz. Hedef zaten TLS kullanmıyorsa yolu korumaz. Ve sizin katılımınız olmadan, onu kuran her ne ise onu değiştirebilir.

Bu ayrım, sorulmaya değer soruyu değiştirir. Bir proxy geride kaldığında, tünelin açık olup olmadığını değil, tarayıcınızı hâlâ hangi programın yönlendirdiğini bulun. Tünel tamamen sağlıklı ve arızayla bütünüyle ilgisiz olabilir.

Böyle bir istemcinin gerçekte ne yaptığını bilmek istiyorsanız, gösterge panosunu okumak yerine onu gözlemleyin. Process Monitor hangi kayıt defteri anahtarlarına ve dosyalara dokunduğunu kaydeder, bir paket yakalama ise trafiğinin nereye gittiğini ortaya çıkarır. İkisi de sıradan araçlardır ve ikisi de artık sorusunu herhangi bir durum ışığından daha iyi yanıtlar. Hiçbiri uygulamanın hâlâ çalışıyor olmasını gerektirmez.

Bileşeni kaldırın, kanıtı değil

Kalıcı çözüm, ayarı yazan şeyi kaldırmaktır. Uygulamayı kaldırın, eklediği sanal bağdaştırıcıyı silin, proxy'yi ve çözümleyici listesini temizleyin, ardından yeniden başlatın ve uygulama hâlâ kaldırılmışken test edin. O noktada tarama çalışıyorsa, bir geçici çözüm değil nedeni bulmuşsunuzdur. Hangi katmanın eskimiş olduğunu not edin, çünkü aynı satıcı aynı hatayı iki kez gönderme eğilimindedir.

Bir sonraki istemciyi kurduktan sonra belirti geri gelirse, hizmetin bir şeyi bozduğuna karar vermeden önce dört katmanı yeniden inin. Kanıt genellikle hâlâ oradadır, dört yerden birinde. İkinci bir uygulama beşinci bir katman yaratmaz; dördünden birini düzenler.

Yeniden kurmak proxy'yi sıfırlar ama eskimiş bir bağdaştırıcıyı sıfırlamaz ve listede iki çözümleyici bırakabilir. Bu asimetri, kaldırıp test etmenin her şeyi sıfırla düğmesini neden yendiğidir. Ayrıca bağlantı bir dahaki sefere düştüğünde karşılaştıracağınız bir temel verir.

İlgili makaleler