L2TP: ölümcül sinyal 15, NO_PROPOSAL_CHOSEN ve kayıp modp1024
NO_PROPOSAL_CHOSEN ile birlikte gelen ölümcül sinyal 15, 2. faz uyuşmazlığıdır: ya daemon artık modp1024 sunmuyor ya da 1. fazdan bir değer 2. faz alanında duruyor.
Bağlantın takılır, istemci çıkar ve ekrandaki son satır death_handler: Fatal signal 15 received olur. O satır bir kopmayı bildirir, nedeni değil. IPsec günlüğünde bir satır yukarıda neredeyse her zaman NO_PROPOSAL_CHOSEN vardır ve bu ikili, tarafların şifreleme ve hash seçeneklerini karşılaştırıp ortak bir şey kalmadığında durduğu 2. faza işaret eder. O aşamada kimlik bilgileri henüz gönderilmemiştir, bu yüzden parolayı yeniden yazmak sonucu değiştiremez.
Bir Linux istemcisinde bu kesişimi genellikle iki şey boşaltır. Yerel daemon, profilin istediği Diffie-Hellman grubunu artık uygulamıyor olabilir ya da profil, 1. faz teklifini 2. faz alanında taşıyor olabilir. İkisi de günlükte iz bırakır ve hiçbiri hesap sorunu değildir.
İki mesajın gerçekte ne dediği
IKE turlar hâlinde anlaşır. 1. faz korumalı bir kanal kurar ve kendi algoritmalarını seçer; 2. faz, yani alt SA, trafiği ayrı bir küme altında taşır. NO_PROPOSAL_CHOSEN, sunulan bileşimlerden hiçbiri kabul edilebilir olmadığında yanıtlayanın geri gönderdiği bildirimdir ve INFORMATIONAL değişiminin içinde [ HASH N(NO_PROP) ] olarak görünür.
Sinyal 15 farklı bir olaydır: bir şey yerel sürece durmasını söyledi ve işleyici bunu günlüğe yazdı. İki satır birlikte göründüğünde sıra nedenseldir, önce reddetme sonra kapatma.
Kimlik bilgilerine dokunmadan önce anlaşmayı okuyun
Günlük düzeyini daemonun yazdığı yerde yükseltin, ardından çıktıyı izleyerek yeniden bağlanın. NetworkManager ana bilgisayarında L2TP eklentisi bu düzeyi arka uca iletir ve mesajlar dağıtıma göre journal'a ya da klasik syslog dosyasına düşer. Bunlardan herhangi biri değişimi gösterecektir: journalctl -f -u NetworkManager | grep -Ei 'pluto|charon|no_prop|proposal' veya tail -f /var/log/syslog | grep -Ei 'pluto|charon|ike'.
pluto adını anan satır libreswan'dan, charon strongSwan'dan gelir ve ikisi de aynı durumu farklı sözcüklerle anlatır. Aramaya değer biçim, eksik grubu adlandıran biçimdir; örneğin algorithm 'modp1024' is not supported, çünkü belirsiz bir hatayı somut bir hataya çevirir.
modp1024 nereye gitti
Diffie-Hellman 2. grubu o kadar zayıftır ki birçok dağıtım 3.30'dan itibaren onu libreswan içine derlemeyi bıraktı. O zaman yıllar önce yazılmış ya da yalnızca aes128-sha1-modp1024 listeleyen bir ağ geçidi kılavuzundan alınmış bir profil, yerel daemondan hiç yapamayacağı bir şey ister. Daha yeni NetworkManager-l2tp derlemeleri bu sonucu daha olası kılar: 1.2.16'dan itibaren kümeyi Windows 10 ve iOS tarzı tekliflerle değiştirir ve libreswan algılanır algılanmaz modp1024'ü bırakır. Karşı taraf çoğu zaman suçsuzdur ve hâlâ tam olarak yapılandırdığınız grubu sunar.
Hatayı rastgele gibi hissettiren şey bu asimetridir. Daha eski bir istemci bağlanır, güncellenmiş dizüstünde aynı profil bağlanmaz ve sunucu yapılandırması hiç yerinden oynamamıştır. Zararı sürüm kayması verir.
Etkisi farklı iki onarım
Ucuz onarım algoritmaları elle sabitlemeyi bırakmaktır. Düzenleyicideki iki teklif alanını boşaltın ve eklentinin uzak tarafın kabul ettiği bir küme seçmesine izin verin; ağ geçidi çağdaş grupları destekliyorsa anlaşma ek iş olmadan tamamlanır.
İkinci onarım, strongSwan kurarak eski bir ağ geçidini erişilebilir tutar; paketleri çoğu dağıtımda 2. grubu hâlâ uygular. Bu bir daemon değişimidir, dolayısıyla bir bedeli vardır: kaldırmadan önce ana bilgisayardaki diğer tünellerin libreswan yapılandırmasına bağlı olup olmadığını doğrulayın ve Fedora'da NetworkManager ile strongSwan eklentisi arasında SELinux retleri bekleyin. Bu retler IKE izinde değil denetim günlüğünde görünür; bu yüzden başarılı bir kurulumdan hemen sonra tünel bozuk görünebilir. İşleyen sıra önce dnf install strongswan, sonra rpm -e libreswan.
Eşleşen teklif dizileri ve çevrelerindeki tuzaklar
Alanlar elle doldurulmak zorunda kaldığında 1. faz ile 2. faz farklı değerler alır. Meraki tarzı karşı tarafa karşı çalıştığı bilinen çift, 1. fazda aes128-sha1-modp1024 ve arkasında 3des-sha1-modp1024 sunar; ikisi de kümeyi katı yapan bir ünlem işaretiyle kapatılır, böylece yalnızca o teklifler gönderilir.
2. faz sonra aynı katı işaretle ve hiç Diffie-Hellman son eki olmadan aes128-sha1 ve 3des-sha1 değerlerine daralır. -modp1024 taşıyan 2. faz satırı yanlış alandaki 1. faz değeridir ve yanıtlayan onu her denemede reddeder. O satırı ikinci bir profile kopyalayın, ikinci profil de aynı şekilde başarısız olur ve böylece tek bir yazım hatası tüm filo için olay olur.
Diğer arızalar teklif uyuşmazlığı olmadıkları hâlde aynı açılır pencereyi taşır. KDE'de eklenti kurulu olsa bile L2TP türü listelenebilir ama her bağlantı anında ölür, çünkü bağlantı düzenleyicisi ve çalışma zamanı yardımcıları ayrı paketler olarak gelir. Ekransız ana bilgisayarlar çalışan bir masaüstünden profil yeniden kullanabilir: /etc/NetworkManager/system-connections/ konumundan kopyalayın, kipi 600 yapın, ardından nmcli con reload çalıştırın. nmcli con up id work-l2tp ile yukarı kaldırın, çünkü çıplak biçim UUID ister, ve eski ifname girdisini kaldırın, yoksa geri kalan her şey doğruyken yönetici Could not find source connection diye yanıt verir.
Önceden paylaşılan anahtar düz metin olarak ya da 0s ve ardından base64 olarak saklanabilir; iki biçim de çalışır, ancak değer ağ geçidiyle bayt bayt eşleşmelidir, onunla birlikte kopyaladığınız sondaki boşluklar dahil.