strongSwan tələ rejimi: IPsec tuneli niyə trafik gözləyir
Boş on-demand IPsec tuneli, paket onun tələ siyasətinə uyğun gələnə qədər CHILD SA göstərmir. Vəziyyəti oxuyun, tetikleyicini yoxlayın və start-ın nə vaxt uyğun olduğunu bilin.
Status çıxışında CHILD SA görünmür, tunel ölü kimi görünür, sonra uzaq alt şəbəkəyə ping onu qaldırır. On-demand IPsec quruluşunda bu ardıcıllıq dizayndır, nasazlıq deyil. Tələ siyasəti selektoru quraşdırır və gözləyir, ona uyğun gələn ilk paket isə IKE və CHILD SA danışıqlarını başladan şeydir.
Qarışıqlığın bir hissəsi lüğətdir: “up” iki fərqli vəziyyət üçün istifadə olunur. Konfiqurasiya yüklənib və kernel siyasəti mövcuddur, data assosiasiyası isə yoxdur. Yalnız aktiv SA-ları sayan monitor, heç kim ona trafik göndərmədiyi müddətcə sağlam saytı söndürülmüş kimi göstərəcək.
Boş on-demand tunelin göstərməli CHILD SA-si yoxdur
Tələ qeydi özü heç nəyi autentifikasiya etmir. O, kerneldən seçilmiş trafik üçün siyasət saxlamasını və paket həmin siyasətə ehtiyac duyduqda acquisition qaldırmasını xahiş edir. Demon acquisition-ı alır, onu child tərifinə uyğunlaşdırır və oradan danışıqlara başlayır. O ana qədər göstəriləcək IKE SA da yoxdur, buna görə hər iki siyahı eyni vaxtda boş ola bilər.
Jurnalları oxunaqlı edən məhz bu ardıcıllıqdır. Əvvəlcə acquisition gəlir, sonra IKE_SA_INIT və IKE_AUTH, sonra CHILD SA. Jurnal acquisition-dan dərhal sonra bitirsə, tetikleyici işləyib. Danışıq uğursuz olub və növbəti sual tələ haqqında deyil, etimadnamə, təkliflər və ya əlçatanlıq haqqındadır.
Linux kernel backend-i ilə siyasəti hər hansı SA yaranmazdan əvvəl görə bilərsiniz. Çalışdırın ip xfrm policy və istiqaməti out olan, bağlantıya işarə edən şablonu olan selektoru axtarın. Həmin qeyd on-demand vəziyyətdir və onun mövcudluğu təsdiqlənməli ilk şeydir.
start_action hər hansı bir şeyin ümumiyyətlə gözləyib-gözləmədiyini həll edir
Hər child üçün swanctl.conf faylındakı start_action. start yüklənmə zamanı işə düşür, trap siyasəti quraşdırır və gözləyir, və none inisiasiyanı başqa bir şeyə buraxır. Yalnız trap yuxarıda təsvir olunan ping-və-qalxır davranışını yaradır.
children {
office-lan {
local_ts = 192.168.50.0/24
remote_ts = 192.168.70.0/24
start_action = trap
}
}
İki trafik selektoru nəyin maraqlı sayıldığını müəyyən edir, və bu prefikslərdən kənarda olan hostdan gələn paket tələni işə salmır; həmişəki kimi marşrutlanır. Tetikleyicini daha həvəsli etmək üçün selektorları genişləndirmək, tunelin qorumaq iddiasında olduğu əhatəni də genişləndirir, ona görə onları həqiqətən şifrələmək istədiyiniz trafikdən çıxarın.
Burada swanctl.conf sənədi qəbul edilən dəyərləri, həmçinin SA mövcud olduqdan sonra nə baş verdiyini tənzimləyən ayrıca close və DPD əməliyyatlarını sadalayır.
Tetikleyicinin ümumiyyətlə işə düşüb-düşmədiyini öyrənin
Əvvəlcə swanctl --list-conns işlədin və child-in nəzərdə tutduğunuz əməliyyatla yükləndiyini təsdiqləyin. Sonra bir paketi local_ts daxilindəki hostdan remote_ts daxilindəki ünvana göndərin və swanctl --list-sas çıxışını izləyin. Çıxış dəyişmirsə, demona heç bir acquisition çatmayıb.
Səssiz tələnin iki adi səbəbi: paket siyasətə dəyməzdən əvvəl mənbə-NAT edilib və artıq uyğun gəlmir local_ts, ya da bağlantı sintaksis və ya etimadnamə xətası səbəbindən heç yüklənməyib. Yenidən işlədin swanctl --load-all və selektorlara toxunmadan əvvəl çıxışını oxuyun. Yüklənməyən bağlantı heç bir siyasət quraşdırmır, ona görə trafikin işə salacağı bir şey yoxdur.
İstiqamət də vacibdir: giden trafik üçün quraşdırılmış tələ gələn paketlə başlamır. Əgər tuneli uzaq tərəf qaldırmalıdırsa, onun öz tələsinə ehtiyacı var, ya da bu tərəfə start.
İlk paketi gözləmək həmişə düzgün mübadilə deyil
İnteraktiv sessiyalar quraşdırma xərcini hiss edir. İlk sorğu IKE mübadiləsi və CHILD danışığının haqqını ödəyir və qısa son tarixli müştəri SA mövcud olmadan imtina edə bilər. Proaktiv start həmin ilk-paket gecikməsini aradan qaldırır. Heç vaxt gəlməyəcək trafik üçün tuneli açıq saxlayır.
Seçimi üç fakt həll edir: yolun nə qədər tez-tez istifadə olunduğu, ilk sorğunun sıx son tarixi olub-olmadığı və peer-in açılış zamanı əlçatan olub-olmadığı. Təsadüfi toplu trafik və açılışda oflayn ola bilən peer ikisi də trap-ə üstünlük verir. Gecikməyə həssas müştəri və həmişə əlçatan peer isə start-ə üstünlük verir. Hər iki tərəf başlaya bilirsə, təkrar danışıqlar almamaq üçün tetikleyicinin kimə aid olduğunu razılaşdırın.
Quraşdırılmış siyasət də sızmağa qarşı zəmanət deyil. Tələb fail-closed-dursa, firewall SA-sı olmayan trafiki atmalıdır və bu qayda child tərifindən kənarda yaşayır.
Növbəti mübahisəni bitirən üç sətri qeyd edin
Selektorları, başlatma əməliyyatını və siyasətin SA olmadan mövcud olduğunu göstərən əmr çıxışını yazın. Bu üç sətir növbəti dəfə kimsə tuneli söndürülmüş kimi bildirdikdə “tələbdə və boş” ilə “yüklənmir”i ayırır. Onları tutmaq bir dəqiqə çəkir. Onlar olmadan eyni araşdırma sıfırdan başlayır.
Selektorun həqiqətən içində olan hostdan sınaq keçirin. Router-in özündən ping çox vaxt fərqli yol izləyir və arxasındakı alt şəbəkəni qoruyan siyasət haqqında heç nə sübut etmir.