Makinedeki bir uygulama VPN üzerinden çıkıyor, diğeri çıkmıyor ve iki kullanıcı da hiçbir şeyi değiştirmediklerine yemin ediyor. Fark çoğu zaman uygulamanın kendi verdiği bağlama kararıdır: bir aygıta bağlanmış soket, bağlantıdan önce seçilmiş kaynak adres veya kendi yönlendirme tablosu olan bir ad alanı. Her biri hangi yolun geçerli olduğunu değiştirir ve hiçbiri tarayıcıdaki genel IP kontrolünde görünmez.

Üç farklı bağlama, üç farklı etki

Aygıta bağlama ile kaynak adrese bağlama ilişkili işlemlerdir ama sonuçları farklıdır. Aygıt bağlaması trafiği tek bir arayüzden çıkmaya zorlayabilir ve o soketin normal rota aramasını atlayabilir. Kaynak adres bağlaması yine de rota seçiminden geçer, ancak seçilen kaynak bir politika kuralına uyup paketi başka yere gönderebilir. Bu ayrım bir kural kaynağa göre yönlendirene kadar akademik görünür. O zaman her şeye karar verir.

Ağ ad alanı üçüncü durumdur. Kendi arayüzleri ve kendi yönlendirme tablosu vardır, bu yüzden içindeki uygulama ana makinenin varsayılanından hiç etkilenmez. Üçünü aynı şey saymak ilk testi geçmeyen kendinden emin açıklamalar üretir.

Uygulamanın gerçekte ne ayarladığını belirleyin

Rotalara dokunmadan önce uygulamanın ağ yapılandırmasını veya belgelenmiş davranışını okuyun. Arayüz seçimi, kaynak adres alanı veya ad alanı seçeneği sunuyorsa ilk incelenecek şey bu ayardır. Sunmuyorsa bağlama içsel olabilir ve yalnızca izleme ya da kendi tanılamasıyla görülebilir.

Linux'ta SO_BINDTODEVICE gibi soket seçeneklerinin belgelenmiş kapsamı ve izin gereksinimleri vardır ve ayrıcalıksız bir süreç bunları hiç ayarlayamayabilir. Bu kısıt yararlı bir ipucudur: seçenek uygulanamıyorsa farkın kaynağı muhtemelen uygulama değildir.

Politika yönlendirmesi kaynağı okur

Politika yönlendirmesi yapılandırıldığında bir kural, paketin kaynağına göre tablo seçebilir. Bu yüzden kaynak adres bağlayan bir soket, varsayılan yolun hiç dokunmadığı bir kuralı izleyebilir; açıkça adlandırılmış bir arayüz olmasa bile.

Aramayı uygulamanın kullandığı aynı adres ailesi, kaynak ve ad alanıyla yeniden üretin. Ana makinenin ad alanındaki bir kabuktan yapılan genel rota araması başka bir soruyu yanıtlar ve çalışan bir rotanın bozuk görünmesinin en yaygın nedeni bu uyumsuzluktur.

Bölünmüş tünel ve yardımcı süreçler

Uygulama başına bölünmüş tünel bir katman daha ekler. İstemci uygulamanın paketini veya sürecini eşleştirebilir ve kendi soketini açan yardımcı ayrı bir konudur. Bir başlatıcı ve arka plan hizmeti aynı görünen ad altında farklı bağlantılar üretebilir.

Bölünmüş tünel kuralının gerçekten bağlanan süreci kapsayıp kapsamadığını kontrol edin. Uygulama belirli bir arayüze bağlanıyor ve VPN istemcisi pakete göre eşleşiyorsa iki karar, hiçbiri yanlış olmadan çelişebilir.

Uygulamanın kendi yolunu test edin

Her değişiklikten sonra uygulamadan yeni bir istek çalıştırın. İstediğiniz çıkışı gösteren bir tarayıcı, başka bir arayüze bağlı başka bir program için eşdeğer kanıt değildir ve önbelleğe alınmış bağlantılar bir ayar değiştikten çok sonra eski yolu kullanmaya devam edebilir. Yeni kuralı değerlendirmeden önce eski oturumu kapatın. Yoksa test geçmişi ölçer.

Linux soket başvurusu SO_BINDTODEVICE ve gereksinimlerini belgeler. Önce uygulamanın kendi yapılandırmasını okuyun, aramayı aynı bağlamda yeniden üretin ve ancak ondan sonra rotanın mı bağlamanın mı değişmesi gerektiğine karar verin.

İlgili makaleler