Bir uygulamayı tünelden geçirmek, yönlendirmesini o uygulamanın başlattığı her şeye taşımaz, arayüz tersini ima etse bile. Bağlantı, isteği başka bir programa devreder, o program kendi soketini açar ve platform kuralları metni gösteren sürece değil, yeni sürece uygular. Tünel ilkesinin gerçekte gördüğü o ikinci süreçtir ve o, yapılandırdığınız süreç değildir.

Bu nedenle dahil edilen bir uygulama tünelin dışında duran bir tarayıcı açabilir. Dışlanan bir tarayıcı işi içinde duran bir uygulamaya geri verebilir. Bu sürprizin iki yönü de olağan davranıştır.

İş akışının kimsenin yapılandırmadığı kısmı

Uygulama başına ilke, çalıştırılabilir bir dosyanın ya da paketin kimliğine göre yazılır ve her bağlantı oluştuğu anda değerlendirilir. Tarayıcı, belge görüntüleyici, medya oynatıcı ve sistemin paylaşım sayfası her biri kendi kimliğini taşır ve her biri kendi hükmünü alır. Derin bir bağlantı veri taşır, ilke değil.

Bu yüzden gözlem keyfi görünür: aynı tıklama, hangi işleyicinin yanıt verdiğine göre iki yöne yönlendirilir. Tünelin içindeki posta istemcisi bağlantıyı tünelin dışında yaşayan bir tarayıcıda açar ve sayfa ev adresinizden yüklenir. Tünelin dışındaki tarayıcı bir belgeyi onun içinde yaşayan görüntüleyicide açar ve dosya çıkıştan gelir. İki sonuçtan hiçbiri istemcide bir arıza değildir.

Zaten çalışan bir işleyici durumu daha da kötüleştirir. Tarayıcı zaten açıksa bağlantı mevcut bir sürece ileti haline gelir ve o süreç başlarken sahip olduğu yönlendirmeyi korur. İşleyiciyi kapatıp yeniden açmak sonucu değiştirir, bu yüzden sorun istendiğinde asla yinelenmez.

PlatformPolicy objectWhat it is evaluated against
AndroidPer-app VPN allowlistPackage name of the process opening the socket
WindowsApplication traffic filtersApplication path in the filter rule
LinuxUID or cgroup routing rulesOwner of the socket, which can be a different program

Bağlantıyı gerçekte hangi süreç kurdu

Akıl yürütmek yerine alan tarafı ölçün. Tüneli açık tutun, zararsız bir bağlantıya tıklayın ve yeni programın tuttuğu soketlere bakın.

ss -tnp state established '( dport = :443 )'
Get-NetTCPConnection -State Established | Select-Object RemoteAddress,OwningProcess

İlk komut Linux'ta kurulan her soketin arkasındaki süreci adlandırır, ikincisi Windows'ta sahibi olan sürecin tanımlayıcısını çözerek aynısını yapar. Süreç adını ilkenizdeki adlarla karşılaştırın. Ad tarayıcıysa ve tarayıcı dışlandıysa, tıklama tüneli bir arıza yüzünden değil tasarım gereği terk etmiştir. Bir ilke kuralını canlı bir soketle eşleştirmek yöntemin tamamıdır.

Denetimi işleyici zaten çalışırken, sonra kapalıyken yineleyin. İki sonuç farklı olabilir ve bu fark, tünelden kaçan bağlantılarla ilgili aralıklı raporların çoğunu açıklar.

Kapsam bir iş akışı özelliğidir

Bir görev baştan sona tünelin içinde kalmalıysa, ulaşabildiği her bileşen ilkenin içinde olmalıdır: başlatıcı, işleyici, görüntüleyici ve platformun aralarına koyduğu her aracı. Daha geniş kapsam çoğu zaman dürüst yanıttır ve her paylaşım hedefini denetlemekten daha ucuzdur.

Tek bir uygulamayı onarmak için bir sistem aracısını dışlamak yaygın bir hatadır. Aracılar paylaşılır, bu yüzden dışlama aynı yolu kullanan her diğer uygulamayı izler, genellikle haftalar sonra bir rapor gelene kadar kimse fark etmez. Bileşeni dışlamadan önce ona başka neyin bağlı olduğunu okuyun.

Kimliği yönlendirmeden ayrı tutun. Bir bağlantı, isteği hangi çıkışın aldığından bağımsız olarak bir oturum belirteci veya hesap tanımlayıcısı taşıyabilir. Doğru yönlendirilmiş bir tıklama yine de hedefe onu tam olarak kimin izlediğini söyleyebilir.

İş akışını belgeleyin, ilk onay kutusunu değil. Bir görev dört programı kapsadığında, dört programın bulunduğu şema trafiğin nereye gideceğini öngören şemadır ve tek uygulama ayarı onun yalnızca bir satırıdır.

İlgili makaleler