Peer WireGuard hilang selepas mula semula: cari konfigurasi sebenar
Peer yang ditambah dengan wg set berfungsi sehingga mula semula seterusnya, kerana antara muka dibina semula daripada fail atau profil yang tidak pernah anda edit. Cari pemiliknya dahulu.
Peer yang anda tambah dengan wg set menjawab ping sepanjang petang dan hilang selepas but semula. Tiada apa yang rosak: kernel tidak pernah menyimpan peer itu di tempat lain selain dalam antara muka hidup, dan apa sahaja yang mencipta semula antara muka semasa but membinanya daripada fail yang anda tidak sentuh. Pembaikannya bukan wg set yang lain. Ia ialah mengetahui komponen mana yang memiliki antara muka, mengedit keadaan komponen itu, kemudian membuktikan peer itu bertahan daripada peristiwa kitaran hayat yang membuangnya.
Hasilkan semula sekali, dengan sengaja
Jangan baiki masalah mula semula sebelum anda dapat melihatnya berlaku. Dengan akses konsol atau luar jalur tersedia, catat senarai peer, mula semula melalui perkhidmatan yang memiliki antara muka, dan bandingkan. Jika peer masih ada, perubahan anda sudah pun sampai ke keadaan berterusan dan anda menyahpepijat peristiwa yang salah.
Catat tiga fakta semasa melakukannya: nama antara muka, unit atau profil yang memulakannya, dan sama ada pembilang jabat tangan pada peer yang bertahan telah ditetapkan semula. Pembilang yang ditetapkan semula bermaksud antara muka dimusnahkan dan dicipta semula; pembilang tidak berubah dengan peer yang hilang bermaksud sesuatu mengedit konfigurasi di bawah kaki anda.
Siapa yang memiliki antara muka?
WireGuard sendiri tiada daemon dan tiada fail konfigurasi. Sesuatu di atasnya memanggil wg semasa but, dan sesuatu itulah sumber kebenaran. Calon biasa ialah [email protected], profil sambungan NetworkManager, unit rangkaian khusus distribusi, atau panel pengurusan yang menulis pangkalan datanya sendiri.
Tanya sistem, bukan dokumentasi distribusi anda. systemctl status wg-quick@wg0 dan nmcli connection show biasanya menyelesaikannya dengan satu arahan masing-masing. Jika kedua-duanya mendakwa antara muka itu, anda sudah menemui pepijat sebelum mengedit apa-apa: dua pemilik menulis semula peranti yang sama pada setiap permulaan, dan yang terakhir berjalan menang.
systemctl status wg-quick@wg0 --no-pager
grep -R "Address\|SaveConfig\|PostUp" /etc/wireguard/wg0.conf
nmcli -g NAME,TYPE connection show
wg show wg0 peersKeadaan masa jalan dan keadaan permulaan bukan fail yang sama
wg set memanipulasi peranti hidup melalui netlink. Ia tidak menulis /etc/wireguard/wg0.conf, profil NetworkManager atau pangkalan data panel. wg show yang berjaya selepas itu membuktikan kernel menerima peer, bukan bahawa sesuatu akan memulihkannya.
Ada perangkap kedua ke arah bertentangan. Pilihan SaveConfig wg-quick menulis keadaan antara muka semasa kembali ke fail konfigurasi apabila antara muka diturunkan. Apabila ia diaktifkan, suntingan fail yang dibuat semasa antara muka hidup boleh ditimpa oleh penutupan berikutnya, dan anda akan bersumpah baris itu memang ada. Jika peer terus kembali, baca fail selepas berhenti, bukan sebelum.
NetworkManager berkelakuan lain pula: ia memiliki profil dan menerapkannya semasa pengaktifan, jadi .conf yang diedit dengan tangan di sebelah sambungan NetworkManager yang aktif hanyalah hiasan. Pilih satu pemilik untuk antara muka dan biarkan pengurus lain tidak mengusiknya.
Pastikan suntingan mendarat di kedua-dua tempat
Edit keadaan berterusan dahulu, kemudian biarkan pemilik menerapkannya, kemudian sahkan keadaan hidup. Urutan itu bermakna kegagalan pada mana-mana langkah menunjuk kepada satu perkara, bukan tiga.
# 1. persistent state (wg-quick owner)
sudo vi /etc/wireguard/wg0.conf
# 2. apply through the owner, not by hand
sudo systemctl restart wg-quick@wg0
# 3. verify runtime matches the file
sudo wg show wg0
sudo wg showconf wg0wg showconf mencetak konfigurasi hidup dalam sintaks yang sama seperti fail, jadi kedua-duanya boleh dibandingkan secara langsung. Anggap output itu sebagai rahsia: ia mengandungi kunci peribadi, jadi jangan tampalkannya ke tiket atau saluran sembang. Bandingkan kunci awam peer dan IP yang dibenarkan, dan semak bahawa peer yang anda buang dengan sengaja tidak kembali.
Buktikan ia bertahan daripada peristiwa kitaran hayat
Mulakan semula melalui pemilik kali kedua, kemudian sahkan tiga perkara berasingan: peer muncul dalam wg show, pembilang jabat tangan meningkat selepas trafik, dan aplikasi yang bergantung pada terowong benar-benar menjawab. Peer yang tersenarai dengan jabat tangan lama ialah masalah penghalaan atau kunci, bukan masalah ketekalan, dan perbezaan itu menjimatkan suntingan konfigurasi yang sia-sia.
Akhir sekali, semak apa yang dipulihkan oleh mula semula. Mula semula yang menghidupkan semula peer yang anda buang dengan sengaja ialah pepijat yang sama dengan tanda bertentangan, dan biasanya bermaksud salinan lama konfigurasi masih dimuatkan dari suatu tempat. Catat pemilik, laluan fail, kunci awam peer dan arahan pengesahan di sebelah konfigurasi, supaya orang seterusnya tidak menemui semula perkara ini dengan memulakan semula hos pengeluaran.