strongSwan trap modu: IPsec tüneli trafiği neden bekler
Boşta bir isteğe bağlı IPsec tüneli, bir paket trap ilkesiyle eşleşene kadar CHILD SA göstermez. Durumu okuyun, tetikleyiciyi kontrol edin ve start'ın ne zaman uygun olduğunu bilin.
Durum çıktısında CHILD SA görünmez, tünel ölü görünür ve sonra uzak alt ağa bir ping onu ayağa kaldırır. İsteğe bağlı IPsec kurulumunda bu sıra tasarımdır, arıza değil. Bir trap ilkesi bir seçici kurar ve bekler, ona uyan ilk paket IKE ve CHILD SA görüşmesini başlatır.
Karışıklığın bir kısmı sözlüktür: „up“ iki farklı durum için kullanılır. Yapılandırma yüklendi ve çekirdek ilkesi mevcut, ama veri birliği değil. Yalnızca etkin SA'ları sayan bir izleyici, kimse oraya trafik göndermediği sürece sağlıklı bir siteyi kapalı bildirir.
Boşta bir isteğe bağlı tünelin gösterecek CHILD SA'sı yoktur
Trap kaydı kendi başına hiçbir şeyi doğrulamaz. Çekirdekten seçilen trafik için bir ilke tutmasını ve bir paket o ilkeye ihtiyaç duyduğunda acquisition kaldırmasını ister. Daemon acquisition'ı alır, child tanımıyla eşleştirir ve oradan görüşür. O ana kadar gösterilecek IKE SA da yoktur, bu yüzden iki liste aynı anda boş olabilir.
Logları okunur kılan bu sıradır. Önce acquisition gelir, sonra IKE_SA_INIT ve IKE_AUTH, sonra CHILD SA. Log acquisition'dan hemen sonra bitiyorsa tetikleyici çalışmıştır. Görüşme başarısız oldu ve sıradaki soru trap hakkında değil, kimlik bilgileri, öneriler veya erişilebilirlik hakkındadır.
Linux çekirdek backend'i ile herhangi bir SA oluşmadan önce ilkeyi görebilirsiniz. Şunu çalıştırın: ip xfrm policy ve yönü out, bağlantıya işaret eden şablonu olan seçiciyi arayın. O kayıt isteğe bağlı durumdur ve varlığı doğrulanması gereken ilk şeydir.
start_action herhangi bir şeyin bekleyip beklemeyeceğine karar verir
Her child swanctl.conf dosyasında start_action. start yapılandırma yüklenirken başlar, trap ilkeyi kurar ve bekler, none ise başlatmayı başka bir şeye bırakır. Yalnızca trap yukarıda açıklanan „ping ve ayağa kalkıyor“ davranışını üretir.
children {
office-lan {
local_ts = 192.168.50.0/24
remote_ts = 192.168.70.0/24
start_action = trap
}
}
İki trafik seçici neyin ilginç sayıldığını tanımlar, bu öneklerin dışındaki bir ana bilgisayardan gelen paket trap'i tetiklemez; her zamanki gibi yönlendirilir. Tetikleyiciyi daha hevesli yapmak için seçicileri genişletmek, tünelin koruduğunu iddia ettiği kapsamı da genişletir, bu yüzden onları gerçekten şifrelemek istediğiniz trafikten türetin.
swanctl.conf başvurusu kabul edilen değerleri, SA var olduktan sonra ne olacağını belirleyen ayrı close ve DPD eylemleriyle birlikte listeler.
Tetikleyicinin hiç çalışıp çalışmadığını öğrenin
Şununla başlayın: swanctl --list-conns ve child'ın amaçladığınız eylemle yüklendiğini doğrulayın. Ardından local_ts içindeki bir ana bilgisayardan remote_ts içindeki bir adrese bir paket gönderin ve swanctl --list-sas izleyin. Çıktı değişmiyorsa daemon'a hiçbir acquisition ulaşmadı.
Sessiz bir trap'in iki yaygın nedeni: paket ilkeye çarpmadan önce source-NAT gördü ve artık local_ts ile eşleşmiyor, ya da bağlantı sözdizimi veya kimlik bilgisi hatası nedeniyle hiç yüklenmedi. Seçicilere dokunmadan önce swanctl --load-all yeniden çalıştırın ve çıktısını okuyun. Yüklenemeyen bir bağlantı ilke kurmaz, dolayısıyla trafiğin tetikleyeceği bir şey yoktur.
Yön de önemlidir: giden trafik için kurulan bir trap gelen pakette başlamaz. Uzak taraf tüneli kaldırmalıysa kendi trap'ine ihtiyacı vardır, ya da bu tarafın start.
İlk paketi beklemek her zaman doğru takas değildir
Etkileşimli oturumlar kurulum maliyetini hisseder. İlk istek IKE değişimi ve CHILD görüşmesi için öder ve kısa süreli bir istemci SA oluşmadan pes edebilir. Proaktif start bu ilk paket gecikmesini ortadan kaldırır. Ama hiç gelmeyebilecek trafik için tüneli açık tutar.
Üç olgu seçimi belirler: yolun ne sıklıkla kullanıldığı, ilk isteğin sıkı bir süresi olup olmadığı ve peer'in açılışta erişilebilir olup olmadığı. Ara sıra gelen toplu trafik ve açılışta çevrimdışı olabilecek bir peer ikisi de trap lehine konuşur. Gecikmeye duyarlı bir istemci ve her zaman erişilebilir bir peer start lehine konuşur. İki taraf da başlatabiliyorsa yinelenen görüşmeler olmaması için tetikleyicinin kime ait olduğunda anlaşın.
Kurulu bir ilke de sızıntıya karşı garanti değildir. Gereksinim fail-closed ise güvenlik duvarı SA'sı olmayan trafiği düşürmelidir ve bu kural child tanımının dışında yaşar.
Bir sonraki tartışmayı bitirecek üç satırı yazın
Seçicileri, başlangıç eylemini ve ilkenin SA olmadan var olduğunu gösteren komut çıktısını yazın. O üç satır, bir dahaki sefere biri tüneli kapalı bildirdiğinde „istek üzerine ve boşta“ ile „yüklenmiyor“u ayırır. Kaydetmeleri bir dakika sürer. Onlar olmadan aynı soruşturma sıfırdan başlar.
Gerçekten seçicinin içindeki bir ana bilgisayardan test edin. Yönlendiricinin kendisinden yapılan ping genellikle başka bir yol izler ve arkasındaki alt ağı koruyan ilke hakkında hiçbir şey kanıtlamaz.