Aşağı akış alt ağı ile masaüstü VPN: aktarımı hariç tut, uygulamaları değil
Uygulama başına atlatma yalnızca yerel çıkışı sınıflandırır. İş istasyonunun arkasındaki cihazların kendi giriş, iletme ve dönüş yolu politikasına ihtiyacı vardır.
Bir makine, iki iş, bir güvenlik duvarı: bir Wi-Fi üst bağlantısı, arkasında küçük bir Ethernet alt ağı ve makineden çıkan her şeyi yerel varsayan bir masaüstü VPN istemcisi. Yerel olarak başlatılan uygulamalar yerel çıkış yolu üzerinden çıkar. İş istasyonunun arkasındaki cihazlar Ethernet bağlantı noktasına gelir ve bir iletme kararına ihtiyaç duyar. İlk yol için yazılmış bir istisna ikinciyi hiç görmez, bu yüzden tarayıcı tüneli atlar ama cihazlar atlamaz.
İki paket yolu, tek politika
| Origin | Path | Decision owner |
|---|---|---|
| Application on the workstation | OUTPUT then egress | The VPN app's routing policy |
| Device behind the workstation | PREROUTING then FORWARD | The workstation's own forwarding policy |
İlk satır çoğu split-tunneling kılavuzunun anlattığıdır. İkincisi aynı makinede tesadüfen yaşayan bir yönlendirici yapılandırmasıdır. İkisini tek bir zihinsel modelde eritmek hatadır; çekirdeği paylaşırlar ama politikayı paylaşmazlar. Herhangi bir kuralı düzenlemeden önce iki yolu da çizin; tasarımın geri kalanı hangi yolun eksik olduğundan çıkar.
Tablo ayrıca bir makinenin bir testi geçip diğerinde nasıl başarısız olduğunu açıklar. İş istasyonundaki tarayıcı yerel yolu kanıtlar; Ethernet bağlantı noktasına takılı dizüstü bilgisayar iletme yolunu kanıtlar. Her değişikliği ikisiyle de doğrulayın, yoksa tarayıcı kaç kez yenilenirse yenilensin ikincisi test edilmemiş kalır.
Bir uygulama istisnası gerçekte neyi sınıflandırır
Uygulama başına istisna genellikle şöyle çalışır: bir süreçten veya kullanıcıdan gelen paketleri işaretler ve ardından işaretli trafiği tünelin dışına yönlendirir. Bu bir yerel çıkış yapısıdır. Aşağı akış cihazından gelen paketin yerel süreci yoktur, bu yüzden seçici ne olursa olsun seçiciyle asla eşleşmez.
Seçici ne olursa olsun, iki liste aynı liste değildir ve bütün mesele budur. Mullvad'ın Linux kılavuzu güvenlik duvarının ve yönlendirme politikasının tükettiği işaretleri açıklar ve örnekleri yerel çıkışı hedefler; bunlar aşağı akış yönlendiricisinin desteklenen bir tanımı değildir. Bunları kopyalamak, her şeyi tünele ilettiği hâlde istisnası olduğuna inanan bir makine üretir.
Aktarım sözleşmesini yazın
Aşağı akış kaynak önekini ve giriş arayüzünü birlikte adlandırın, sonra bu öneği girişte sınırlayın. Sınırlama olmadan, bağlantı noktasına ulaşan herhangi bir cihaz istisna edilmiş bir adres iddia edip atlatmadan çıkabilir. Bunu iki soru olarak ele alın: bu ana makineler bu üst bağlantıyı hiç kullanabilir mi ve iş istasyonuna veya tünelin özel aralıklarına ulaşabilir mi? Bunlar ek izinlerdir, bağlantı seçiminin yan etkisi değildir.
İletmeye izin verin, sonra filtreleyin. Linux geçidi etkin iletmeye, amaçlanan trafiği iki yönde de geçiren kurallara ve ya yukarı yönlü dönüş rotasına ya da bilerek daraltılmış kaynak çevirisine ihtiyaç duyar. NAT tek başına üst bağlantıyı seçmez ve filtreden geçiş vermez; yalnızca bu kararlardan sonra bir adresi yeniden yazar.
Aktarım için sınıflandırma, iletme rotası kararından önce gerçekleşmelidir; bu, output değil prerouting aşaması demektir. Karardan sonra yerleştirilen kural paketi hâlâ değiştirebilir, ancak paketin zaten gönderildiği yeri değiştiremez.
İşaretler onları sahiplenen uygulamaya aittir
İşaret değerleri, tablo numaraları ve zincir öncelikleri VPN uygulamasının politikasının parçasıdır, sonsuz sabitler değildir. Kuralın başka bir programın yeniden ürettiği bir tabloya eklenmesine bağlı olan dayanıklı bir ağ, bir sonraki güncellemede bozulur; genellikle uygun bir anda değil, yeniden bağlanma sırasında.
accept kararıyla ikinci bir temel zincir eklemek, daha sonraki bir zincirin drop'unu mutlaka geçersiz kılmaz. Temel zincirlerin kancaları ve öncelikleri vardır ve sıralamadaki ilk karar kazanır; bir zincirdeki accept, başka bir zincirin önce ulaştığı drop'u iptal etmez. Artan tek sayaca değil, tam kural kümesine ve yönlendirme politikasının sırasına bakın. Sayaç bir kuralın çalıştığını kanıtlar, kararının uygulanan olduğunu asla kanıtlamaz.
Bütünleştirin veya alt ağı taşıyın
İki tasarım atlatmanın kime ait olduğu konusunda ayrılır. Bütünleşik tasarım bir makine ve bir politika tutar; bunun bedeli VPN uygulamasının tablo yaşam döngüsüne ve belgelerinin değiştirebileceği bir işaret kümesine bağımlılıktır. Aşağı akış ağı için ayrılmış bir yönlendirici bu bağımlılığı tamamen kaldırır: alt ağın kendi üst bağlantısı vardır ve iş istasyonu iletme rolü olmayan bir istemci olarak kalır.
İkinciyi, aşağı akış ağı VPN güncellemeleri boyunca çalışmaya devam etmesi gerektiğinde veya her sürümden sonra bütünleşik politikayı kimse test edemediğinde seçin. Birinciyi yalnızca bütünleştirme belgelendiğinde ve onu sahiplenen biri olduğunda seçin.
Sınırı dört durumda doğrulayın: bağlı, yeniden bağlanıyor, bilerek engellenmiş ve durdurulmuş. Her birinde ad çözümlemesini ve her iki adres ailesini kontrol edin, çünkü DNS sızdıran bir atlatma tasarladığınız istisna değildir. Test kesin sınırı kanıtlamalı, yalnızca bir sayfanın yüklendiğini değil.