Split-tunnel qaydanız niyə bir xidmətlə uyğunlaşmağı dayandırdı
Qayda bir prefiksi sabitləyir, xidmət isə ünvanını dəyişib. Tətbiqin həqiqətən istifadə etdiyi təyinatı oxuyun, sonra istisnanı genişləndirmək əvəzinə mexanizmi düzəldin.
Split tunel adətən iki yoldan birində uğursuz olur. Ya tunelin içində olmalı olan trafik onun ətrafından keçir, ya da kənarda qalmalı olan trafik içəri çəkilir. Köhnəlmiş qayda nasazlığı birinci növdür və daha qarışıq olandır, çünki qayda yazıldığı kimi tətbiq olunur. Dəyişən təyinatdır: xidmət indi qaydanın heç vaxt adlandırmadığı ünvanda cavab verir və tuneldə heç bir şey səhv deyil.
Qayda nəyi sabitləyir, DNS nəyi qaytarır
Split-tunnel qaydası təyinatlar haqqında statik bir ifadədir və adətən prefiks, marşrut və ya ünvan siyahısı kimi ifadə olunur. Göndərmə anında paketin təyinatına görə qiymətləndirilir. Host adı isə ömrü və keşi olan ünvanlar toplusunu qaytaran axtarışdır və cavab həlledicidən, sorğu növündən və dəqiqədən asılı olaraq fərqlənə bilər.
Bu iki obyekt heç vaxt bir-biri ilə danışıq aparmır. Qayda verildiyi prefiksi uyğunlaşdırmağa davam edir, xidmət verdiyi ünvanı dəyişməyə davam edir və aralarındakı boşluq səssizcə genişlənir. Buna görə simptom konfiqurasiya dəyişikliyindən sonra deyil, provayder miqrasiyasından və ya sertifikatın yenilənməsindən sonra görünür. Tuneli heç kim redaktə etmədi, ona görə də heç kim tunelə baxmır və diaqnoz siyasətdən çox tətbiqə doğru sürüşür.
Uyğunluğun pozulduğu üç yol
Aşkar hal köçən xidmətdir: operator onu yenidən ünvanladı, DNS ardınca getdi, istisna isə getmədi. İkincisi qaydanın heç vaxt əhatə etmədiyi ünvan ailəsidir; bu, ad AAAA qeydləri qaytarmağa başlayanda olur və yalnız v4 üçün istisna onları nəzərə almır. Üçüncüsü həlledici fərqidir: daxili və ictimai baxış eyni ad üçün fərqli ünvanlar qaytara bilər, ona görə tətbiqinizin istifadə etdiyi ünvan sizin sınaq keçirdiyiniz ünvan deyil.
Keşlənmiş bağlantı dördüncü variantdır və onu qaçırmaq asandır. Tətbiq hələ də bir saat əvvəl həll etdiyi ünvanla danışa bilər, yəni təzə axtarışınız və onun açıq soketi xidmətin harada olduğu barədə razılaşmır.
Tətbiqin həqiqətən istifadə etdiyi təyinatı oxuyun
Brauzer vərəqindən deyil, əməliyyat sistemindən və soket cədvəlindən soruşun. Axtarış adın hazırda hansı ünvana həll olunduğunu cavablandırır, soket cədvəli isə prosesin qoşulduğu ünvanı göstərir və o, daha köhnə ola bilər. Nəzəriyyə qurmazdan əvvəl hər ikisini işə salın, çünki aralarındakı fərq halların təxminən yarısında cavabın özüdür.
getent ahosts api.example.com
dig +short api.example.com A
dig +short api.example.com AAAA
ss -tnp | grep -F api
ip route get 203.0.113.40Sonra qaydanın nəyi əhatə etdiyi ilə müqayisə edin. Cari ünvan istisnadan kənara düşürsə və sorğu yenə uğursuz olursa, tunel konfiqurasiyasına toxunmadan səbəbi tapmısınız. Tətbiq qaydaya uyğun ünvana qoşulubsa və sorğu yenə uğursuz olursa, problem tuneldən sonra haradasa görünür və bu, səhv araşdırmadır.
Simptomu deyil, mexanizmi düzəldin
Məhsul idarə olunan domen əsaslı yönləndirməni dəstəkləyirsə, ondan istifadə edin və sənədləşdirilmiş yenilənmə və əhatə davranışına əməl edin. Bu, statik təxmini idarə olunan cavabla əvəz edir, lakin funksiyanın sənədləşdirildiyi kimi işləməsindən asılı olmaq bahasına.
Dizayn statik siyahıya əsaslanırsa, ona sahib və yeniləmə planı verin. Plan ünvanın necə aşkarlandığını, dəyişikliyi kimin təsdiqlədiyini və siyahının provayder miqrasiyasını nə qədər tez izləməsinin gözləndiyini bildirməlidir. Sahibsiz siyahı səbəbi məlum olan gələcək kəsintidir.
Yalnız qısa sınaq zamanı gördüyünüz hər ünvanı tutmaq üçün istisnanı böyük qonşu şəbəkəyə genişləndirməyin. Bu düzəliş deyil; təhlükəsizlik sərhədinin daimi dəyişməsidir və qayda mövcud olduğu müddətdə əlaqəsiz xidmətlərin tuneli səssizcə yan keçməsinə imkan verəcək.
Niyyətin hər iki yarısını yoxlayın
Split-tunnel dizaynının iki niyyəti var və düzəliş hər ikisini qorumalıdır. Qorunan xidmət tuneldən keçməlidir, xaric edilmiş kateqoriyalar isə onun ətrafından keçməyə davam etməlidir. Düzəldilmiş təyinatla təzə bağlantı sınayın, sonra kənarda qalmalı olan bir şeyi sınayın.
curl -sv --max-time 5 https://api.example.com/ -o /dev/null 2>&1 | grep -E 'Trying|Connected to'
curl -sS --max-time 5 https://public.example/ -o /dev/null -w '%{http_code}\n'Yeni ünvanı, seçdiyiniz mexanizmi və tarixi qeyd edin. Məhz bu qeyd növbəti şəxsin VPN-in öz konfiqurasiyasını təsadüfən nəzərə almadığı qənaətinə gəlməsinin qarşısını alır.