Kerio tünelinin trafik taşıması için üç şeyin uyuşması gerekir: kvnet arayüzündeki adres, istemcinin günlüğe yazdığı değer ve sunucu ilkesinin ya da DHCP'nin beklediği şey. Uyuşmadıklarında tünel yine kimlik doğrular ve yine ayağa kalkar, ve hatayı kafa karıştırıcı yapan tam olarak budur. Arayüz her bağlantı için oluşturulur, bu yüzden elle ayarlanan bir adres yalnızca o oturuma aittir ve başka hiçbir şeye değil. Sorunun biçimi budur ve çözüm bir yapılandırma dosyası değil bir kancadır. Geri kalanı, değerin nereden okunacağı ve nerede uygulanacağıdır.

Adres neden sürekli geri dönüyor

kvnet, istemcinin bir bağlantı başladığında oluşturduğu ve bittiğinde kaldırdığı sanal bir bağdaştırıcıdır. Bu yüzden elle yapılan ip link set tam olarak uygulandığı oturum kadar yaşar ve sonraki bağlantı istemcinin atadığıyla başlar. İstemcinin beklenen adresi uygulayamadığı bir makinede, her yeniden bağlanma aynı uyuşmazlığı yeniden getirir ve kiralama ya da erişim kuralı cihazı yine reddeder.

Bu örüntü kendi başına tanısaldır. Bir oturum çalışıp sonrakinde başarısız olan bir tünel kimlik bilgisi sorunu değildir, çünkü kimlik bilgileri bağlantılar arasında değişmez.

Değeri arayüzden değil istemciden okuyun

Linux istemcisi görüşme ayrıntılarını hata ayıklama günlüğüne yazar ve kullanmayı planladığı adres orada bağlantı dizisinin son adres biçimli belirteci olarak görünür. Bunu çekirdeğin gerçekte tuttuğuyla karşılaştırın, ki bu bir readlink uzaklıktadır: cat /sys/class/net/kvnet/address.

İkisi farklıysa istemci doğru değeri biliyordu ve onu uygulayamadı; arayüz var olduktan sonra onu uygulayan bir kanca bu boşluğu kapatır. Günlükte hiç adres yoksa sorun daha erkendir ve bir betiğe değil istemci sürümüne ya da sunucu profiline aittir.

Arayüz var olduktan sonra uygulayın

NetworkManager kullanıcıları betiği gönderici dizinine koyabilir ve yalnızca VPN arayüzü ayağa kalktığında eyleme geçebilir. systemd tarafından yönetilen bir istemci daha fazla özen ister: hizmet başlangıcında çalışan bir drop-in genellikle bağdaştırıcı var olmadan önce tetiklenir, bu yüzden kanca bağdaştırıcıyı varsaymak yerine arayüzü beklemelidir. Adresi o zaman ayarlayın ve bağlantı açıkken çekirdek reddederse bağlantıyı indirin, adresi ayarlayın ve yeniden kaldırın. Çıkarılan belirteci ip link'e vermeden önce bir MAC deseniyle geri okuyun, böylece beklenmeyen bir günlük satırı argüman olamasın.

Bir istemcinin günlüğünden root olarak çalışan her şey dar bir sahipliği hak eder: root'a ait bir dosya, başkalarınca yazılamaz ve doğrulanmış adresin ötesinde hiçbir kabuk araya eklemesi yok. Desen denetimini betiğin içinde tutun. Günlük içeriğinin hangi komutun çalışacağına karar vermesine izin vermeyin.

Bağlantıyı değil kiralamayı doğrulayın

ip -4 -o addr show dev kvnet beklenen aralıkta bir adres göstermeli, ip neigh show dev kvnet ağ geçidini göstermeli ve VPN'in arkasındaki bir hizmet yanıt vermelidir. Sonra bir kez bağlantıyı kesip yeniden bağlanın; adres geri dönerse kanca yanlış olayda tetikleniyor ya da hiç tetiklenmiyordur.

Doğru adresle görünüp hiç kiralama almayan bir arayüz sunucu tarafını işaret eder. Bu başka bir denetimdir ve genellikle başka bir ekiptir. Kancayı yeniden düzenlemeden önce hesabın izinli olduğunu ve havuzun hâlâ bir adresi olduğunu doğrulayın.

Yükseltmeden sonra geçici çözümü yeniden gözden geçirin

Adresi doğru ayarlayan bir istemci derlemesi, kancanızı eski bir değeri uygulamaya bırakır; bu, bir düzeltmenin getirdiği yeni bir hatadır. Başka bir makineden ya da forum gönderisinden asla MAC kopyalamayın; bu istemcinin bu hesap için günlüğe yazdığı değeri kullanın ve doğruladığınız tarihi not edin.

Betiği tek oturumda okunacak kadar kısa tutun. Günlükleri ayrıştıran geçici çözümler doğası gereği geçicidir. Hayatta kalanlar, gelecekteki bir okuyucunun özgün başlık olmadan anlayabildikleridir.

İlgili makaleler