Tam tünel SSH oturumunuzu öldürdü: dönüş rotasını sabitleyin
Tam tünel, kendi SSH oturumunuza gelen yanıtları yakalar. Yönetici adresiniz için eski ağ geçidi üzerinden bir ana bilgisayar rotası sabitleyin ve yeniden bağlandığınızda yeniden kurun.
SSH ile çalıştığınız makinede bir OpenVPN istemcisi başlatın; komutun ortasında oturum donar. Tünel bağlı olduğunu bildirir, ana bilgisayar onun üzerinden internete çıkabilir ve tuş vuruşlarınız hâlâ ulaşırken geri hiçbir şey gelmez. Değişen tünel değil: size adreslenen paketlerin dönüş yoludur; artık yeni varsayılan rotayla eşleşiyor ve uzak ağ geçidinin masanıza ulaşmak için kullanmayacağı bir tünele giriyor.
redirect-gateway aslında ne kurar
def1 biçiminde redirect-gateway, varsayılan rotanın üzerine yazmak yerine 0.0.0.0/1 ve 128.0.0.0/1 ekler. Bu iki yarı tüm adres alanını kapsar ve ikisi de 0.0.0.0/0 ten daha uzun önek olarak kalır, bu yüzden daha belirgin bir eşleşmesi olmayan her hedef artık tünele girer. Akılda tutulacak mekanizma budur, çünkü aşağıdaki her düzeltme daha belirgin bir eşleşme kurarak çalışır.
Yönetici adresiniz bu hedeflerden biridir.
VPN sunucusu istemcilerinin trafiğini internete doğru iletir. Bağlandığınız genel adres için rotası yoktur ve bu paketleri bir istemciden gelen trafikten başka bir şey olarak görme nedeni de yoktur, bu yüzden onları düşürür. Bu arada gönderdiğiniz istek yine de ana bilgisayara ulaştı; oturumun yalnızca tek tarafta canlı görünmesinin nedeni budur.
ip route show table main | head -n 20
ip route get 198.51.100.23Kaynak adresinizi ve tünel öncesi yolu bulun
Sunucuda kurulu SSH bağlantısını listeleyin ve geldiği eş adresini not edin. Dönüş rotanızın kapsaması gereken adres odur ve her zaman düşündüğünüz şey değildir: bir atlama sunucusu, bir NAT ağ geçidi veya operatör çeviricisi farklı bir kaynak koyabilir.
Ardından tünel başlamadan önce trafiği taşıyan fiziksel ağ geçidini ve arayüzü bulun. def1 düzeninde varsayılan rota yarım varsayılanların altında hâlâ durur, bu yüzden bilgi mevcuttur; ancak uzun bir rota tablosunu gözle okumak hatalara davetiye çıkarır.
İki değeri ve arayüz adını birlikte kaydedin, çünkü eklemek üzere olduğunuz rota üçüne de ihtiyaç duyar. Ana bilgisayar üst bağlantısını seçmek için bir ilke yönlendirme kuralı kullandıysa düz bir rota hiç dikkate alınmayabilir ve bu olasılık düzeltmeyi değiştirir.
Yarım varsayılanları geçen bir ana bilgisayar rotası sabitleyin
/32 rotası yarım varsayılanların her birinden daha uzundur, bu yüzden adresinize gelen yanıtlar tünel yerine onu kullanır. Sonraki atlama tünel öncesi ağ geçidi, aygıt ise fiziksel arayüzdür; bu da paketi tünel yokken kullandığı yolda tutar.
ip route add 198.51.100.23/32 via 203.0.113.1 dev eth0Tabloyu inceleyerek değil bir aramayla doğrulayın: yanıt eth0 ve ağ geçidini adlandırmalı, asla tun0 olmamalı.
OpenVPN aynı nedenle VPN sunucusunun kendi adresine bir ana bilgisayar rotası ekler, bu yüzden desen tanıdıktır ve yönetici adresi yalnızca bir başka istisnadır. Bunu düzeltmek için route-nopull e başvurmayın, çünkü tünelin ihtiyaç duyduğu itilen rotaları, uzak ağ ve DNS seçenekleri dahil, atar.
Yeniden bağlanmaya dayanmasını sağlayın
Elle eklenen rota, istemci yeniden bağlanıp kendi rotalarını kurduğunda kaybolur ve bu, bir düzeltmeyi tekrarlayan kesintilere dönüştürür. Komutu, rotalar kurulduktan sonra çalışan bir şeye bağlayın.
route-up betiği ya da ağ yöneticisinin pre-up kancası ikisi de işe yarar ve güvenilir kontrol, aynı aramayı izleyen bir yeniden bağlanmadır.
Windows'ta eşdeğeri -p ile eklenen kalıcı rotadır; yeniden başlatmalara dayanır ama ağ değişikliğinden sonra yine de doğru ağ geçidini göstermesi gerekir. Platform ne olursa olsun, rotanın yanına nedeni yazın: sonraki yönetici bunun bir yönetim oturumunu korumak için var olduğunu bilmeli, ağ tasarımı gerektirdiği için değil.
Sabitlenmiş bir rota hâlâ yetmediğinde
Ters yol filtrelemesi, bir arayüzden gelen ve diğerinden çıkan bir paketi düşürebilir; sabitlenmiş rotanın yarattığı şey tam olarak budur. Herhangi bir şeyi genel olarak devre dışı bırakmadan önce geçerli rp_filter değerini kontrol edin ve kontrolü kapatmak yerine asimetriyi düzeltmeyi yeğleyin. Arayüz başına ayar geçerlidir ve gevşek kip genellikle paketi düşürmek yerine yalnızca asimetriyi günlüğe yazar. Filtrenin suçlu olduğu sonucuna varmadan önce ikisini de okuyun.
İlke yönlendirmesi olan ana bilgisayarlar hem kurala hem rotaya ihtiyaç duyar, çünkü kural tabanı, içindeki rota dikkate alınmadan önce tabloyu seçer. Ana tablodaki bir rota, başka bir tabloyu işaret eden bir kuralla eşleşen akış için görünmezdir. main'e bir şey eklemeden önce kuralları okuyun. Bir kural yönetim trafiğini zaten kapsıyorsa istisna o kuralın tablosuna aittir.
Test ederken bant dışı bir konsolu açık tutun ve kullanmakta olduğunuzu kesmeden önce ikinci bir oturum açmadan yeniden kontrol edin. Kendi yönetim trafiğinizi tünele gönderen bir rota, onu onardığınız bağlantıyı keser. O zaman geri girmek seri konsol ya da kurtarma önyüklemesi demektir; bir doğrulama adımını atlamak için kötü bir takas.