WireGuard varsayılan rota döngüsü: uç nokta yolunu bulun
Varsayılan rota, tünelin kendi şifreli paketlerini yeniden tünelin içine gönderir. Uç nokta yolunu okuyun, bir ana bilgisayar rotası ekleyin, ardından doğrulayın ve geri alın.
Arayüz ayağa kalkıyor, eş yapılandırması doğru görünüyor ve hiçbir el sıkışma asla tamamlanmıyor. Tünel üzerinden varsayılan rota eklemek bunu sıklıkla tetikleyen adımdır: aynı yönlendirme tablosu artık tünelin kendi şifreli paketlerinin nereye gitmesi gerektiğine karar veriyor ve ürettiği yanıt yeniden tünelin içine dönüyor. İçteki paketi taşıyacak dıştaki paketi taşıyabilecek hiçbir şey yok, bu yüzden bağlantı başlamadan duruyor. Onarım küçük ama bir sırası var ve doğrulama düzenlemeden daha önemli.
Bir rotayı değiştirmeden önce döngüyü doğrulayın
Eşin mevcut uç nokta adresini okuyun ve ardından yönlendirme yığınına o adrese giden bir paketin nereye gideceğini sorun. Yanıt tünel arayüzünü adlandırıyorsa döngü doğrulanmıştır ve başka tanılamaya gerek yoktur. Herhangi bir şeye dokunmadan önce iki çıktıyı da değişiklik kaydına kaydedin, çünkü onarımdan sonraki karşılaştırma aynı iki komuttur. Döngü bir kez görüldüğünde ince değildir; zorluk, bu olurken arayüzün sağlıklı görünmesidir.
sudo wg show wg1 endpoints
ip route get 198.51.100.20
ip rule show
İlke kurallarını o kayda dahil edin. Ana tabloda doğru görünen bir varsayılan rota, işaretli veya işaretsiz trafik için farklı bir tablo seçen bir kurala hâlâ yenilebilir ve rota tablosu iyi görünse bile döngü yeniden ortaya çıkar.
Uç nokta yolunu okuyun, tünel yolunu değil
Uç nokta yolu, şifreli datagramların eşin genel adresine gittiği yoldur ve tünel var olduğu sürece tünelin dışında kalmalıdır. Tünel yolu, eşin taşımasına izin verilen her şeydir. Bu iki yol tek bir yönlendirme tablosunu paylaşır ve tam bu nedenle tek bir her şeyi yakalayan giriş onları birbirinin içine çökertabilir. Tünel trafiğini tünelin kendi taşımasından ayırmak tüm tasarım sorunudur ve desteklenen her araç bunu bir yerde biraz farklı çözer.
Arayüz her ikisini de taşıyorsa iki adres ailesini ayrı ayrı kontrol edin. Çalışan bir IPv4 istisnası, IPv6 uç noktasına hâlâ ulaşılıp ulaşılamayacağı hakkında hiçbir şey söylemez ve karışık bir yapılandırma, eşin IPv6 adresi seçilene kadar çalışıyor gibi görünebilir.
Uç nokta yolunu tek tutarlı değişiklikle geri yükleyin
Desteklenen iki yaklaşım vardır ve bunları karıştırmak, çalışan bir kurulumun öngörülemez hale gelme yoludur. Birincisi, arayüzün sahibi olan aracın tüm tüneli yönetmesine izin vermektir: wg-quick varsayılan eş aralığı için özel bir işleme sahiptir ve bu, ayrı bir tablo, ilke kuralları ve bir soket işareti kurar, bu da dış paketleri tünelin dışında tutar. Bu mekanizmayı yarısını elle yeniden üretmek yerine olduğu gibi bırakın. Elle eklenen varsayılanı, hâlihazırda işaretler ve kurallar kuran bir yöneticiyle karıştıran bir kurulum, yeniden bağlanmadan sonra başarısız olma eğilimindedir; çünkü yönetici, elle yapılan adımın varsaydığı durumu yeniden yazar.
İkincisi, uç noktanın fiziksel ağ geçidi üzerinden açık bir ana bilgisayar rotası aldığı el yapımı bir tasarımdır. Bu rotayı varsayılandan önce ekleyin, eski bir girişin kazanmasını önlemek için eklemek yerine değiştirin ve ardından aramayı doğrulayın.
sudo ip route replace 198.51.100.20/32 via 192.0.2.1 dev eth0
ip route get 198.51.100.20
sudo ip route add default dev wg1
Doğrulayın ve ardından geri dönüş yolunu koruyun
İlerleyen bir el sıkışma zaman damgası ilk kanıttır ve yalnızca var olan bir arayüzden daha güçlüdür. Bunu tünel üzerinden bir uygulama testiyle izleyin, ardından arayüzü bilerek indirin ve ana bilgisayarın hiçbir şeyi göstermeyen bir varsayılan rota tutmak yerine kullanılabilir bir duruma döndüğünü doğrulayın. Son adımı insanlar atlar ve yeniden başlatmanın makineyi bağlantısız bırakıp bırakmayacağına karar veren de odur.
sudo wg show wg1 latest-handshakes
sudo wg-quick down wg1
ip route show default
ip route get 198.51.100.20
Bütün bunlardan önce mevcut yönlendirme durumunu kaydedin ve tünele bağlı olmayan bir giriş yolu olduğundan emin olun: bir konsol, bant dışı yönetim adresi veya yerinde bir meslektaş. Varsayılan rotasını kaybeden uzak bir makine, az önce kaybettiği bağlantı üzerinden kurtarılamaz ve runbook'taki en güvenli adım ilk komuttan önce atılan adımdır.