Hər iki dizayn eyni trafiki eyni IPsec mexanizmi ilə qoruyur və hansı paketin tunelə girdiyini nəyin müəyyən etməsi ilə fərqlənirlər. Siyasət əsaslı bağlantıda bu işi razılaşdırılmış trafik selektorları görür; marşrut əsaslıda isə tunel interfeysinə işarə edən marşrut görür. İkisini qarışdırmaq, tunelin qurulduğunu bildirdiyi, amma tətbiqin heç nəyə çatmadığı tanış dəstək mövzusu yaradır. Fərq ən çox şəbəkə əlavə edəndə, marşrutlaşdırma protokolu işlədəndə və ya səssizcə yanlış çıxışdan çıxan yolu sazlayanda önəm daşıyır.

Tunelə nəyin girdiyini təyin etməyin iki yolu

Siyasət əsaslı VPN mənbə və təyinat prefikslərinə uyğun gələn təhlükəsizlik siyasəti qurur, sonra uyğun gələn hər şeyi şifrələyir. Qarşı tərəf uyğun selektorları razılaşdırmalıdır, ona görə effektiv əhatə hər iki tərəfin təklif etdiyinin kəsişməsi kimi yekunlaşır. Həmin kəsişmədən kənarda heç nə qorunmur, marşrut cədvəli nə deyirsə desin.

Marşrut əsaslı VPN isə tuneli təmsil edən interfeys yaradır və marşrut cədvəlinin trafiki ora göndərməsinə imkan verir. IKE demonu yenə vəziyyəti və hər interfeys üçün siyasəti quraşdırır; bu, insanların marşrutların şifrələməni əvəz etdiyini düşünəndə atladığı detaldır. Hər iki dizayn IPsec ilə şifrələyir; yalnız seçim mexanizmi fərqlənir.

Aşağıdakı müqayisəni nəticə cədvəli kimi deyil, nasazlıq imzaları toplusu kimi oxuyun, çünki heç bir sütun özlüyündə qalib gəlmir.

AspectPolicy-basedRoute-based
What selects trafficNegotiated selectorsA route into the tunnel interface
Adding a networkEdit selectors on both peersAdd a route, widen the selector once
Dynamic routingAwkward to run over the tunnelRuns over the interface directly
Typical failureTunnel up, host outside the selectorTunnel up, no route or wrong source

Siyasət əsaslı: selektor müqavilədir

Selektorlar yalnız konfiqurasiya olunmur, razılaşdırılır. Bir tərəfdə 10.10.0.0/16, digərində 10.10.1.0/24 təklif edin; assosiasiya danışıqların razılaşdırdığını əhatə edəcək, bütün digər hostlar isə ondan kənarda qalacaq.

Konfiqurasiya faylı yerinə quraşdırılmış vəziyyəti oxuyun. Linux qarşı tərəfdə nüvənin öz cədvəlləri əsas həqiqətdir və onlar danışıqdan nəyin qaldığını göstərir. Düzgün prefiksləri adlandıran, lakin uyğun vəziyyəti olmayan siyasət assosiasiyanın heç vaxt qurulmadığını bildirir. Yanlış prefiks üçün siyasətlə birləşən vəziyyət isə əks problemdir və sağlam görünən, amma bir subnetin heç nəyə çatmadığı tunel yaradır.

sudo ip xfrm state
sudo ip xfrm policy
sudo swanctl --list-sas

Hər iki çıxışı qoruduğunuzu düşündüyünüz prefikslərlə müqayisə edin. Bu tək müqayisə işləyən tunel və əlçatmaz server barədə hesabatların çoxunu həll edir. O, həmçinin hansı qarşı tərəfin dəyişdirilməsini göstərir, çünki uyğunsuzluq adətən yalnız bir istiqamətdə görünür.

Marşrut əsaslı: interfeys müqavilədir

XFRM interfeysi tunelə ad və kimlik verir, trafik isə ona marşrut cədvəli belə dediyi üçün çatır. Bundan sonra bir neçə uzaq prefiks selektor problemi deyil, marşrutlaşdırma problemi olur və marşrutlaşdırma protokolu onları elan edə bilər. Əsl qazanc budur, şifrələmə deyil.

İnterfeys siyasətə ehtiyacı aradan qaldırmır. Demon interfeys kimliyinə bağlı hər interfeys qaydalarını quraşdırır, ona görə yanlış interfeysə gələn paket yenə uğursuz olur. Qarşı tərəfin qəbul etməyəcəyi mənbə ünvanı da, mükəmməl marşruta baxmayaraq, uğursuz olur. Marşrut əsaslı, girişi marşrutun qərar verdiyi deməkdir, siyasətin yox olduğu deyil.

sudo ip link add xfrm0 type xfrm dev eth0 if_id 42
sudo ip route add 10.20.0.0/16 dev xfrm0
ip -s link show xfrm0
ip route get 10.20.5.10

Marşrut yerində olduqdan sonra interfeys sayğaclarına baxın. Marşrut mövcuddur, amma sayğaclar sıfırda qalırsa, tunelə heç nə uyğunlaşdırılmır; bu da adətən çatışmayan marşruta deyil, çatışmayan vəziyyətə işarə edir.

İki dizayn həqiqətən harada ayrılır

Şəbəkə əlavə etmək hansı modelin sizə uyğun olduğunun ən təmiz sınağıdır. Marşrut əsaslı dizayn bir marşrut əlavə edir və selektoru ən çoxu bir dəfə genişləndirir, siyasət əsaslı dizayn isə hər iki qarşı tərəfdə prefiks cütlərini düzəldib yenidən danışıq aparır. İki sabit subnet bu düzəlişi adi işə çevirir, iyirmi isə layihəyə.

Heç bir model firewallu əvəz etmir və müqayisələr adətən bu nöqtədən əvvəl dayanır. Geniş selektor və ya geniş marşrut nəyin şifrələndiyini qərar verir, nəyə icazə verildiyini deyil.

MTU davranışı praktikada da fərqlənir. Enkapsulyasiya istifadə oluna bilən yükü azaldır və marşrut əsaslı interfeys öz MTU-sunu daşıyır, ona görə hər iki şlüzdə MSS-i sıxmaq kiçik cavabların gəldiyi, böyüklərin isə yox olduğu qara dəlik simptomunun qarşısını alır. Siyasət əsaslı tunellər eyni divarla digər tərəfdən qarşılaşır, çünki selektor paket ölçüsü barədə heç nə demir. Sıxmanı qarşı tərəfi günahlandırmaq əvəzinə qəsdən təyin edin.

Cavab yolunu itirmədən miqrasiya

Hər şeyi dəyişməzdən əvvəl mövcud prefiks cütlərini qeyd edin, sonra bir tətbiq yolunu köçürün və onu başdan-başa izləyin. Qurulan tunel trafiki ötürən tunel deyil və fərq cavab istiqamətində görünür.

Qarşı tərəflər qoşulur, amma LAN hostları qoşulmursa, cavab marşrutunu və uzaq hostun istifadə edəcəyi mənbə ünvanını yoxlayın. İki interfeysli host yanlış interfeysdən cavab verə bilər və heç bir selektor dəyişikliyi bunu düzəltmir. Alqoritmləri redaktə etməzdən əvvəl trafiki hər iki tərəfdə tutun.

ip route get 10.20.5.10
sudo tcpdump -ni any host 10.20.5.10 and icmp
sudo swanctl --list-conns

İşləyərkən tuneldən asılı olmayan idarəetmə yolu saxlayın. Şlüzün öz girişi sazladığınız bağlantıdan keçmədikdə geri qayıtmaq daha asandır.

Əlaqəli məqalələr