Tuneliniz qalxır, şəxsi alt şəbəkə cavab verir, amma kimsə profildən gateway sətirini sildiyi halda adi veb gəzinti yenə də VPN-in içinə yox olur. Bu birləşmə səhv direktivin redaktə edildiyinin barmaq izidir. Silinən şey müştəriyə quraşdırdığı marşrutlar üçün növbəti hop verirdi; trafiki tutmağa davam edən isə başqa yerdən gəldi və server tərəfindən itələndi. Əhatə və növbəti hop ayrı işlərdir və yalnız biri publik hədəflərin tuneldən istifadə edib-etmədiyini həll edir.

Silinən sətir siyasət açarı deyil, növbəti hop idi

Müştərinin quraşdırdığı hər marşrutun işarə edəcəyi bir gateway ünvanı lazımdır və marşrut özü ünvan göstərmədikdə bu ünvan gateway direktivindən gəlir. Onu silin, bu marşrutların bağlanacaq yeri qalmaz, yəni ya quraşdırılmır, ya da heç yerə aparmayan yola düşür. Şəxsi alt şəbəkə məhz belə bir marşrutun daşıdığı şey idi.

Bu arada sağ qalan davranışın başqa müəllifi var: itələnmiş blokdakı yönləndirmə seçimi, bayraqlarına uyğun olaraq adi çıxan trafiki tunelə keçirir. Gateway-i silmək onu nə söndürür, nə də zəiflədir. Nəticə hər iki vəziyyətin ən pisidir: publik trafik yenə tutulur və tuneli əsaslandıran şəxsi hədəf artıq əlçatmaz olur. Buna görə eyni ruhda edilən ikinci düzəliş də heç nəyi dəyişmir.

Dörd qol, dörd fərqli iş

Bu müzakirədə dörd direktiv bir-birinin əvəzinə sitat gətirilir və yalnız biri əhatəni, yəni hansı hədəflərin ümumiyyətlə tuneldən yönləndirildiyini idarə edir. İkincisi marşrutların istifadə etdiyi növbəti hopu təyin edir, üçüncüsü tək bir prefiksi quraşdırır, dördüncüsü isə serverin itələdiyi hər şeyi, o cümlədən yerləşdirmənin ehtiyac duyduğu şəxsi marşrutları atır. Cədvəl onları adla deyil, administratorun nəyi dəyişmək istədiyinə görə sıralayır, çünki qarışıqlığın səbəbi adlardır. Onları dörd ayrı qərar kimi qəbul edin və həqiqətən geri qaytarmaq istədiyinizi seçin.

Praktikada dördü də çox vaxt bir itələnmiş blokda, sətir-sətir gəlir və bu, onları tək bir parametrin hissələri kimi göstərir. Belə deyillər və OpenVPN sənədi məhz buna görə onları ayrı mexanizmlər kimi sənədləşdirir. Hansı qərarı geri qaytardığınızı müəyyən etmək işdir; düzəliş isə bir sətirdir.

What you are trying to changeDirective that decides itWhat it leaves alone
Which destinations use the tunnelredirect-gatewayPer-prefix routes and resolver choice
The next hop a pushed route points atroute-gatewayCoverage of public destinations
One reachable prefixrouteEvery other destination, default path included
All pushed routing and DNS at onceroute-nopullNothing, which is the problem

İtələnmiş sətri filtrləyin, növbəti hopu saxlayın

Əgər etiraz etdiyiniz əhatə itələnmiş seçim kimi gəlirsə, dar cavab həmin seçimi adı ilə ignore etmək və itələnmiş blokun qalanını toxunulmaz saxlamaqdır. Filtr kimi yazıldıqda aşağıdakı sətrə bənzəyir və təsirlənmiş müştərinin profilində, server konfiqurasiyasında deyil, yer alır.

pull-filter ignore "redirect-gateway"

Darlıq əsas məqamdır. Filtr mətn prefiksini müqayisə etdiyi üçün daha qısa naxış növbəti hop direktivinə də uyğun gəlir və bu, şəxsi marşrutların asılı olduğu məlumatı məhz silərək ilk səhvi yeni libasda təkrarlayır. Filtr həm də yalnız itələnmiş seçimlərə təsir edir, ona görə yerli yazılmış və ya şəbəkə meneceri tərəfindən qoyulmuş ekvivalent sətrə heç vaxt toxunmur. Sonra yenidən qoşulun, çünki canlı sessiya serverin itələdiyini yenidən qiymətləndirmir.

Cədvəli deyil, axtarışı oxuyun

Profili yenidən yüklədikdən sonra kərneldən soruşun ki, iki hədəf əslində hara gedəcək: biri şəxsi prefiksin içində, biri publik internetdə. Əsas cədvəlin tam boşaldılması oxumaq üçün çətindir və səhv oxumaq üçün asandır, çünki marşrut mövcud olub yenə də daha konkret uyğunluğa uduz bilər. Siyasət əsaslı marşrutlaşdırmada qayda, cədvəl və mənbə ünvanı da yoxlamaya aiddir.

ip route get 10.40.7.25
ip route get 203.0.113.77
ip rule show

def1 variantı ilə tanışlıq lazımdır, çünki köhnə default girişi görünən saxlayır, halbuki bir cüt yarım-default axtarışda qalib gəlir. Buna görə çıxışdakı 0.0.0.0/0 sətri özlüyündə heç nəyi sübut etmir. Axtarış, siyahının yalnız görünüşdə cavablandırdığı sualı cavablandırır.

DNS, IPv6 və şəxsi marşrut hələ də işləməlidir

Bir IPv4 yönləndirməsini rədd etmək rezolver haqqında heç nə demir, ona görə itələnmiş DNS seçimi marşrutlar düzgün görünərkən sorğuları yenə tunelə göndərə bilər. IPv6 defaultu IPv4 yoxlamasının heç toxunmadığı ünvan ailəsi üçün eyni şeyi edə bilər. Hər ikisi fərziyyə deyil, açıq qərar tələb edir. Sonra şəxsi xidmətin hələ cavab verdiyini təsdiqləyin, çünki şəxsi marşrutunu itirmiş split tunel split tunel deyil, pozulmuş tuneldir.

Daha geniş bir alət xəbərdarlıq qazanır: route-nopull hər itələnmiş marşrutu və itələnmiş DNS seçimini atır, bu da tam tuneli mütləq dayandırır və eyni dərəcədə mütləq yerləşdirmənin asılı olduğu şəxsi marşrutları pozur, yəni bir seçimə tuşlanmış ad filtrindən qat-qat böyük çəkicdir. Hər dəyişiklikdən sonra şəxsi hədəfi, publik hədəfi və rezolveri yoxlayın və tamamlanmış əl sıxışmanı yalnız əl sıxışmasına dəlil sayın.

Əlaqəli məqalələr