WireGuard default marşrut döngəsi: son nöqtə yolunu tapın
Default marşrut tunelin öz şifrələnmiş paketlərini yenidən onun içərisinə göndərir. Son nöqtə yolunu oxuyun, bir host marşrutu əlavə edin, sonra yoxlayın və geri qaytarın.
İnterfeys qalxır, peer konfiqurasiyası düzgün görünür və heç bir handshake tamamlanmır. Tuneldən default marşrut əlavə etmək bunu tez-tez törədən addımdır: eyni marşrut cədvəli indi tunelin öz şifrələnmiş paketlərinin hara getməli olduğunu müəyyən edir və onun verdiyi cavab yenidən tunelin içərisidir. Xarici paketi daşıya biləcək heç nə yoxdur, ona görə də bağlantı başlamadan dayanır. Təmir kiçikdir, lakin onun bir sırası var və yoxlama düzəlişdən daha vacibdir.
Marşrutu dəyişməzdən əvvəl döngəni təsdiqləyin
Peer-in cari son nöqtə ünvanını oxuyun və sonra marşrutlaşdırma yığınından soruşun ki, həmin ünvana gedən paket hara gedəcək. Əgər cavab tunel interfeysini adlandırırsa, döngə təsdiqlənib və əlavə diaqnostikaya ehtiyac yoxdur. Bir şeyə toxunmadan əvvəl hər iki çıxışı dəyişiklik qeydinə yazın, çünki düzəlişdən sonrakı müqayisə eyni iki əmrdir. Döngə görünəndən sonra hiyləgər deyil; çətinlik ondadır ki, bu baş verərkən interfeys sağlam görünür.
sudo wg show wg1 endpoints
ip route get 198.51.100.20
ip rule show
Siyasət qaydalarını da həmin qeydə daxil edin. Əsas cədvəldə düzgün görünən default marşrut yenə də işarələnmiş və ya işarələnməmiş trafik üçün fərqli cədvəl seçən qaydaya uduz bilər və döngə düzgün görünən marşrut cədvəli ilə yenidən peyda olacaq.
Son nöqtə yolunu oxuyun, tunel yolunu deyil
Son nöqtə yolu şifrələnmiş datagramların peer-in ictimai ünvanına getdiyi marşrutdur və tunel mövcud olduğu müddətdə tuneldən kənarda qalmalıdır. Tunel yolu peer-in daşımasına icazə verilən hər şeydir. Bu iki yol bir marşrut cədvəlini paylaşır və buna görə də tək bir hər şeyi tutan giriş onları bir-birinin içinə yıxa bilər. Tunel trafikini tunelin öz nəqliyyatından ayırmaq bütün dizayn problemidir və hər dəstəklənən alət bunu bir az fərqli yerdə həll edir.
İnterfeys hər ikisini daşıyırsa, hər iki ünvan ailəsini ayrıca yoxlayın. İşləyən IPv4 istisnası IPv6 son nöqtəsinin hələ də əlçatan olub-olmadığı barədə heç nə demir və qarışıq konfiqurasiya peer-in IPv6 ünvanı seçilənə qədər işləyir kimi görünə bilər.
Son nöqtə yolunu bir ardıcıl dəyişikliklə bərpa edin
İki dəstəklənən yanaşma var və onları qarışdırmaq işləyən quraşdırmanın gözlənilməz olmasına səbəb olur. Birincisi, interfeysə sahib olan alətin tam tuneli idarə etməsinə icazə verməkdir: wg-quick default peer aralığı üçün xüsusi idarəetməyə malikdir və bu, ayrı cədvəl, siyasət qaydaları və soket işarəsi quraşdırır, bu da xarici paketləri tuneldən kənarda saxlayır. Bu mexanizmi əl ilə yarısını təkrar etmək əvəzinə toxunulmaz saxlayın. Əl ilə əlavə edilmiş default-u artıq işarələr və qaydalar quraşdıran menecerlə qarışdıran quraşdırma yenidən qoşulmadan sonra uğursuz olmağa meyllidir, çünki menecer əl addımının güman etdiyi vəziyyəti yenidən yazır.
İkincisi, son nöqtənin fiziki şlüz vasitəsilə açıq host marşrutu aldığı əl dizaynıdır. Həmin marşrutu default-dan əvvəl əlavə edin, köhnə girişin qalib gəlməməsi üçün əlavə etmək əvəzinə dəyişdirin və sonra axtarışı təsdiqləyin.
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
Yoxlayın, sonra geri qayıtma yolu saxlayın
İrəliləyən handshake vaxt damğası ilk sübutdur və o, sadəcə mövcud olan interfeysdən daha güclüdür. Onu tuneldən keçən tətbiq testi ilə izləyin, sonra interfeysi qəsdən aşağı salın və hostun heç bir şeyə işarə etməyən default marşrut saxlamaq əvəzinə istifadəyə yararlı vəziyyətə qayıtdığını təsdiqləyin. O son addım insanların atladığı addımdır və yenidən başlatmanın maşını tək qoyub-qoymayacağına qərar verən də həmin addımdır.
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 əvvəl cari marşrutlaşdırma vəziyyətini saxlayın və tuneldən asılı olmayan bir giriş yolunun olduğuna əmin olun: konsol, bantdankənar idarəetmə ünvanı və ya yerində bir həmkar. Default marşrutunu itirən uzaq maşın yenicə itirdiyi bağlantı üzərindən bərpa oluna bilməz və runbook-un ən təhlükəsiz addımı ilk əmrdən əvvəl atılan addımdır.