wg show-da əl sıxma təzədir, son nöqtə düzgündür, açarlar heç vaxt dəyişməyib — və ping yenə də qarşı tərəfə marşrut olmadığını deyir. Tunel alt şəbəkəsini bir saat əvvəl dəyişmisiniz. Bu simptom açar probleminin deyil, prefiks uyğunsuzluğunun əlamətidir: WireGuard əl sıxmanı tamamladı, sonra mənbə ünvanı qəbul edən qarşı tərəfin qəbul edəcəyi ilə uyğun gəlmədiyi üçün məlumatı atdı. Alt şəbəkə dəyişikliyini yerinə yetirməyin iki məqul yolu var və onlar müxtəlif yerlərdə sıradan çıxır.

Dəyişikliyi yerinə yetirməyin iki yolu və hər birinin qiyməti

A variantı yerində yenidən nömrələmədir: interfeys ünvanını, qarşı tərəf aralıqlarını, marşrutları və konfiqurasiyanın hər surətini redaktə edin, sonra yenidən yükləyin. B variantı yeni prefiks üzərində köhnənin yanında ikinci interfeys qurmaq, qarşı tərəfləri ora köçürmək və trafik həqiqətən köçdükdən sonra köhnə interfeysi silməkdir.

A: renumber in placeB: parallel interface
DowntimeThe reload window, per hostNone if peers are added to both
RollbackRe-apply the previous filesPoint peers back at the old interface
RiskHalf-applied change: new address, old rangesTwo live interfaces with overlapping intent
EffortSmall, if the deployment has one ownerHigher, and needs a cleanup step
FitsTwo or three peers you controlMany peers, remote sites, or no maintenance window

A variantını təhlükəli edən yarım tətbiq olunmuş vəziyyətdir, çünki o, pozulmuş görünmür. İnterfeys qalxır, əl sıxma uğurlu olur və yalnız məlumat yolu sıradan çıxır. B variantı daha çox iş tələb edir, lakin siz hər istinadı taparkən işlək yolu canlı saxlayır.

Sizin tərəfinizdə nəyin birlikdə hərəkət etməsi lazımdır

Lokal hostda dörd şey eyni alt şəbəkəni təsvir edir və birinin dəyişməsi hamısının dəyişməsidir: interfeysin ünvanı, hər qarşı tərəfin AllowedIPs-i, sistemin bu təyinatlar üçün istifadə etdiyi marşrut və menecerin sizin adınıza quraşdırdığı hər şey. wg-quick ilə son ikisi hər dəfə interfeys qalxanda konfiqurasiyadan yaradılır, ona görə köhnəlmiş surət köhnə prefiksi səssizcə yenidən quraşdırır.

Hər hansı birinə güvənmək əvəzinə konfiqurasiya olunanı canlı olanla müqayisə edin:

wg show
wg showconf wg0
ip addr show wg0
ip route get 10.90.0.5

Marşrut axtarışı insanların atladığı addımdır. O, nüvənin bir təyinat üçün həqiqətən nə edəcəyini cavablandırır, o cümlədən menecerin və ya konteyner mühitinin geridə qoyduğu daha konkret marşrutu. Əgər tuneldən fərqli interfeys göstərirsə, problem konfiqurasiyada deyil.

İşləyən interfeys üçün redaktə olunmuş faylı tuneli sökmədən tətbiq edin:

wg syncconf wg0 <(wg-quick strip wg0)

Bu, qarşı tərəfləri və aralıqları yerində yeniləyir. İnterfeys ünvanını və ya marşrutları yeniləmir, çünki onlar WireGuard parametrləri deyil — yəni yenidən nömrələmə üçün interfeysi yenidən yaratmaq və ya ünvanı ip ilə dəyişmək, sonra marşrutlaşdırmanı yenidən yoxlamaq lazımdır.

Uzaq tərəfdə nəyin birlikdə hərəkət etməsi lazımdır

Alt şəbəkə dəyişikliyi adətən burada ölür. AllowedIPs yalnız marşrut işarəsi deyil; o, həm də qarşı tərəfin təqdim etməsinə icazə verilən mənbə ünvanlarının siyahısıdır. Müştəriləri yenidən nömrələyib serverin AllowedIPs-ini köhnə prefiksdə qoysanız, server əl sıxmanı qəbul edir, şifrələnmiş paketləri alır və onları atır, çünki daxili mənbə onun həmin qarşı tərəflə əlaqələndirdiyi heç bir aralığa uyğun gəlmir. Heç bir xəta qeyd olunmur və müştəri fasilə görür.

Ona görə qəbul edən tərəfi qəsdən yeniləyin: serverdəki qarşı tərəf qeydi yeni müştəri prefiksini sadalamalıdır, serverin öz qayıdış marşrutu həmin prefiks üçün tunelə işarə etməlidir və serverin arxasındakı hər hansı aşağı axın şəbəkə yeni yolu öyrənməlidir. Köhnə aralığı adlandıran firewall siyasəti də eyni müalicəyə ehtiyac duyur, mənbəyə əsaslanan seçim edən hər şey də.

İki nasazlığı ayıran diaqnostika ucuzdur. Təzə əl sıxma və məlumatın olmaması tunelin qalxdığını və daxili ünvanlamanın razılaşmadığını bildirir. Heç əl sıxmanın olmaması deməkdir ki, siz əlçatanlığa və ya açarlara baxırsınız. Prefiks problemi üçün açarları döndərməyin; bu, işləyən yeganə şeyi sıfırlayır.

Redaktənizdən uzun yaşayan köhnəlmiş surətlər

Faylı redaktə etmək işləyən sistemi dəyişməklə eyni şey deyil və surətlər insanların gözlədiyindən çoxdur: interfeysə sahib olan unit və ya menecer, başqa qovluqda eyni adlı ikinci profil, konfiqurasiyası obrazın içində bişirilmiş konteyner, öz redaktə olunmuş versiyasını saxlayan router interfeysi və işə salınanda saxlanmış tuneli yenidən idxal edən müştəri tətbiqi. Hər biri sizin dəyişikliyiniz tamamlanmış göründükdən sonra köhnə prefiksi bərpa edə bilər.

Adlar da səyahət edir. Ədədi marşrut işləyib host adı sıradan çıxırsa, daxili DNS qeydi və ya xidmət konfiqurasiyası hələ də köhnə tunel ünvanına işarə edir. Hər qarşı tərəf aralığını genişlətmək əvəzinə istinadı düzəldin, çünki bu, əsl problemin üstünü örtər və eyni zamanda mənbə ACL-ni böyüdər.

İşləyərkən bir bərpa yolu açıq saxlayın: hosta ikinci giriş yolu, seriya konsolu və ya konfiqurasiya fayllarının planlı geri qaytarılması. Dəyişdiyiniz maşına sizi bağlayan tunel dəyişikliyi bu işi axşama çevirən ən geniş yayılmış üsuldur.

İkisi arasında seçim və keçidin yoxlanması

Hər qarşı tərəf sizə məxsusdursa, say azdırsa və qısa fasilə məqbuldursa, A-nı seçin. Qarşı tərəflər nəzarət etmədiyiniz uzaq əllərdirsə, sayt-sayt əlaqəsi qalmalıdırsa və ya hər surətin bir keçiddə yenilənəcəyinə zəmanət verə bilmirsinizsə, B-ni seçin. Bu halda yeni prefiksi hər iki interfeysə əlavə edin, qarşı tərəfləri bir-bir köçürün, yenisində trafiki izləyin və yalnız ondan sonra köhnə interfeysi və onun marşrutlarını silin.

Hər iki variantda dəyişiklik dörd yoxlama keçdikdə bitmiş sayılır: əl sıxma təzədir, yeni prefiksli təyinat üçün marşrut axtarışı tuneli göstərir, bir neçə yüz baytlıq yük hər iki istiqamətdə ötürülür və hostun və ya menecerin yenidən başladılmasından sonra da eyni qalır. Bu barədə wg(8) təlimatı hər istiqamətdə AllowedIPs-in nə demək olduğunu izah edir və bir simptomu yox etmək üçün aralığı genişlətməzdən əvvəl onu yenidən oxumağa dəyər.

  • Əl sıxma təzədir və məlumat yoxdur: açarlara toxunmazdan əvvəl qəbul edəndə AllowedIPs-ə baxın.
  • Marşrut axtarışı səhv interfeysi göstərir: marşruta sizin faylınız deyil, menecer və ya konteyner sahibdir.
  • Ədədi ünvan qaydasındadır, host adı pozulub: köhnə istinad, marşrut döngəsi deyil.
  • Dəyişiklik yalnız yenidən başlatmadan sonra da yeni prefiksdən istifadə etdikdə tamamdır.

Əlaqəli məqalələr