Birisi VPN açık mı diye soruyor ve üç farklı insan bununla üç farklı şeyi kastediyor. Operatör, Office profilinin kimlik doğrulamayı bitirdiğini kastediyor. Zamanlayıcı, özel API'nin yanıt vereceğini kastediyor. Güvenlik incelemesi, bu belirli isteğin korumalı yoldan çıktığını kastediyor. Yönlendirme tablosunda arayüz adı aramak için grep çalıştıran bir betik bunların hiçbirine güvenilir biçimde yanıt vermez.

Bu yüzden kontrol listesi herhangi bir komut çalışmadan önce başlar: denetimin öznesini adlandırın. Sonrasındaki her şey, bunu gerçekten bildirebilecek arayüzü seçmektir.

Komuttan önce özneyi adlandırın

Soruyu öznesi olan bir yüklem olarak yazın. «Office profili bağlı mı» test edilebilir ve yanıtlayabilecek bir sahibi vardır. «Bu iş iç API'ye ulaşabilir mi» farklı bir hata kipine sahip ikinci bir yüklemdir. «Bu istek korumalı yolu kullanıyor mu» üçüncüsüdür ve tüm makine yerine tek bir akıştan söz eden tek ifade odur.

Bunları karıştırmak, kendinden emin biçimde yalan söyleyen otomasyon üretir. Profil durumunu denetleyip sonra API'nin hazır olduğunu varsayan bir iş yanlış katmanda birini çağırır ve API'ye ping atıp bunu tünel kanıtı olarak sunan bir iş, çalışan bir VPN'i ofis ağında tesadüfen bulunan bir dizüstü bilgisayardan ayıramaz.

Tek profil: ona sahip olan şeye sorun

Yerel bir Mac hizmeti için scutil içindeki ağ bağlantısı denetimleri tam olarak bunu bildirir. Bir arayüzden bir şey çıkarmak yerine adlandırılmış bir yapılandırmanın durumunu okurlar.

scutil --nc list
scutil --nc status "Office VPN"

O komuttaki profil adı listeden gelen gerçek ad olmalıdır, bir tahmin değil. Bu, yerel hizmetler için salt okunur bir yoldur ve üçüncü taraf bir istemcinin orada hiç görüneceğinin garantisi yoktur; kendi tünelini yöneten bir sağlayıcının kendi desteklenen durum arayüzüne ihtiyacı vardır. Durum çağrısını yazmadan önce listeyi kontrol edin; böylece eksik bir ad sessizce hiçbir şeyle eşleşmek yerine görünür biçimde başarısız olur.

Bir Network Extension uygulamasının içinde durumu sistemden değil yönetici ve bağlantı nesnelerinden okuyun. Burada kapsama dikkat edin: kayıtlı yapılandırmaları yüklemek yalnızca çağıran uygulamanın oluşturduklarını döndürür, bu nedenle boş bir sonuç «benim hiçbiri» anlamına gelir, «bu Mac'te VPN yok» değil. Başarısız bir sorguyu onaylanmış bağlantısız durumdan ayırın ve geçiş durumlarını kendi sonuçları olarak ele alın, zaten kurulmakta olan bir bağlantıyı yeniden denemek yerine.

Tek iş: hazır olma ayrı bir yüklemdir

Soru bir işin ilerleyip ilerleyemeyeceğiyse, bağlantı sahibi amaçlanan durumu bildirdikten sonra işin gerçek bağımlılığını test edin. Özel kaynağa karşı sınırlı bir hazır olma denetimi doğru biçimdir: işin neye ihtiyacı olduğunu kanıtlar ve fazlasını değil.

Makinedeki her isteğin tüneli kullandığını hâlâ kanıtlayamaz ve kanıtlayabiliyormuş gibi bildirilmemelidir. Aynı şekilde, olağan ağ üzerinden yanıt veren bir kaynak VPN kanıtı değildir, bu yüzden iki denetim ikisi de başarılı olsa bile ayrı kalır.

İş gerçekten korumalı bir yol gerektirdiğinde, bu gereksinim dağıtımın kendi uygulama tasarımına ihtiyaç duyar: yönlendirme, bölünmüş tünel dışlamaları, bir güvenlik duvarı kuralı veya uygulama düzeyinde bir gereksinim. Bir uç noktanın kullanılabilirliği sunucuyla ilgili bir olgudur. Uygulama, istemcinin yapılandırmasıyla ilgili bir olgudur ve biri diğerini kanıtlamaz.

Tek akış: seçilen rotayı inceleyin

Tek bir akış için hedefe, adres ailesine ve kaynak bağlamına, o belirli hedef için seçilen yolu bildiren yönlendirme tanılamasıyla bakın. Bu çıktı, gerçekte kullanılan arayüzü ve kaynak adresini adlandırır; bu, varsayılan rota girdisinden çok daha güçlü bir iddiadır.

Geniş tarayıcı denetimleri tamamen farklı bir soruyu yanıtlar. Genel IP sonucu, bir isteğin bir sunucunun bakış açısından nasıl göründüğünü anlatır ve özel DNS, dışlanan uygulamalar veya başka bir sürecin kullandığı ikinci bir ağ bağlamı hakkında hiçbir şey söylemez.

Çağıranın kullanabileceği bir sonuç döndürün

Yükleme uygun bir dönüş biçimi seçin: adlandırılmış profil durumu, kaynağın hazır olma hükmü veya onu üreten kanıtlarla birlikte açık bir bilinmeyen. Hükmün yanında yapılandırmanın kimliğini ve hatanın nedenini koruyun.

Son alışkanlık, yardımcı olan otomasyon ile sorunları gizleyen otomasyon arasındaki farkı yaratır. «Office VPN: bağlantı kesildi, son deneme kimlik doğrulamada başarısız oldu» bir operatöre nereye bakacağını söyler. «VPN düştü» yeniden kurulumu davet eder ve «arayüz bulundu» sahte bir her şey yolunda davetidir.

Network Extension başvurusu kayıtlı tünel yapılandırmalarının yüklenmesi üzerine bir şey inşa etmeden önce çağıran uygulamanın kapsamını doğrulayacağınız yerdir.

İlgili makaleler