Sorğular maşından çıxır, VPN həmyaşıdı cavab verir və cavab heç vaxt soketə çatmır. Tunel açıqdır, həmyaşıdın jurnalları paketin göndərildiyini göstərir və tətbiqdə heç nə bu səssizliyi izah etmir. Linuxda adi şübhəlilərdən biri tərs yol süzgəcidir: daxil olan IPv4 paketi mənbə yoxlaması nüvənin həmin mənbə üçün gözlədiyi marşrutla uyğunsuz olduqda rədd edilə bilər. Bunu ardıcıllıqla izləmək sizə səbəbin bu olduğunu, yoxsa təsadüf olduğunu deyir. O, həm də itkin marşrutu düzəltmək üçün təhlükəsizlik nəzarətini söndürməyinizin qarşısını alır.

Mənbə yoxlaması nəyə qərar verir

Nüvə paketin mənbə ünvanının gəldiyi interfeys üçün inandırıcı olub-olmadığını həmin mənbəyə geri marşrut üçün marşrut cədvəlinə baxaraq yoxlayır. Əgər tərs marşrut başqa yerə işarə edirsə, paket hər hansı firewall qaydası və ya tətbiq soketi onu görməmişdən əvvəl atıla bilər. Bu yoxlama bəzi saxtalaşdırma nümunələrini çətinləşdirmək üçün mövcuddur və buna görə də asimmetrik və siyasət əsaslı marşrutlaşdırma dizaynları ona düşür, halbuki eyni şəbəkədəki hər adi müştəri yaxşı işləyir. Adi müştərilərin simmetrik marşrutlaşdırması var və yoxlamanın güman etdiyi də məhz budur.

Əhəmiyyətli söz inandırıcıdır. Paket tamamilə qanuni ola bilər və yenə də yoxlamadan keçməyə bilər, çünki sınaqdan keçirilən qanunilik deyil.

Bir sahəni deyil, faktiki rejimi oxuyun

Üç rejim var: söndürülmüş, ciddi və boş. Ciddi rejim boşdan fərqli marşrut gözləntisi qoyur və qlobal parametr hər interfeys üzrə parametrlərlə qarşılıqlı təsir edir, ona görə də bir faylı oxumaq faktiki qüvvədə olanı səhv təsvir edə bilər. Hər ikisini oxuyun və onları cavabı qəbul edən interfeysdə oxuyun, defolt marşrutun interfeysində deyil.

sysctl net.ipv4.conf.all.rp_filter
sysctl net.ipv4.conf.<iface>.rp_filter
ip route get <source-of-the-reply>

Üçüncü sətirdəki marşrut axtarışı insanların atladığı hissədir. O sizə nüvənin mənbə haqqında nə düşündüyünü deyir və bu, yoxlamanın girişidir.

Yoxlamanı dəyişməzdən əvvəl uyğunsuzluğu tapın

Cavabın niyə həmin interfeysə gəldiyini və tərs marşrutunun fərqli olmasının gözlənilib-gözlənilmədiyini müəyyənləşdirin. Sorğuları bir yolla göndərib cavabları başqa yolla qaytaran siyasət qaydası qanuni dizayndır və ciddi yoxlamanın rədd etdiyi dizayn da elə budur. Siyasət marşrutlaşdırmasında istifadə olunan işarələr burada da əhəmiyyətli ola bilər, çünki onlar tərs axtarışın nə qaytardığını dəyişir.

Əgər tərs marşrut sadəcə yoxdursa, onu əlavə etmək yoxlamanı söndürmək əvəzinə səbəbi düzəldir. İtkin marşrut, firewall rəddi və səhv trafik seçicisi eyni görünən simptomu yaradır və onlardan yalnız biri mənbə yoxlaması ilə bağlıdır.

Mənbə yoxlamalarını ilk cavab olaraq qlobal şəkildə söndürməyin. Bu, dəqiq diaqnozu sonra xatırlamalı olacağınız geniş davranış dəyişikliyi ilə dəyişir.

Müdafiə edə biləcəyiniz seçmə düzəliş

Əgər dar düzəliş həqiqətən lazımdırsa, onu ehtiyac duyan interfeyslə məhdudlaşdırın, səbəbini yazın və yenidən başlatmadan sonra da qalması üçün həmin interfeysə sahib konfiqurasiyaya qoyun. Sonra uğursuz olan dəqiq axını, eyni mənbədən eyni təyinata qədər yenidən sınaqdan keçirin, rahat bir şeyə ping göndərməklə deyil.

Yenə də rədd edilməli olan bir halı daxil edin. Əgər həmin hal indi keçirsə, düzəliş düzəltmək istədiyiniz bir yoldan çoxunu zəiflədib.

IPv4 və IPv6-nı ayrı saxlayın

Tanış görünən sysctl hər ünvan ailəsi üçün siyasət deyil. IPv6-nın öz davranışı və öz parametrləri var və maşın bir ailədə ciddi, digərində icazəli ola bilər, kimsə bunu müəyyən təyinat uğursuz olana qədər fərq etməz. İş yükü hər ikisini istifadə edirsə, hər ikisini yoxlayın.

Rejimi, interfeysi, marşrut axtarışının çıxışını və dəyişikliyin səbəbini bir yerdə qeyd edin. Növbəti şəxs parametri tapacaq və heç bir izah görməyəcək, sonra onu ya siləcək, ya da aid olmadığı yerə köçürəcək.

Əlaqəli məqalələr