Bir Mac'te OpenConnect istemcisi edinmenin üç yolu vardır ve bunlar diskte farklı şeyler bırakır. Bir Homebrew formülü derlenmiş bir ikili dosya ile yolları ve DNS'i yapılandıran ağ betiğini kurar. Sürüm arşivi, oluşturulmuş bir derleme sistemiyle birlikte kaynak kod verir. git kopyası ise kaynak kodu onsuz verir. Yanlış olanı seçmek, insanların bir öğreticiye başladıktan birkaç dakika sonra eksik bir configure ile karşılaşmasının nedenidir.

Aynı ad altında iki farklı makine

Paket yolu tek bir komuttur ve işi geliştirmek değil bağlanmak olan herkes için doğru varsayılandır.

brew install openconnect

Neyi kurduğu komuttan daha önemlidir. İstemcinin ikili dosyasını alırsınız, ayrıca arayüzü, yolları ve çözümleyiciyi programlamak için istemcinin çağırdığı vpnc-script dosyasını da alırsınız. İkisi bir çift olarak çalışır: ikili dosya TLS oturumunu bitirir ve ortaya çıkan arayüzü betiğe devreder; betik ise bu işletim sisteminin ağını nasıl değiştirmek istediğini bilen kısımdır.

Bu ayrım, kafa karıştıran raporların bütün bir sınıfını açıklar. Bağlanan, başarı bildiren ve ardından trafiği yanlış yola gönderen bir istemcide genellikle tünel değil betik sorunu vardır ve formülü yeniden kurmak bunu yalnızca betik de yeniden kurulduğu için düzeltir. Formülün güncel macOS ve CPU mimarisi desteğini üzerine plan yapmadan önce kontrol edin; kabuk programını kusursuz çalıştıran bir Mac'in hâlâ kendisi için derlenmiş güncel bir paketi olmayabilir.

Kaynak yolunun gerçekte yaptığı

Sürüm arşivi oluşturulmuş bir derleme sistemiyle gelir, bu yüzden tanıdık ./configure baştan itibaren vardır. git kopyasında yoktur, çünkü oluşturulan dosyalar derleme ürünleridir, projenin sakladığı şeyler değildir. ./autogen.sh dosyasının sürüm arşivlerinde değil kopyalar için yönergelerde görünmesinin bütün nedeni budur.

./autogen.sh
./configure
make
make install

Her satır belirli bir şey yapar ve hangisinin başarısız olduğunu bilmek çok tahmini önler. autogen adımı configure üretmek için autotools'u çalıştırır. configure adımı istemcinin ihtiyaç duyduğu derleyiciyi, kütüphaneleri ve başlıkları denetler, sonra bulduklarını yansıtan makefile dosyalarını yazar. make adımı derler. install adımı sonuçları yolunuzda bir yere kopyalar.

İşte o son satırda öğütler sık sık yanlış gider. Kurulum, derlemenin çalıştığının kanıtı değildir ve onu rastgele bir indirme klasöründe yüksek ayrıcalıklarla çalıştırmak, sonradan hatırlamayacağınız dosyaları dağıtmanın iyi bir yoludur. configure eksik bir kütüphane yüzünden başarısız olursa, işe yarayan çıktı yazdırdığı ilk hatadır, günlüğün son yirmi satırı değil.

Oturum ve ağ yapılandırması ayrıdır

Bu ayrım, bir bağlantının gerçekten trafik taşıyıp taşımadığını belirler. TLS oturumunu kurmak size istemci tarafında bir arayüz verir. Yolları, adresleri ve DNS çözümleyicilerini uygulamak ağ betiği aracılığıyla yapılan ikinci adımdır ve betik olmadan ikili dosya üreten bir derlemenin yarım istemcisi vardır.

Aynı ayrım, aynı istemcilere sahip iki makinenin neden farklı davrandığını açıklar: betik sistemin ağ yapılandırmasına başvurur ve bu yapılandırma bir yol talep etmiş olan her şeyi içerir. Bölünmüş tünel trafiği beklenmedik bir yere gönderdiğinde tünel işini yapıyordur ve incelenmesi gereken şey yönlendirme kararıdır.

Bu yüzden hata ayıklarken hangi katmanın başarısız olduğunu sorun. Hiç kurulmayan oturum protokol, sertifika veya kimlik bilgileridir. Kurulan ve hiçbir şey iletmeyen oturum arayüz ve betiktir. Bir ağdan çalışıp diğerinden çalışmayan kurulu istemci erişilebilirliktir ve hiçbir yeniden derleme bunu değiştirmez.

Hangi ikili dosyayı çalıştırdığınızı bilin

Elle kurulmuş bir derleme ile paketlenmiş bir ikili dosya barış içinde bir arada yaşayabilir ve hangisinin çalıştığı niyetlerinize değil yolunuza bağlıdır. Birine sürüm numarası bildirmeden önce bunu öğrenin.

which -a openconnect
openconnect --version
brew list --versions openconnect

İlk komut, kabuğunuzun görebildiği her kopyayı deneyeceği sırayla listeler. İkincisi hangisinin yanıt verdiğini söyler. Bu, beklediğinizle uyuşmuyorsa eski bir deneyden kalan bir derlemeyi çalıştırıyorsunuzdur ve hiçbir yapılandırma değişikliği onu yerinden oynatmaz.

İstemci kurmak ağ geçidini onaylamak değildir

Çalışan bir ikili dosya bir dağıtımı uyumlu hâle getirmez. Ağ geçidinin protokolünü, kimlik doğrulama akışını ve varsa yönetilen cihaz gereksinimini onu sahiplenen kişilerle doğrulayın, çünkü bunlar bir derlemenin sağlayamayacağı politika ve uygulama katmanı gerçekleridir.

Projenin derleme yönergeleri autotools sırasını ve ağ betiği gereksinimini daha ayrıntılı ele alır ve macOS sürümünüzden daha eski bir blog yazısı değil, bunlar izlenmelidir. Amaç yalnızca bağlanmaksa paketi alın, betiği koruyun ve derleyiciyi dışarıda bırakın.

İlgili makaleler