Yönetici hakları olmadan taşınabilir VPN istemcisi: hâlâ ne bozuluyor
Taşınabilir bir VPN istemcisi yükleyiciyi atlayabilir ve yine de bir tünel aygıtına, bir rotaya ve çözümleyiciye bir yazmaya ihtiyaç duyabilir. Ona güvenmeden önce bu testleri çalıştırın.
Taşınabilir, yükleyiciyi tanımlar, çekirdeği değil. Bir istemci USB'de tek bir çalıştırılabilir dosya olarak gelebilir ve ilk paket hareket etmeden önce yine de bir tünel aygıtına, yönlendirme tablosuna bir girdiye ve çözümleyiciye bir yazmaya ihtiyaç duyabilir. Bu üçünden hangisine hedef makinenin dokunmanıza izin vereceği, o derlemenin orada hiç çalışıp çalışmadığını belirler. Aşağıdaki testler soruyu istemcinin karşılaşacağı sırayla yanıtlar.
Taşınabilirlik üç farklı vaadi kapsar ve yalnızca biri ücretsizdir
Yükleyici olmaması, satıcının bir hizmet kaydetmediği, kaldırıcı göndermediği ve menü girdisi eklemediği anlamına gelir. Yönetici olmaması, sıradan bir hesabın istemciyi başlatıp bir bağlantıyı tamamlayabildiği anlamına gelir. Ana makinede değişiklik olmaması, siz çıktıktan sonra makinenin aynı göründüğü anlamına gelir. Taşınabilir diyen indirme sayfaları genellikle bunlardan yalnızca ilkini vaat eder ve diğer ikisi dağıtımların başarısız olduğu yerdir. Bir derleme dar anlamda da taşınabilir olabilir: herhangi bir nokta dosyası yazımı olmadan salt okunur ortamdan çalışır, bu da ağ yığını hakkında hâlâ hiçbir şey söylemez.
Pahalı vaatler ikinci ve üçüncüdür. Bir bağdaştırıcıya, bir rotaya veya çözümleyiciye bir yazmaya ihtiyaç duyan tek bir çalıştırılabilir dosya, işletim sisteminden taşınabilir etiketinin hiçbir zaman kapsamadığı bir yetki ister.
İstemcinin çağıracağı ayrıcalıklı yardımcıyı bulun
Neredeyse hiçbir VPN istemcisi paketleri kendi başına hareket ettirmez. Windows'ta veri yolu WFP filtrelerinden ve Base Filtering Engine'den geçer, macOS'ta kullanıcının Sistem Ayarları'nda onayladığı bir NetworkExtension sağlayıcısından geçer ve Linux'ta bir tun aygıtı ile yönlendirme yığınından geçer. Kopyaladığınız ikili dosya bu bileşenler için bir denetim yüzeyidir, onların yerine geçmez. İstemcinin hangi bileşeni beklediğini sorun, ardından kurulu olduğunu, çalıştığını ve hesabınız tarafından kullanılabildiğini doğrulayın.
Bunu kanıtlamak için Linux en kolay yerdir, çünkü denetim tek bir sistem çağrısıdır. /dev/net/tun dosyasını açmak ve çekirdekten bir aygıt istemek CAP_NET_ADMIN gerektirir ve çekirdeğin TUN/TAP belgeleri hem sahiplik kuralını hem de yeteneği belirtir. Testi istemciyi başlatacak hesapla çalıştırın, root olarak değil.
ls -l /dev/net/tun
ip tuntap add dev vpntest mode tun
ip link delete vpntest
Orta satırdaki izin hatası aradığınız cevaptır: bu hesap bir tünel arayüzü oluşturamaz, bu nedenle buna ihtiyaç duyan her kullanıcı alanı istemcisi indirme sırasında değil bağlanma sırasında başarısız olur. Son satır test aygıtını kaldırır ve çalıştığında hiçbir şey yazdırmaz. İki satır da başarılı olursa, ana makine kalıcı olarak hiçbir şeyi değiştirmedi.
İlk bağlantıdan önce rota ve çözümleyici değişikliklerini test edin
Bölünmüş tünel bir bağlantıyı yönlendirme kararına dönüştürürken, tam tünel onu varsayılan rotanın yerine geçmeye dönüştürür. Her ikisi de ana makinenin ağ yığınına yazmadır ve her ikisi de ayrıcalığı olmayan bir hesap için istemci kendisi temiz başlasa bile başarısız olur. Çözümleyici üçüncü yazmadır ve systemd ana makinelerinde genellikle en son bozulan odur. Yükseltilmiş bir kurulumu nereye harcayacağınıza karar verirken bu sıra önemlidir.
Bir rota testi gerçekten önemsediğiniz bir hedefe ihtiyaç duyar, bu yüzden aşağıdaki yer tutucuyu kendi profilinizden bir alt ağ ile değiştirin. Rotanın bir şeye bağlanabilmesi için aygıt adının var olması gerekir.
ip route add 10.20.0.0/16 dev vpntest
ip route del 10.20.0.0/16
resolvectl query intranet.example.internal
İlk satır RTNETLINK answers: Operation not permitted döndürürse, hesap profilin gerektirdiği özel rotayı kuramaz. İkinci satır aynı hakkı tersten kanıtlar; bu önemlidir çünkü rota ekleyebilen ama kaldıramayan bir istemci arkasında bozuk bir tablo bırakır. Ardından çözümleyici sorgusu, özel adların tünel üzerinden mi çözüldüğünü yoksa ana makinenin zaten güvendiği çözümleyiciye mi sızdığını gösterir.
Test aygıtı hâlâ varken üçünü de çalıştırın, sonra onu silin. Var olmayan bir aygıta işaret eden rota, başarısız bir bağlantıdan sonra dizüstü bilgisayarın bağlantıyı kaybetmesinin en yaygın nedenidir.
Oturumdan neyin sağ çıkması gerektiğine karar verin
Klasörü silmek bir temizlik planı değildir. Bağdaştırıcılar, rotalar, çözümleyici ayarları, güvenilen sertifikalar ve depolanan kimlik bilgileri her biri süreçten daha uzun yaşayabilir ve açılışta çalışan bir hizmet bazılarını sormadan geri getirebilir. İstemciyi çalıştırmadan önce arkasında ne bırakmasına izin verildiğini yazın, ilk başarısız bağlantı kesintisinden sonra değil.
Pratik kural, değiştirmek üzere olduğunuz üç yüzeyin anlık görüntüsünü almak ve sonra bunları karşılaştırmaktır. İlk bağlantıdan önce arayüzleri, ana yönlendirme tablosunu ve çözümleyicinin durumunu kaydedin, ardından istemci çıktıktan sonra aynı üç okumayı yineleyin.
ip -brief addr show
ip route show table main
resolvectl status
İkinci yakalamada bulunan ve birincide bulunmayan her şeyin bir sahibi olması gerekir. Ya istemci çıkışta onu kaldırır ya da siz onu oluşturan aynı komutlarla kaldırırsınız ve bu kaldırma dağıtım notlarına aittir, birinin ne olduğuna dair hatırasına değil. Windows'ta eşdeğer okumalar Get-NetAdapter, Get-NetRoute ve Get-DnsClientServerAddress'dir; yükseltme gerektirmezler ama aynı kalıntıları gösterirler.