Tam tüneli açın; artık her hedef VPN arayüzüne ait, onu sonlandıran makine dahil. Tüneli taşıyan dış paketler o makineye adreslenir, bu yüzden rota sonunda bağımlı olduğu taşımayı tüketir. Bir ek özel rota bunu çözer ve nedeni anlamaya değer. O neden olmadan bir sonraki yeniden kurulum aynı hatayı geri getirir.

Kendi taşımasını yiyen bir rota

Kapsülleme her paketi ikinci bir başlığa sarar. Dış başlık yerel fiziksel adresten sunucunun genel adresine adreslenir ve herhangi bir tünel var olmadan önce fiziksel bağlantıyı geçmelidir.

Şimdi o genel adres için arama tüneli seçsin. Paketi göndermek için makinenin onu kapsüllemesi gerekir, bu da aynı adrese bir rota gerektirir ve o rota tüneli geri verir. İstemciler bunu iki yoldan biriyle ele alır. Dikkatli olan varsayılan rotayı kurmayı reddeder ve hata bildirir, daha az dikkatli olan başarı bildirir ve sonra hiçbir şeyi hareket ettirmez. Sessiz başarısızlık bir öğleden sonraya mal olanıdır.

En uzun önek eşleşmesi herhangi bir metriğe bakılmadan aramayı belirler, bu yüzden tek adresli bir rota makinedeki her varsayılan rotayı geçer. Onarımın arkasındaki tüm mekanizma bu.

İstisnayı varsayılandan önce kurun

Sunucu için tek adresli bir rota oluşturun, fiziksel ağ geçidini sonraki atlama olarak alarak, varsayılan rota hareket etmeden önce. Sıra önemlidir: sonradan kurmak, siz yazarken bozuk bir tünelle yaşamak demektir.

Çoğu istemci bunu istenmeden yapar. OpenVPN uzak adresi arar ve varsayılan ağ geçidini yeniden yazmadan önce onu sabitler, route-delay seçeneği ise bu dizinin yarıştığı platformlar için vardır. wg-quick tamamen başka bir yol izler, paketleri işaretleyip bir ilke kuralına başvurarak istisna eklemek yerine. Farklı mekanizmalar, aynı gereksinim: dış paket yarattığı tünelden kaçmalıdır.

ip route add 203.0.113.10/32 via 192.168.1.1 dev eth0
ip route get 203.0.113.10

Aramanın çıktısı kabul testidir. Fiziksel aygıtı ve fiziksel sonraki atlamayı adlandırmalıdır. O yanıtta bir tünel aygıtı olması, istisnanın eksik olduğu veya onu geçersiz kılan bir şeyin arkasına konduğu anlamına gelir.

Sunucudaki ayna görüntüsü

Aynı tuzak diğer tarafta ters yönde bekler. Sunucuya başka bir tünelden varsayılan rota verin veya istemcilerin genel adreslerini kapsayan bir rotayı ona itin; yanıtları yanlış yön alışkanlığı kazanır.

Bağlanıp istek gönderen bir istemci düşünün. Yanıt o istemcinin genel adresine adreslenir, bu adres artık bir tünel rotasıyla eşleşir, bu yüzden farklı bir arayüzden çıkar ve istemcinin hiç çevirmediği bir kaynağı taşır. İstemci o paketi alıp yine de atabilir, çünkü hiçbir şey onu gönderdiği isteğe bağlamaz. İstemcinin zaman aşımından değil sunucunun yönlendirme kararından başlayın, çünkü ikisinden yalnızca biri gerçek seçimi gösterir.

ip route get 198.51.100.44 from 10.90.0.1
ip rule show
sudo tcpdump -ni any host 198.51.100.44

Üç onarım vardır ve eşit değillerdir. Hizmeti fiziksel adrese sabitlemek veya kaynağı çevirmek ikisi de yönlendirme kararını düzeltmek yerine gizler. Tünel havuzu için yanıt trafiğini ayrı bir tablodan göndermek nedeni düzeltir, diğer ikisi ise yalnızca yönlendirme tasarımı dondurulmuş olduğu sürece kabul edilebilir.

Tünelin sürekli çaldığı istisnalar

Birkaç iş, tünel varsayılan rotaya sahipken bile açık internete ihtiyaç duyar ve her biri kendi istisnasını gerektirir. Dinamik DNS güncelleyicisi genellikle ilk bozulan olur.

Sağlayıcıyı çözer, bir bağlantı açar ve kendi paketlerinin adresi saniyeler önce değişmiş bir tünelden geçtiğini görür, bu yüzden güncelleme başarısız olur veya yanlış adresi yayımlar. Üç çıkış: sağlayıcıyı fiziksel ağ geçidi üzerinden bir ana makine rotasıyla sabitleyin, güncellemeyi tünel kalkmadan önce çalıştırın veya güncelleyiciye tünelin hiç dokunmadığı bir ilke tablosu verin. Zaman eşitlemesi, çözümleyici olmadan açılan bir aygıtta aynı maruziyete sahiptir ve sertifika doğrulama uç noktaları da aynı nedenle listededir.

Kimsenin yazmadığı bir istisna, bir sonraki yeniden kurulumun sessizce düşüreceği istisnadır.

Bunu yeniden bağlandıktan sonra kanıtlayın, öncesinde değil

Bir değil üç hedefi test edin: uç nokta, tünelin arkasındaki özel adres ve ötesindeki genel adres. Tek bir başarılı arama diğer ikisi hakkında neredeyse hiçbir şey söylemez.

ip route get 203.0.113.10
traceroute -n 203.0.113.10
ip route get 10.90.0.5
ip route get 1.1.1.1

Sonra bağlantıyı yeniden başlatın, çünkü yeniden bağlanırken tablosunu yeniden kuran bir istemci elle yazdığınız rotayı atar. Kill switch varsa uç noktanın izinli olduğunu kontrol edin, yoksa ağ değişikliğinden sonra tünel geri dönemez ve belirti kesinti gibi görünür. İstisnayı shell geçmişinde değil profilde veya unit dosyasında saklayın, böylece yeniden bağlanma onu silmek yerine yeniden oluşturur.

İlgili makaleler