WireGuard veri gönderiyor ama hiçbir şey geri gelmiyor: hangi taraf?
Artan gönderme sayacı bir yön, teşhis değildir. Herhangi bir şeyi değiştirmeden önce isteğin tünelden hiç çıkmadığına mı yoksa yanıtın hiç dönmediğine mi karar verin.
Alma sayacı sıfırda kalırken artan gönderme sayaçları bir yönü anlatır, teşhisi değil. Aynı okuma, eş hiç el sıkışmayı tamamlamadığında, hedef yanlış eşi seçtiğinde, uzak tarafta geri dönüş yolu olmadığında ve bir filtre yanıtı eve dönüş yolunda düşürdüğünde ortaya çıkar. Bunların her biri farklı bir yerde onarılır.
İşi kısaltan karşılaştırma, tünelden hiç çıkmamış bir istek ile hiç geri dönmemiş bir yanıt arasındadır. Doğru arayüzdeki tek bir yakalama ikisi arasında karar verir.
Sayaçlar hacmi anlatır, arızanın yönünü değil
WireGuard sayaçları, arayüzün eşe ne verdiğini ve ondan ne aldığını kaydeder. Hangi hedefin, hangi eşin veya bir alışverişin hangi yarısının başarısız olduğunu söylemezler. Arka plan trafiği toplamları daha da az bilgilendirici yapar, çünkü bazı baytlar bağlantıyı koruma mesajları veya ilgisiz akışlar olabilir. Onları arayüzün etkin olduğuna dair bir gösterge olarak okuyun, sonra kanıt olarak görmeyi bırakın.
İlk yararlı gerçek, el sıkışmanın güncel olup olmadığıdır. O olmadan bu eş için hiçbir şey şifrelenmedi ve alma sayacının hareket etmek için bir nedeni yok.
Eş seçimi veya yanıtın yolu: iki açıklama
İlk açıklama, paketin amaçlanan eşe hiç ulaşmadığıdır; çünkü rota başka bir yeri gösteriyordu ya da eşin izin verilen önekleri hedefi kapsamıyordu. İkincisi, paketin ulaştığı ama yanıtın geri dönemediğidir; bu, uzak uçta bir yönlendirme sorunudur. Tablo, her noktada ne gözlemleyeceğinize göre ikisini ayırır.
| Observation | Points to |
|---|---|
| No handshake while transmit climbs | Peer selection or endpoint |
| Handshake current, request visible on the server | Reply path or far-side route |
| Request never visible on the server | Allowed prefixes or local route |
| Both packets visible, nothing reaches the client | Return filter or translation |
Tabloyu yukarıdan okuyun. El sıkışmanın olmaması sizi anahtarlara, uç noktalara ve dış yola yönlendirir, çünkü henüz incelenecek başka bir şey yoktur. İsteğin sunucuda göründüğü güncel bir el sıkışma, sorunu dönüş yönüne taşır; orada hedefin kendi yönlendirme tablosu karar verir. Sunucuda hiç görünmeyen bir istek seçim sorunudur ve iki eşteki izin verilen önekler ilk karşılaştırılması gereken şeydir.
Bu dört satırın ikisi istemcide, ikisi sunucuda onarılır. Hangi çiftte olduğunuzu bilmek işin büyük kısmıdır.
Yanıtlar nerede kaybolur
Bir yanıt hedefi terk eder, sunucunun tünel arayüzüne ulaşır ve izin verilen adresleri istemcinin iç adresiyle eşleşen eş için şifrelenir. Bu eşleşme başarısız olursa yanıt sessizce atılır; bu, istemci tarafından tam olarak bir ağ arızası gibi görünür. Yanıt şifrelenmişse ve istemcinin kendi filtresi onu reddederse, belirti yine aynıdır. Her iki durumda da sayaç değil, yakalama gerekir.
Bu hatanın en güçlü biçimi, istemci için paketleri ileten ama istemcinin iç aralığına geri dönüş yolu olmayan bir sunucudur. İsteği kabul eder, yanıtı varsayılan ağ geçidine doğru gönderir ve tünel bunu hiç görmez. Sunucuya eklenen geniş bir çeviri kuralı, yolu onarmak yerine bu arızayı gizler.
Bir hedefi baştan sona test edin
Eşin aralığı içinde tek bir hedef seçin ve el sıkışma açıkça güncelken onu test edin. Aşağıdaki komutlar eşin durumunu, seçilen rotayı ve alışverişin iki tarafını okur. Yakalamayı şifreli paketlerin gerçekte kullandığı arayüzde çalıştırın.
wg show wg0 latest-handshakes
wg show wg0 transfer
ip route get 10.60.9.5
sudo tcpdump -ni wg0 host 10.60.9.5
Tünel arayüzünde isteği gösterip hiçbir şeyin geri dönmediği bir yakalama, sunucu tarafından bir yanıttır ve hedefin yönlendirme tablosu bundan sonra bakılacak yerdir. Hiçbir şey görünmüyorsa paket başka bir yol izlemiştir, bu yüzden yerel rota şüphelidir. Her iki yakalamada da görünen ama uygulamada ilerleme olmayan bir alışveriş, soruyu paket boyutuna veya arayüz istatistiklerinin hiç göstermediği bir filtreye taşır. Testte bir hedef ve bir istemci tutun, çünkü ikinci değişken kanıtı yeniden izlenime dönüştürür.
İzin verilen bir adres çalışırken adlar başarısız olursa yanıt tünelde değil DNS'te bulunur. Yalnızca büyük aktarımlar takılıyorsa paket boyutunu ayrıca inceleyin.