Tətbiq interfeysə bağlanıb? Onun VPN yolu standart deyil
Soketi cihaza, mənbə ünvanına və ya ad məkanına bağlamaq hansı marşrutun tətbiq olunduğunu dəyişir. Brauzerdəki IP yoxlamasını deyil, tətbiqin öz bağlantısını sınayın.
Maşındakı bir tətbiq VPN-dən çıxır, digəri çıxmır və hər iki istifadəçi heç nəyi dəyişmədiklərinə and içir. Fərq çox vaxt tətbiqin özünün verdiyi bağlama qərarıdır: cihaza bağlanmış soket, bağlantıdan əvvəl seçilmiş mənbə ünvanı və ya öz marşrut cədvəli olan ad məkanı. Hər biri hansı yolun tətbiq olunduğunu dəyişir və heç biri ümumi brauzer IP yoxlamasında görünmür.
Üç fərqli bağlama, üç fərqli nəticə
Cihaza bağlama və mənbə ünvanına bağlama əlaqəli əməliyyatlardır, lakin nəticələri fərqlidir. Cihaz bağlaması trafiki bir interfeysdən çıxmağa məcbur edə və həmin soket üçün normal marşrut axtarışını yan keçə bilər. Mənbə ünvanı bağlaması yenə də marşrut seçimindən keçir, lakin seçilmiş mənbə siyasət qaydasına uyğun gələ və paketi başqa yerə göndərə bilər. Bu fərq qayda mənbəyə görə marşrutlaşdırana qədər nəzəri görünür. Sonra isə hər şeyi o həll edir.
Şəbəkə ad məkanı üçüncü haldır. Onun öz interfeysləri və marşrut cədvəli var, ona görə də içindəki tətbiq hostun standartından heç təsirlənmir. Üçünü eyni şey kimi qəbul etmək ilk sınaqdan keçməyən arxayın izahlar doğurur.
Tətbiqin həqiqətən nə təyin etdiyini müəyyənləşdirin
Marşrutlara toxunmadan əvvəl tətbiqin şəbəkə konfiqurasiyasını və ya sənədləşdirilmiş davranışını oxuyun. İnterfeys seçimi, mənbə ünvanı sahəsi və ya ad məkanı seçimi təqdim edirsə, ilk yoxlanılacaq şey həmin ayardır. Yoxsa bağlama daxili ola bilər və yalnız izləmə və ya öz diaqnostikası ilə görünər.
Linux-da SO_BINDTODEVICE kimi soket seçimlərinin sənədləşdirilmiş əhatəsi və icazə tələbləri var və imtiyazsız proses onları ümumiyyətlə təyin edə bilməyə bilər. Bu məhdudiyyət faydalı işarədir: seçim tətbiq oluna bilmirsə, fərqin mənbəyi çox güman ki, tətbiq deyil.
Siyasət marşrutlaşdırması mənbəni oxuyur
Siyasət marşrutlaşdırması qurulduqda qayda cədvəli paketin mənbəyinə görə seçə bilər. Buna görə mənbə ünvanı bağlayan soket, heç bir interfeys açıq şəkildə göstərilməsə də, standart yolun toxunmadığı qaydaya uya bilər.
Axtarışı tətbiqin istifadə etdiyi ünvan ailəsi, mənbə və ad məkanı ilə təkrarlayın. Host ad məkanındakı qabıqdan edilən ümumi marşrut axtarışı başqa suala cavab verir və işləyən marşrutun pozulmuş görünməsinin ən çox yayılmış səbəbi məhz bu uyğunsuzluqdur.
Bölünmüş tunel və köməkçi proseslər
Tətbiq üzrə bölünmüş tunel daha bir qat əlavə edir. Müştəri tətbiq paketini və ya prosesini uyğunlaşdıra bilər, öz soketini açan köməkçi isə ayrı subyektdir. Başladıcı və onun fon xidməti eyni görünən ad altında fərqli bağlantılar yarada bilər.
Bölünmüş tunel qaydasının həqiqətən qoşulan prosesi əhatə edib-etmədiyini yoxlayın. Tətbiq konkret interfeysə bağlanır, VPN müştərisi isə paketə görə uyğunlaşırsa, iki qərar heç biri səhv olmadan bir-birinə zidd ola bilər.
Tətbiqin öz yolunu sınayın
Hər dəyişiklikdən sonra tətbiqdən yeni sorğu göndərin. İstədiyiniz çıxışı göstərən brauzer, başqa interfeysə bağlanmış başqa proqram üçün ekvivalent sübut deyil və keşlənmiş bağlantılar ayar dəyişdikdən çox sonra da köhnə yolu işlədə bilər. Yeni qaydanı qiymətləndirməzdən əvvəl köhnə sessiyanı bağlayın. Əks halda sınaq keçmişi ölçür.
Linux soket məlumatı SO_BINDTODEVICE və onun tələblərini sənədləşdirir. Əvvəlcə tətbiqin öz konfiqurasiyasını oxuyun, axtarışı eyni kontekstdə təkrarlayın və yalnız bundan sonra marşrutun və ya bağlamanın dəyişdirilməli olduğuna qərar verin.