root, bir sürecin hangi ağ işlemlerini denemesine izin verildiğini değiştirir. Telefona herkese açık erişilebilir bir adres vermez, operatörde gelen eşleme ayırmaz ve yeniden başlatmadan sonra bir arka plan hizmetini canlı tutmaz. Bir Android telefonun VPN sunucusu olarak çalışıp çalışamayacağına karar veriyorsanız üç soruyu ayırın: amaçlanan istemci dinleyiciye hiç ulaşabiliyor mu, sunucu uygulaması hangi ayrıcalık modeline ihtiyaç duyuyor ve tünel ayağa kalktıktan sonra ne yönlendirilmeli.

Telefona kim, nereden ulaşmalı

Aynı izin verilen LAN üzerindeki istemci ile mobil veri üzerindeki istemci iki farklı ağı test eder. Önce amaçlananı belirleyin, çünkü yanıtlar birbirine geçmez. Wi-Fi'de istenmeyen gelen trafik genellikle üst yönlendiricide bir eşleme ve onun ötesinde kullanılabilir bir genel yol gerektirir. Hücreselde operatör düzeyi NAT, gelen IPv4'ün çoğu zaman kullanılamaz olduğu anlamına gelir; telefon neye izin verirse versin.

root'un dokunamadığı şey tam olarak bu son noktadır. Telefonun yerel güvenlik duvarı ile operatörün NAT'ı farklı sistemlerdir ve birincisini değiştirmenin ikincisine etkisi yoktur. Özel bir arayüz adresi, mobil veri simgesi veya dinleyen bir soket erişilebilirliğin kanıtı değildir. Operatör yolu yine de küresel olarak yönlendirilebilir IPv6 sunuyorsa, bunun için yine de bilinçli bir dinleyici ve güvenlik duvarı politikası gerekir; bir adrese sahip olmak bağlantı kabul etmekle aynı şey değildir.

Client pathWhat actually decides reachability
Same LANThe phone's listener and its local firewall
Wi-Fi, from the internetA mapping on the upstream router plus a usable public path beyond it
Cellular IPv4The carrier's NAT, which the handset does not control
Cellular IPv6Address, listener and firewall policy together

Hizmet vermek ve yönlendirmek iki farklı başarıdır

Tamamlanmış bir VPN el sıkışması tünelin var olduğunu kanıtlar. İstemcinin telefonun arkasındaki bir LAN'a ulaşabildiğini ve telefonun internet çıkışı olarak hizmet verebildiğini kanıtlamaz. Bunlar, iç adres planı, yollar, dönüş davranışı ve gerçekten istediğiniz görev için dar kapsamlı bir yönlendirme politikası üzerine kurulu ayrı yapılandırmalardır.

Arıza biçimi öngörülebilirdir: el sıkışma başarılı olur, istemci bağlı görünür ve hiçbir şey yüklenmez. İstemcide hata ayıklamadan önce iki rolden hangisini kurduğunuza karar verin. Telefonun ağındaki bir cihaza uzaktan erişim ile tam tünelli internet çıkışı farklı yönlendirme kuralları gerektirir ve birini isterken ikisini de vermek istediğiniz yeteneği eklemeden maruziyeti genişletir.

Ayrıcalık modeli bir seçimdir, root ya da hiçbir şey değildir

Çekirdek TUN aygıtı kullanan geleneksel bir OpenVPN arka plan hizmeti ilgili yeteneklere, aygıt düğümüne erişime ve Android'in güvenlik politikasının işbirliğine ihtiyaç duyar. root, SELinux'tan genel bir muafiyet değildir; ayrıcalıklı bir süreç yine de platform politikasıyla sınırlıdır. Bu yüzden bir Linux sunucusunda sorunsuz çalışan bir ikili dosya telefonda izinlerle ilgili belirgin bir hata olmadan başarısız olabilir.

Kullanıcı alanında çalışan bir ağ geçidi uygulaması tamamen farklı bir ayrıcalık modeline sahip olabilir, bu yüzden Android'deki her VPN sunucusunun root gerektirdiği yönündeki yaygın iddia fazla geniştir. root size daha fazla işlem deneme yeteneği satın alır, bunların izin verileceği veya sonucun erişilebilir olacağı garantisini değil.

Android'in kendi VPN hizmet kaydı yine ayrı bir mekanizmadır. Bir uygulamaya tanımlı yaşam döngüsüne sahip yönetilen bir istemci arayüzü verir; genel bir sunucu yükleyicisi değildir ve bir arka plan hizmetini terminalden başlatmak ona kalıcı yönetim, uygulama başına politika veya kendine ait bir kurtarma yolu vermez.

Bir çıkış noktası istiyorsanız mimariyi değiştirin

Amaç mevcut bir OpenVPN profiliyle uyumluluk değil de yalnızca telefon üzerinden uzaktan internet çıkışıysa, kaplama ağındaki desteklenen bir çıkış düğümü daha uygun tasarımdır. Tailscale, kendi kayıt, yetkilendirme ve istemci seçimi adımlarıyla Android çıkış düğümü rolünü belgeler.

Takas gerçektir ve açıkça söylenmeye değer: farklı bir protokol, farklı bir güven modeli ve o hesaba ve koordinasyon hizmetine bağımlılık kabul edersiniz. Bu, değiştirilmemiş bir OpenVPN istemcisinin kaplama ağına katılmasını sağlamaz ve size genel bir adreste OpenVPN dinleyicisi vermez.

Dağıtımın hâlâ ihtiyaç duyduğu şeyler

Hangi yolu seçerseniz seçin, bir hafta dayanıp dayanmayacağına operasyonel temeller karar verir. Sunucu kimlik bilgilerini gizli tutun, birbirinden farklı istemci kimlikleri verin ve iptali ihtiyaç duymadan önce planlayın. Güncellemelerin nasıl geldiğine, hizmeti arka planda neyin çalıştırdığına ve yeniden başlatma ya da ağ değişikliğinden sonra nasıl toparlandığına karar verin.

Kullanışlı görünen kısa yollardan kaçının: eski bir statik ikili dosya, sabit kodlanmış arayüz adları ve mevcut güvenlik duvarı politikasını silen bir başlangıç betiği. Sonra sonucu yalnızca somut bir test karşısında kabul edin: yetkili bir uzak istemci amaçlanan kaynağa ulaşır, yasaklı hedefler kullanılamaz kalır ve cihaz desteklenen yaşam döngüsü olayından sonra kendiliğinden geri döner. root erişimi bu sonucun olası bir bileşenidir ve nadiren belirleyici olanıdır.

İlgili makaleler