WireGuard aynı anda taze bir handshake tutabilir ve hiç adresi olmayabilir, bu durum çelişkili değil tutarlıdır. Handshake eşin olayıdır, adres arayüze aittir ve bir paketin hangi üst bağlantıdan çıktığına rota karar verir. Üç katman, üç sahip ve her biri diğer ikisi sağlıklı görünürken bozulabilir.

Onları tek bir durum olarak okumak, iki dakikalık bir tanılamayı bütün bir öğleden sonra hizmet yeniden başlatmaya çevirir.

Handshake eşin olayıdır, adresleme olayı değildir

WireGuard'ın handshake'i, yapılandırılmış eşin geçerli bir anahtarla yanıt verdiğini ve oturum anahtarlarının güncel olduğunu kanıtlar. Arayüzdeki yerel adres hakkında hiçbir şey söylemez, oraya bir rota işaret edip etmediği hakkında da. Adresi bir yardımcı ya da ağ yöneticisi atar, protokol yapılandırması ise yalnızca eşleri ve anahtarları adlandırır. Bu ikisini karıştırmak, sağlıklı bir handshake'in çalışan bir tünel olarak okunmasının nedenidir.

Bu yüzden wg show bir uygulamadan tek paket bile alamayan bir arayüzde saniyeler önceki bir handshake bildirebilir.

Arayüzü yeniden oluşturan bir yönetici, eş yapılandırmasına dokunmadan adresi düşürebilir ve anahtarlar hiç değişmediği için sonraki handshake hemen başarılı olur. Başarılı bir handshake hakkındaki günlük satırı doğrudur ve arızayla ilgisizdir.

ObservationWhich layer it belongs toWrong conclusion it invites
Handshake a few seconds oldPeer and keysThe tunnel is usable for application traffic
Address present on wg0Interface configurationTraffic actually egresses through it
Route points at wg0Forwarding tableThe outer packet uses the intended uplink

Arayüz adresinin kendi sahibi vardır

Tünel aygıtındaki adres bir yardımcının Address satırından, arayüzde çalışan bir DHCP istemcisinden ya da bağlanma anında onu oluşturan bir yönetim servisinden gelebilir. Hangisi olursa olsun, adresin sahibi o bileşendir ve kendi mantığına göre onu geri getirir ya da getirmez. Adresi sahibini adlandırmadan okumak, neden kaybolduğunu açıklayamamanıza yol açar.

Bir arayüzde iki sahip klasik arızadır. Aynı aygıt üzerinde bir yardımcı ile bir masaüstü ağ yöneticisini başlatmak, birinin diğerinin az önce yapılandırdığını kaldırdığı bir yarış yaratır ve uç nokta bunca zaman yanıt vermeye devam eder.

Tek bir sahip seçin ve diğer aracın yönetmesine değil gözlemesine izin verin. Bu kararı yazmakta yarar var, çünkü belirti haftalar sonra ortaya çıkar ve rastgele bir adres kaybı gibi görünür.

Üst bağlantıyı rota seçer, arayüz değil

wg0 adresine işaret eden bir iç rota, trafiğin tünele girdiğine karar verir. Ayrı bir karar şifrelenmiş dış paketleri eşe doğru gönderir ve birden çok üst bağlantısı olan bir uçbirimde bu karar iletim tablosundan ve ilke kurallarından gelir. Bir Wi-Fi dolaşımı iç adrese dokunmadan dış yolu değiştirebilir.

Böylece çalışan bir tünel ile erişilemeyen bir eş uyumlu durumlardır, doğru bir eş ile bozuk bir iç rota da öyledir. Üç gözlem aynı anda birlikte alınmalıdır, yoksa karşılaştırma anlamsızdır.

Üç durumu tek geçişte karşılaştırın

Salt okunur üç komut, üç soruyu arızayı en hızlı yalıtan sırayla yanıtlar. Aralarında hiçbir şeyi değiştirmeden çalıştırın.

ip address show dev wg0
ip route get 10.80.0.1
wg show wg0 latest-handshakes transfer

İlki arayüzün hiç adresi olup olmadığını gösterir, ikincisi belirli bir hedefin şu anda hangi aygıtı kullanacağını gösterir. Üçüncüsü son handshake zamanını ve bayt sayaçlarını bildirir ve üçü arasında eşi betimleyen tek komut odur, yerel uçbirimi değil.

Sayaçları zaman damgasıyla birlikte okuyun. Aktarım düz kalırken sürekli yenilenen bir handshake, eşin yanıt verdiği ama yararlı hiçbir şeyin geçmediği anlamına gelir; bu da anahtarlara değil yönlendirmeye ya da bir ACL'ye işaret eder. Adres varken ilerlemeyi durduran bir zaman damgası ise yukarı akışa işaret eder. Her iki okuma da aynı çıktı satırından gelir ve yalnızca handshake olup olmadığını denetlerseniz ikisi de görünmez.

Yanlış olan o belirli durumu düzeltin, sonra tüneli değil uygulamayı yeniden sınayın. Taze bir handshake eş hakkında kanıttır ve eş hakkındaki kanıt, tarayıcınızdan gelen sonraki isteğin bir adres, bir rota ve çalışan bir üst bağlantı bulacağının kanıtı değildir. wg-quick kılavuzu bunlardan hangisini yardımcının kurduğunu ve hangisinin protokole ait olduğunu açıkça söyler.

İlgili makaleler