VPN üzerinden Dante SOCKS: tam tünel mi kaynak yönlendirmesi mi
Yalnızca SOCKS vekilini bir tünelden geçirmenin iki yolu: varsayılan rotayı değiştirmek ya da tek bir kaynak adresini kendi tablosuna bağlamak. Farklı biçimlerde başarısız olurlar.
SOCKS vekilinin trafiği VPN'den çıksın, ana makinenin geri kalanı normal yolunu korusun istiyorsunuz. Bunu iki tasarım yapar ve bir şeyler ters gittiğinde neyin bozulduğu konusunda ayrılırlar. Biri varsayılan rotayı tünele iter ve sonra etrafından dolaşır; diğeri ana tabloyu olduğu gibi bırakır ve tek bir kaynak adresini ikinci bir tabloya gönderir. İkincisi daha temizdir ve kendi tuzakları vardır.
İki tasarım, iki farklı hasar yarıçapı
Tam tünel tasarımı, çoğu VPN istemcisinin varsayılan olarak yaptığı şeydir: her şey tüneli izlesin diye varsayılan rotayı değiştirir, sonra izlememesi gerekeni dışlar. Düşünmesi kolay, dar tutması zordur, çünkü eklediğiniz her yerel hizmet, dışlayana kadar tüneli devralır. Arıza biçimi geniştir, çünkü tek bir yanlış rota ana makinenin kendi bağlantısını da yanında götürür.
Kaynak seçimli tasarım ters yöne gider. Ana tablo olduğu gibi kalır ve tek bir ilke kuralı, belirli bir yerel adresten gelen paketleri tünel varsayılanı olan bir tabloya gönderir. Başka hiçbir şey değişmez, yani hasar yarıçapı tek bir adrestir.
Bu darlık aynı zamanda kısıttır: tasarım yalnızca vekilin giden paketleri gerçekten o adresi taşırsa çalışır.
Dante'nin external ayarı ne yapar
External ayarı vekilin giden bağlantılar için kullandığı adresleri seçer; çekirdeğin yönlendirme ilkesine dokunmaz. İşte bu ayrım ikinci tasarımı mümkün kılar ve insanların belgeleri yanlış okuduğu yer de burasıdır. external'ı bir tünel adresine yöneltmek, vekilin bağlantılarını o adresten başlatmasını sağlar ve ardından yönlendirme tablosu bu paketlerin nereye gideceğine karar verir.
Dinleyici ayrı bir konudur. internal'ı vekili kullanması gereken istemcilerle sınırlayın, kimlik doğrulama isteyin ve bağlantı noktasını güvenlik duvarıyla kapatın, çünkü açık bir dinleyici VPN çıkışının özelliği değildir.
Yapılandırılan adresin, vekilin ağ ad alanı içinde gerçekten tünele ait olduğunu doğrulayın.
Kaynak seçimli tabloyu kurmak
10.90.0.2/24 TUN adresi, 10.90.0.1'de erişilebilir bir eş ve başka hiçbir şeyin kullanmadığı bir tablo numarası için düzen şöyle görünür:
ip -4 route add table 100 10.90.0.0/24 dev tun0 src 10.90.0.2
ip -4 route add table 100 default via 10.90.0.1 dev tun0 metric 10
ip -4 route add table 100 unreachable default metric 32760
ip -4 rule add priority 1000 from 10.90.0.2/32 lookup 100Erişilemeyen rota, insanların atladığı kısımdır. O olmadan, tünel rotası kaybolan bir tablo olağan varsayılana düşer ve vekil sessizce WAN'dan çıkar. Onunla arama başarısız olur, bu da sessiz bir sızıntı yerine görünür bir arızadır. Kuralın önceliği de o kaynakla eşleşen her şeyin önünde olmalıdır.
Bu değerler tek bir topolojiyi tanımlar. Noktadan noktaya eşler, net30 adresleme ve farklı bir önek dağıtan istemciler hepsi kendi rotalarına ihtiyaç duyar, bu yüzden adresleri değil biçimi kopyalayın.
Kaynak kuralı nerede sızdırır
Bir kaynak adresiyle eşleşen kural, onu kullanan her süreci etkiler, yalnızca vekili değil. Başka bir servis aynı adresi bağlarsa, onun trafiği de tüneli alır ve arıza ilgisiz bir hizmet sorunu gibi görünür. Vekile başka hiçbir şeyin kullanmadığı bir adres verin ya da kapsamın süreç değil adres olduğunu kabul edin.
DNS diğer sızıntıdır. Çözümleyici soketi vekilin external veri bağlantısı kaynağını kullanmak zorunda değildir, bu nedenle ad aramaları hâlâ WAN'dan çıkabilir. Çözümlemeyi bağlantı kurmadan ayrı test edin ve bu sonucun kabul edilebilir olup olmadığına karar verin.
IPv6 kendi kurallarına ve rotalarına ihtiyaç duyar, çünkü bir IPv4 düzeni onun hakkında hiçbir şey kanıtlamaz.
Tolere edebileceğiniz arızaya göre seçin
Ana makine bir bütün olarak korunmalıysa ve dışlama listesini sürdürebiliyorsanız tam tüneli seçin. Ana makine kendi yolunu korumalıysa ve yalnızca bir hizmet yönlendirilecekse kaynak tabanlı yönlendirmeyi seçin. İkisi de meşrudur; hata, birini seçip sonra onu diğeriymiş gibi test etmektir.
Hangisini seçerseniz seçin, iki taraftan doğrulayın: vekil üzerinden bir istek ve ana makineden doğrudan bir istek, her biri için gözlenen çıkış adresi kaydedilerek.
Tünel düşerse, vekilin başarısız mı olması yoksa geri mi çekilmesi gerektiğine önceden karar verin ve yönlendirme tablosunun bu kararı ifade etmesine izin verin.