VPN üzərindən Dante SOCKS: tam tunel və mənbə marşrutlaşdırması
Yalnız SOCKS proksisini tuneldən keçirməyin iki yolu: standart marşrutu dəyişmək və ya bir mənbə ünvanını öz cədvəlinə bağlamaq. İkisi fərqli şəkildə sıradan çıxır.
Siz SOCKS proksisinin trafikinin VPN-dən çıxmasını, hostun qalan hissəsinin isə öz normal yolunu saxlamasını istəyirsiniz. Bunu iki dizayn edir və onlar nəyinsə səhv getdiyi zaman nəyin pozulması ilə fərqlənirlər. Biri tunelə standart marşrut itələyir və sonra onun ətrafından dolanır; digəri əsas cədvəli toxunulmaz qoyur və tək bir mənbə ünvanını ikinci cədvələ göndərir. İkincisi daha təmizdir və öz tələləri var.
İki dizayn, iki fərqli zərər radiusu
Tam tunel dizaynı əksər VPN müştərilərinin standart davranışıdır: hər şey tuneli izləsin deyə standart marşrutu dəyişmək, sonra izləməməli olanı istisna etmək. Onu anlamaq asandır, dar saxlamaq isə çətindir, çünki əlavə etdiyiniz hər yerli xidmət onu istisna edənə qədər tuneli miras alır. Uğursuzluq rejimi genişdir, çünki bir səhv marşrut hostun öz bağlantısını da özü ilə aparır.
Mənbəyə görə seçilən dizayn əks istiqamətə gedir. Əsas cədvəl olduğu kimi qalır və bir siyasət qaydası müəyyən yerli ünvandan gələn paketləri tunel standartı olan cədvələ göndərir. Başqa heç nə dəyişmir, yəni zərər radiusu bir ünvandır.
Bu darlıq həm də məhdudiyyətdir: dizayn yalnız proksinin gedən paketləri həqiqətən o ünvanı daşıyırsa işləyir.
Dante-nin external parametri nə edir
external parametri proksinin gedən bağlantılar üçün istifadə etdiyi ünvanları seçir; o, nüvənin marşrutlaşdırma siyasətinə toxunmur. Bu ayrılıq ikinci dizaynı mümkün edir və həm də sənədlərin səhv oxunduğu yerdir. External-ı tunel ünvanına yönəltmək proksinin bağlantılarını o ünvandan qaynaqlandırmasına səbəb olur, sonra isə marşrut cədvəli həmin paketlərin hara getdiyini müəyyən edir.
Dinləyici ayrı məsələdir. Internal-ı proksidən istifadə etməli olan müştərilərlə məhdudlaşdırın, autentifikasiya tələb edin və portu firewall ilə bağlayın, çünki açıq dinləyici VPN çıxışının xüsusiyyəti deyil.
Konfiqurasiya olunmuş ünvanın proksinin şəbəkə ad fəzasında həqiqətən tunelə aid olduğunu təsdiqləyin.
Mənbəyə görə seçilən cədvəlin qurulması
TUN ünvanı 10.90.0.2/24, əlçatan peer isə 10.90.0.1 olduqda və başqa heç nənin istifadə etmədiyi bir cədvəl nömrəsi ilə düzülüş belə görünür:
ip -4 route add table 100 10.90.0.0/24 dev tun0 src 10.90.0.2
ip -4 route add table 100 default via 10.90.0.1 dev tun0 metric 10
ip -4 route add table 100 unreachable default metric 32760
ip -4 rule add priority 1000 from 10.90.0.2/32 lookup 100Əlçatmaz marşrut insanların atladığı hissədir. Onsuz, tunel marşrutu yoxa çıxan cədvəl adi standarta düşür və proksi səssizcə WAN-dan çıxır. Onunla isə axtarış uğursuz olur ki, bu da səssiz sızma yerinə görünən uğursuzluqdur. Qaydanın prioriteti də həmin mənbəyə uyğun gələn hər şeydən əvvəl durmalıdır.
Bu dəyərlər bir topologiyanı təsvir edir. Nöqtədən nöqtəyə peer-lər, net30 ünvanlaması və fərqli prefiks verən müştərilər hamısı öz marşrutlarına ehtiyac duyur, ona görə ünvanları deyil, formanı kopyalayın.
Mənbə qaydası harada sızır
Mənbə ünvanına uyğun gələn qayda onu istifadə edən hər prosesə təsir edir, təkcə proksiyə yox. Əgər başqa bir demon eyni ünvanı bağlayırsa, onun trafiki də tuneldən keçir və nasazlıq əlaqəsiz bir xidmət problemi kimi görünəcək. Proksiyə başqa heç nənin istifadə etmədiyi ünvan verin və ya əhatənin proses deyil, ünvan olduğunu qəbul edin.
DNS digər sızma nöqtəsidir. Resolver soketi mütləq proksinin external məlumat bağlantısı mənbəyindən istifadə etmir, ona görə ad axtarışları hələ də WAN-dan çıxa bilər. Həll etməni bağlantı qurulmasından ayrı yoxlayın və bu nəticənin məqbul olub-olmadığını qərarlaşdırın.
IPv6 öz qaydalarına və marşrutlarına ehtiyac duyur, çünki IPv4 düzülüşü onun haqqında heç nə sübut etmir.
Dözə bildiyiniz nasazlığa görə seçin
Host bütövlükdə qorunmalıdırsa və istisna siyahısını saxlaya bilirsinizsə, tam tuneli seçin. Host öz yolunu saxlamalıdırsa və yalnız bir xidmət yönləndirilməlidirsə, mənbə əsaslı marşrutlaşdırmanı seçin. Hər ikisi qanunidir; səhv olan birini seçib sonra onu digəri kimi sınaqdan keçirməkdir.
Hansını seçsəniz də, hər iki tərəfdən yoxlayın: proksi vasitəsilə sorğu və hostdan birbaşa sorğu, hər biri üçün müşahidə olunan çıxış ünvanı qeyd edilməklə.
Tunel düşərsə, proksinin uğursuz olması və ya geri çəkilməsi barədə əvvəlcədən qərar verin və marşrut cədvəlinin bu qərarı ifadə etməsinə icazə verin.