Android VPN serveri: root telefonu əlçatan etmir
Telefonun VPN müştərilərinə xidmət edib-etmədiyini üç ayrı problem həll edir: daxil olan yol, imtiyaz modeli və yönləndirmə. Root yalnız ortadakına toxunur.
Root prosesin hansı şəbəkə əməliyyatlarını sınamağa icazəli olduğunu dəyişir. O, telefona ictimai əlçatan ünvan vermir, operator tərəfində daxil olan xəritələmə ayırmır və yenidən başlatmadan sonra demonu işlək saxlamır. Əgər Android telefonunun VPN serveri kimi çıxış edə biləcəyini qiymətləndirirsinizsə, üç sualı ayırın: nəzərdə tutulan müştəri dinləyiciyə ümumiyyətlə çata bilirmi, server tətbiqi hansı imtiyaz modelinə ehtiyac duyur və tunel qurulduqdan sonra nə yönləndirilməlidir.
Telefona kim çatmalıdır və haradan
Eyni icazəli LAN-dakı müştəri ilə mobil data üzərindəki müştəri iki fərqli şəbəkəni sınaqdan keçirir. Əvvəlcə nəzərdə tutulanı müəyyənləşdirin, çünki cavablar birindən digərinə keçmir. Wi-Fi-da xahişsiz daxil olan trafik adətən yuxarı axındakı marşrutlaşdırıcıda xəritələmə və ondan sonra istifadə edilə bilən ictimai yol tələb edir. Mobil şəbəkədə isə operator səviyyəli NAT daxil olan IPv4-ün çox vaxt mövcud olmadığını göstərir, telefon nəyə icazə versə də.
Məhz sonuncu məqam root-un toxuna bilmədiyidir. Telefonun yerli firewall-u və operatorun NAT-ı fərqli sistemlərdir və birincini dəyişmək ikinciyə təsir etmir. Şəxsi interfeys ünvanı, mobil data ikonası və ya dinləyən soket əlçatanlığın sübutu deyil. Əgər operator yolu həqiqətən qlobal marşrutlaşdırıla bilən IPv6 təqdim edirsə, yenə də buna qəsdən dinləyici və firewall siyasəti lazımdır; ünvana sahib olmaq bağlantıları qəbul etməklə eyni deyil.
| Client path | What actually decides reachability |
|---|---|
| Same LAN | The phone's listener and its local firewall |
| Wi-Fi, from the internet | A mapping on the upstream router plus a usable public path beyond it |
| Cellular IPv4 | The carrier's NAT, which the handset does not control |
| Cellular IPv6 | Address, listener and firewall policy together |
Xidmət və yönləndirmə iki fərqli uğurdur
Tamamlanmış VPN əl sıxışması tunelin mövcud olduğunu sübut edir. O, müştərinin telefonun arxasındakı LAN-a çata bildiyini sübut etmir və telefonun internet çıxışı kimi çıxış edə bildiyini də sübut etmir. Bunlar daxili ünvan planı, marşrutlar, qayıdış davranışı və həqiqətən istədiyiniz tapşırıq üçün dar əhatəli yönləndirmə siyasəti üzərində qurulan ayrı konfiqurasiyalardır.
Uğursuzluq rejimi proqnozlaşdırıla biləndir: əl sıxışması uğur qazanır, müştəri qoşulmuş görünür və heç nə yüklənmir. Müştərini sazlamadan əvvəl iki roldan hansını qurduğunuza qərar verin. Telefonun şəbəkəsindəki cihaza uzaqdan çıxış və tam tunelli internet çıxışı fərqli yönləndirmə qaydaları tələb edir və birini istədiyiniz halda hər ikisinə icazə vermək istəmədiyiniz imkanı əlavə etmədən məruz qalmanı genişləndirir.
İmtiyaz modeli seçimdir, root ya heç nə deyil
Kernel TUN cihazından istifadə edən ənənəvi OpenVPN demonu uyğun imkanlara, cihaz qovşağına çıxışa və Android təhlükəsizlik siyasətinin əməkdaşlığına ehtiyac duyur. Root SELinux-dan ümumi azadolma deyil; imtiyazlı proses yenə də platforma siyasəti ilə məhdudlaşır. Buna görə Linux serverində rahat işləyən binary telefonda icazələr barədə aydın xəta olmadan uğursuz ola bilər.
İstifadəçi məkanında şlüz tətbiqinin tamamilə fərqli imtiyaz modeli ola bilər, ona görə də Android-də hər VPN serverinin root tələb etdiyi barədə yayılmış iddia həddindən artıq genişdir. Root sizə daha çox əməliyyat sınamaq imkanı verir, onların icazəli olacağına və ya nəticənin əlçatan olacağına zəmanət deyil.
Android-in öz VPN xidməti qeydiyyatı yenə ayrı mexanizmdir. Tətbiqə müəyyən həyat dövrü olan idarə olunan müştəri interfeysi verir; bu ümumi server quraşdırıcısı deyil və terminaldan demon başlatmaq ona həmişə işlək idarəetmə, tətbiq üzrə siyasət və ya öz bərpa yolu vermir.
Çıxış nöqtəsi istəyirsinizsə, arxitekturanı dəyişin
Məqsəd mövcud OpenVPN profili ilə uyğunluq deyil, sadəcə telefon vasitəsilə uzaqdan internet çıxışıdırsa, dəstəklənən örtük şəbəkəsi çıxış qovşağı daha uyğun dizayndır. Tailscale öz qeydiyyat, avtorizasiya və müştəri seçimi addımları ilə Android çıxış qovşağı rolunu sənədləşdirir.
Mübadilə realdır və açıq deməyə dəyər: fərqli protokol, fərqli etibar modeli və həmin hesabdan və koordinasiya xidmətindən asılılığı qəbul edirsiniz. Bu, dəyişdirilməmiş OpenVPN müştərisini örtük şəbəkəsinə qoşmur və sizə ictimai ünvanda OpenVPN dinləyicisi vermir.
Yerləşdirmənin hələ də ehtiyac duyduğu şeylər
Hansı yolu seçsəniz də, operativ əsaslar onun bir həftə davam edib-etməyəcəyini həll edir. Server etimad məlumatlarını gizli saxlayın, fərqli müştəri kimlikləri verin və ləğvi ehtiyacdan əvvəl planlaşdırın. Yeniləmələrin necə gəldiyini, xidməti fonda nəyin işlək saxladığını və yenidən başlatma və ya şəbəkə dəyişikliyindən sonra necə bərpa olunduğunu müəyyənləşdirin.
Rahat görünən qısa yollardan çəkinin: köhnəlmiş statik binary, koda sərt yazılmış interfeys adları və mövcud firewall siyasətini silən başlatma skripti. Sonra nəticəni yalnız konkret sınaqla qəbul edin: səlahiyyətli uzaq müştəri nəzərdə tutulan resursa çatır, qadağan olunmuş təyinatlar əlçatmaz qalır və cihaz dəstəklənən həyat dövrü hadisəsindən sonra özü geri qayıdır. Root girişi bu nəticənin mümkün tərkib hissəsidir və nadir hallarda həlledicidir.