OpenConnect tünel el sıkışmasını tamamlayıp yine de sizi özel alt ağa giden bir rota olmadan bırakabilir, çünkü istemci ile yerel ağ durumunu değiştiren yardımcı iki farklı programdır. Kimlik doğrulama, ağ geçidinin oturumu kabul ettiğini kanıtlar; sonrasında hangi arayüzün, hangi rotaların veya çözümleyici ayarlarının kurulduğuna dair hiçbir şey kanıtlamaz. Kafa karıştırıcı raporların çoğu, yardımcının eski bir yanıttan alınan kopyayla değiştirilmesinden kaynaklanır ve bu, makinedeki her bağlantının davranışını değiştirir. Onun herhangi bir bölümünü değiştirmeden önce çalışan istemcinin gerçekte çağırdığı yardımcıyı bulun.

İki program, iki sorumluluk

İstemci taşıma, kimlik doğrulama ve tünel aygıtının sahibidir. Ayrı bir yardımcı, tünel var olduktan sonra yerel sistemde olanların sahibidir: arayüzde adresleme, ağ geçidinin duyurduğu alt ağlara rotalar ve çözümleyici yapılandırması. OpenConnect yardımcısının belgeleri bu ayrımı ve yardımcının aldığı ortamı açıklar. Ayrım bir arıza sırasında önemlidir, çünkü reddedilen bir parola ile eksik bir rota aynı olay değildir, masaüstü ikisi için tek bir iletişim kutusu gösterse bile.

Bu ayrımı akılda tutmak, bir bağlantının neden başarı bildirdiği halde özel adların hâlâ çözülemediğini de açıklar. Tünel her iki durumda da ayaktadır ve yalnızca yerel tümleştirme aşaması farklıdır.

Çalışan istemcinin kullandığı yardımcıyı bulun

Yol, paket derlenirken belirlenir ve her çağrıda geçersiz kılınabilir; bu nedenle başka bir dağıtımdan hatırladığınız dosyanın bu bağlantıyla hiçbir ilgisi olmayabilir. Açık olan belgelere değil, çalışan sürece sorun.

openconnect --version
ps -o args= -C openconnect
dpkg -L openconnect | grep -i script
ls -l /etc/vpnc/ 2>/dev/null

Süreç satırı bir --script bağımsız değişkeni taşıyorsa, o dosya derlenmiş varsayılanı yener. /etc/vpnc/vpnc-script gibi eski yollar var olup kullanılmadan kalabilir, bu yüzden bunları silmek veya düzenlemek yeni bir derlemede hiçbir şeyi değiştirmez. Değişiklik tarihine de bakın, çünkü yıllardır kimsenin dokunmadığı bir yardımcı, paketlenmiş varsayılanın işi yaptığının güçlü bir işaretidir.

NetworkManager tümleştirmesi üçüncü sahiptir; kendi yardımcısı ve kendi profil ayarları vardır. Bu tümleştirmenin üzerine ikinci bir rota veya çözümleyici betiği koymak rotaları ikiye katlar ve iki programın da kendisinin yönettiğini iddia ettiği bir çözümleyici bırakır. Bağlantı başına tek bir sahip seçin ve test etmeden önce diğerini kapatın.

Son uyarıyı değil, ilk başarısız işlemi okuyun

Arayüz yapılandırması, rota kurulumu, çözümleyici seçimi ve eski durumun temizlenmesi ayrı adımlardır ve en son yazdırılan uyarı çoğu zaman bağlantıyı koparan arıza değil, temizlik şikâyetidir. İlk somut başarısız işleme kadar yukarı doğru okuyun. Bir dosyayı veya adresi adlandıran yardımcı hatası, on satır sökme gürültüsünden daha değerlidir.

Amaçlanan yerel sonucu gözlenen sonuçla karşılaştırın: tünel aygıtı vardır, bilinen bir özel adrese giden rota onun üzerinden geçer ve çözümleyici özel bir ad için yanıt verir. İlk ikisinde başarılı olup üçüncüsünde başarısız olan yardımcı, yönlendirmeye değil çözümleyici ilkesine işaret eder. Aygıtı hiç yapılandırmayan yardımcı büyük olasılıkla hiç çalıştırılmamıştır ve bu ağ değil izin sorunudur. Herhangi bir mantığı yeniden yazmadan önce çalıştırma bitini ve hizmet hesabını doğrulayın.

Bağlanmayı, yeniden bağlanmayı ve bağlantıyı kesmeyi doğrulayın

Kurulum sözleşmenin yalnızca yarısıdır, çünkü aynı yardımcı tünel kapandığında sahip olduğu durumu geri yüklemek veya kaldırmak zorundadır. Rota ekleyip onları asla kaldırmayan bir yardımcı, makinede oturumdan daha uzun yaşayan eski bir yol bırakır.

ip -brief address show tun0
ip route get 10.24.8.15
resolvectl status tun0
journalctl -u NetworkManager -b --no-pager | grep -i -E 'vpnc|script'

Bağlıyken ilk üçünü çalıştırın, bağlantıyı kesin, sonra yeniden çalıştırın ve rotanın ve çözümleyici girdisinin gittiğini doğrulayın. Dördüncü satır, yardımcının hiç çağrılıp çağrılmadığını ve hizmetin hangi çalıştırılabilir yolu kullandığını gösterir. Bu iki çıktıyı kayda kaydedin, çünkü temizlik hatasını belirgin kılan şey tam olarak önce-sonra karşılaştırmasıdır.

Yardımcıyı paketlenmiş ve hizmet hesabı tarafından çalıştırılabilir tutun, çünkü kabuk kodunuzda çalışan bir betik kısıtlı bir hizmet ilkesi altında yine de reddedilebilir. Özelleştirme gerçekten gerekli olduğunda amacını ve sahibini belgeleyin ve her yükseltmede paketlenmiş sürümle karşılaştırın. Bir yardımcının açıklanmamış çatalı, bir yıl sonra çalışan bir bağlantıyı bozabilecek az sayıdaki şeyden biridir.

İlgili makaleler