Siyasət əsaslı marşrutlaşdırma əksər nasazlıq qeydlərinin verdiyi sualdan fərqli bir suala cavab verir. Əsas cədvəl təyinatın hara getdiyini deyir; siyasət qaydaları isə ümumiyyətlə hansı cədvələ müraciət edildiyini deyir və bunu mənbə ünvanına, paket işarəsinə, və ya paketin gəldiyi interfeysə görə qərar verə bilirlər. Tunel uyğunsuz davrandıqda, səbəb çox vaxt qaydalar toplusu olur, marşrut cədvəli isə çox vaxt deyil.

Qaydalar cədvəli seçir, sonra cədvəl marşrutu seçir

Hər qayda bir prioritet, bir uyğunluq şərti və hədəf cədvəl daşıyır. Nüvə qaydaları prioritet sırası ilə gəzir və ilk uyğunluqda dayanır, sonra həmin cədvəldə adi ən uzun prefiks axtarışı aparır. Boş cədvələ yönələn qayda növbəti qaydanın seçdiyinə keçir və diqqətlə yazılmış qaydanın heç nə etmədiyi kimi görünməsinin səbəbi budur.

Əsas cədvəli boşaltmağın işlək VPN klientini nadir hallarda izah etməsinin səbəbi budur. Klientlər adətən qaydaları aşağı prioritet nömrələrində, əsas cədvəlin default qaydasından xeyli əvvəl yerləşdirir, ona görə paket sizin baxdığınız marşruta heç vaxt çatmır. Əsas cədvəldə metriki aşağı salmaq artıq yönləndirilmiş trafik üçün heç nəyi dəyişmir.

Qayda həmçinin bir prefiksi qəsdən qara dəliyə və ya əlçatmaz hədəfə çevirə bilər. Bəzi klientlər belə qaydanı qoruyucu açar kimi əlavə edir və o zaman düşmə konfiqurasiya edilmiş tunel kimi deyil, sınmış tunel kimi görünür.

Qaydalar toplusunu siyahı kimi deyil, ardıcıllıq kimi oxuyun

Qaydaları prioritetləri və istinad etdikləri cədvəllərlə birlikdə çap edin, sonra default və ya tunel marşrutu daşıyan hər cədvəli çap edin. Əhəmiyyətli hissə sıradır və ekran görüntüsünün adətən buraxdığı hissə də elə budur:

ip rule show
ip route show table all | sed -n '1,60p'
ip route get 198.51.100.20 from 10.8.0.2
ip route get 198.51.100.20 from 10.8.0.2 mark 0x1

Son iki əmr nəzəriyyəni müşahidəyə çevirən əmrlərdir, çünki onlar soruşur nüvənin həmin mənbə və həmin işarə üçün nə edəcəyini. Cavab işarə dəyişdikdə dəyişirsə, işarəyə əsaslanan qayda işləyir və işarəni nəzərə almayan hər hansı test fərqli paketi yoxlayır. Xarici bağlantı öz qaydasına layiqdir. Bütün trafiki özündən keçirən tunel qoşulduğu endpoint ünvanını istisna etməlidir, əks halda şifrələnmiş paketlər təzəcə tərk etdikləri tunelə geri göndərilir. Klientlərin çoxu bu istisnanı avtomatik əlavə edir və əl ilə redaktə edilmiş qaydalar toplusu onun itdiyi yerdir.

İşarələr və soketlər: klientlərin trafiki bölməsinin iki yolu

Bəzi klientlər paketləri firewall-da işarələyir və işarəyə uyğun gələn qayda əlavə edir. Digərləri soket səviyyəsində marşrutlaşdırmadan istifadə edir və qoşulmazdan əvvəl soketə marşrut qoyur. Birincisi ip rule çıxışında görünür; ikincisi görünmür və ümumi axtarışda əks olunmayacaq.

Sınaq proqramı təmsil etməli olduğu tətbiqdən fərqli davranırsa, tətbiqin işarə qoyub-qoymadığını və ya cihaza bağlanıb-bağlanmadığını yoxlayın. Mexanizm adlandırıldıqdan sonra bu fərq sirr deyil və niyə eyni maşında shell-dən curl ilə brauzer vərəqinin fərqli yollar tuta biləcəyini izah edir. Hər iki texnika geniş mənada siyasət əsaslı marşrutlaşdırmadır: yolu təyinatdan başqa bir şeylə seçirlər. Nə biri trafikə icazə verir, nə də biri peer-in gözlədiyi firewall qaydalarını və ya etimad məlumatlarını əvəz edir.

Başqa qayda əlavə etməzdən əvvəl sahibliyi izləyin

Qaydaları kimsə quraşdırır. VPN klienti, şəbəkə meneceri və əl ilə yazılmış skript hər biri işə düşəndə qaydalar əlavə edə bilər və yenidən qoşulma məntiqi əvvəlki dəsti arxada qoya bilər. Köhnə profildən qalan iki köhnəlmiş qayda profil silindikdən çox sonra da trafiki yönləndirməyə davam edəcək.

Qaydanın hansı prosesə aid olduğunu prioritetinə və formasına görə tapın və o sahibin dəsti hər bağlantıda yenidən yazıb-yazmadığını yoxlayın. Yazırsa, bu gün əlavə edilən əl qaydası sabah yox olur və düzəliş shell tarixçəsi faylında deyil, klientin konfiqurasiyasında olmalıdır. Test üçün bütün qaydalar toplusunu təmizləmək cazibədar bir qısa yoldur və qiyməti proqnozlaşdırıla biləndir: klientin öz tunelini işlək saxlamaq üçün lazım olan qaydaları da silir. Qaydaları bir-bir silin və ya yenidən başlada biləcəyiniz maşında test edin.

Əhatəni bir yox, iki axınla sübut edin

Düzəliş yalnız təsirlənməli olan axın və təsirlənməməli olan axınla təsdiqlənir. Siyasətin tunelə yönəltdiyi bir təyinat və tuneldən kənarda qalmalı olan bir təyinat seçin, sonra hər ikisi üçün axtarışları və tutmaları müqayisə edin:

ip route get 198.51.100.20 from 192.0.2.44
ip route get 198.51.100.21 from 192.0.2.44
tcpdump -ni any host 198.51.100.21 and port 443

İki axtarış fərqli interfeyslər qaytaranda qayda nəsə edir. Eyni interfeysi qaytaranda qayda nəzərdə tutulandan daha geniş uyğunlaşır və bu, bütöv bir alt şəbəkəni bir tətbiq üçün nəzərdə tutulmuş tuneldən sakitcə keçirən nasazlıqdır.

Qayda prioritetlərini və sahib xidməti iki test ünvanı ilə birlikdə biletdə qeyd edin. Beləliklə növbəti şəxs simptom təsviri yerinə təkrarlana bilən bir cüt alır və siyasət əsaslı marşrutlaşdırmanın hələ də işləyib-işləmədiyini bir dəqiqə ərzində deyə bilər.

Əlaqəli məqalələr