Handshake masih segar dalam wg show, titik akhir betul, kunci tidak pernah berubah — dan ping masih berkata tiada laluan ke peer. Anda menukar subnet terowong sejam lalu. Gejala itu ialah tanda ketidakpadanan awalan, bukan masalah kunci: WireGuard menyelesaikan handshake kemudian membuang data kerana alamat sumber tidak lagi sepadan dengan apa yang akan diterima oleh peer penerima. Ada dua cara wajar untuk melaksanakan perubahan subnet, dan kedua-duanya gagal di tempat yang berbeza.

Dua cara melaksanakan perubahan, dan kos setiap satu

Pilihan A ialah penomboran semula di tempat: sunting alamat antara muka, julat peer, laluan dan setiap salinan konfigurasi, kemudian muat semula. Pilihan B ialah membina antara muka kedua pada awalan baharu di sebelah yang lama, memindahkan peer, dan membuang antara muka lama selepas trafik benar-benar berpindah.

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

Keadaan separuh diterap itulah yang menjadikan pilihan A berbahaya, kerana ia tidak kelihatan rosak. Antara muka naik, handshake berjaya, dan hanya laluan data gagal. Pilihan B memerlukan lebih banyak kerja tetapi mengekalkan laluan yang berfungsi hidup semasa anda mencari setiap rujukan.

Apa yang mesti bergerak bersama di pihak anda

Empat perkara pada hos tempatan menerangkan subnet yang sama, dan perubahan pada satu ialah perubahan pada semua: alamat antara muka, AllowedIPs setiap peer, laluan yang digunakan sistem untuk destinasi itu, dan apa sahaja yang dipasang pengurus bagi pihak anda. Dengan wg-quick, dua yang terakhir dijana daripada konfigurasi setiap kali antara muka naik, jadi salinan lapuk memasang semula awalan lama secara senyap.

Bandingkan yang dikonfigurasi dengan yang hidup daripada mempercayai salah satu daripadanya:

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

Carian laluan ialah langkah yang orang langkau. Ia menjawab apa yang kernel sebenarnya akan lakukan untuk sesuatu destinasi, termasuk laluan yang lebih khusus yang ditinggalkan oleh pengurus atau masa jalan kontena. Jika ia melaporkan antara muka berbeza daripada terowong, konfigurasi bukan masalahnya.

Untuk antara muka yang berjalan, terapkan fail yang disunting tanpa merobohkan terowong:

wg syncconf wg0 <(wg-quick strip wg0)

Itu mengemas kini peer dan julat di tempat. Ia tidak mengemas kini alamat antara muka atau laluan, kerana itu bukan tetapan WireGuard — jadi penomboran semula masih memerlukan antara muka dicipta semula atau alamat ditukar dengan ip, dan kemudian penghalaan diperiksa semula.

Apa yang mesti bergerak bersama di hujung jauh

Di sinilah perubahan subnet biasanya mati. AllowedIPs bukan sekadar petunjuk penghalaan; ia juga senarai alamat sumber yang boleh dikemukakan oleh peer. Apabila anda menomborkan semula klien dan membiarkan AllowedIPs pelayan pada awalan lama, pelayan menerima handshake, menerima paket yang disulitkan dan membuangnya kerana sumber dalaman tidak sepadan dengan mana-mana julat yang dikaitkan dengan peer itu. Tiada ralat direkodkan, dan klien melihat tamat masa.

Jadi kemas kini bahagian penerima dengan niat: entri peer pada pelayan mesti menyenaraikan awalan klien baharu, laluan balik pelayan sendiri mesti menunjuk ke terowong untuk awalan itu, dan mana-mana rangkaian hiliran di belakang pelayan mesti mempelajari laluan baharu. Dasar firewall yang menamakan julat lama memerlukan rawatan yang sama, begitu juga apa sahaja yang membuat pemilihan berdasarkan sumber.

Diagnostik yang memisahkan kedua-dua kegagalan itu murah. Handshake segar tanpa data bermakna terowong hidup dan pengalamatan dalaman tidak sepakat. Tiada handshake sama sekali bermakna anda melihat kebolehcapaian atau kunci. Jangan putar kunci kerana masalah awalan; ia menetapkan semula satu-satunya perkara yang berfungsi.

Salinan lapuk yang hidup lebih lama daripada suntingan anda

Menyunting fail bukan sama dengan menukar sistem yang berjalan, dan salinannya lebih banyak daripada yang orang sangka: unit atau pengurus yang memiliki antara muka, profil kedua dengan nama sama dalam direktori lain, kontena dengan konfigurasi yang dibakar ke dalam imej, antara muka penghala yang menyimpan versi suntingannya sendiri, dan aplikasi klien yang mengimport semula terowong tersimpan semasa dilancarkan. Setiap satu boleh memulihkan awalan lama selepas perubahan anda kelihatan selesai.

Nama juga bergerak. Jika laluan berangka berfungsi tetapi nama hos gagal, rekod DNS dalaman atau konfigurasi perkhidmatan masih menunjuk ke alamat terowong lama. Betulkan rujukan itu daripada meluaskan setiap julat peer, yang akan menutup masalah sebenar dan pada masa yang sama membesarkan ACL sumber.

Kekalkan satu laluan pemulihan terbuka semasa anda bekerja: cara kedua masuk ke hos, konsol bersiri, atau pengunduran fail konfigurasi berjadual. Perubahan terowong yang mengunci anda keluar dari mesin yang anda ubah ialah cara paling biasa tugas ini menjadi malam panjang.

Memilih antara kedua-duanya, dan mengesahkan pemotongan

Pilih A apabila anda memiliki setiap peer, bilangannya kecil, dan gangguan singkat boleh diterima. Pilih B apabila peer ialah tangan jauh yang tidak anda kawal, apabila pautan antara tapak mesti kekal hidup, atau apabila anda tidak dapat menjamin setiap salinan dikemas kini dalam satu laluan. Dalam kes itu tambahkan awalan baharu pada kedua-dua antara muka, pindahkan peer satu demi satu, perhatikan trafik pada yang baharu, dan hanya selepas itu buang antara muka lama serta laluannya.

Dalam kedua-dua pilihan, perubahan selesai apabila empat pemeriksaan lulus: handshake segar, carian laluan untuk destinasi berawalan baharu menamakan terowong, muatan beberapa ratus bait berpindah di kedua-dua arah, dan perkara yang sama berlaku selepas hos atau pengurus dimulakan semula. Sebagai rujukan, manual wg(8) menjelaskan apa maksud AllowedIPs dalam setiap arah, dan ia berbaloi dibaca semula sebelum anda meluaskan julat supaya gejala hilang.

  • Handshake segar dan tiada data: lihat AllowedIPs pada penerima sebelum menyentuh kunci.
  • Carian laluan menunjuk antara muka yang salah: pengurus atau kontena memiliki laluan itu, bukan fail anda.
  • Alamat berangka elok dan nama hos rosak: rujukan lama, bukan gelung penghalaan.
  • Perubahan hanya lengkap apabila selepas dimulakan semula masih menggunakan awalan baharu.

Artikel berkaitan