Anda mengedit konfigurasi WireGuard di dalam kontena yang berjalan, ia berfungsi, dan kemas kini image seterusnya memadamkannya. Tiada apa yang salah dikonfigurasikan. Fail itu hidup dalam lapisan boleh tulis kontena, yang wujud hanya untuk instans kontena itu. Perbandingan yang penting bukanlah alat mana yang digunakan, tetapi input mana yang diisytiharkan oleh penggunaan anda. Apa sahaja yang anda edit dengan tangan ialah input yang tidak diketahui oleh penggunaan.

Dua jenis keadaan, satu daripadanya boleh dibuang

Kontena mempunyai lapisan boleh tulis untuk perubahan yang dibuat pada masa jalan, dan lapisan itu dibuang apabila kontena diganti. Ia bukan stor konfigurasi dan bukan sandaran. Image serta input yang diisytiharkan ialah definisi penuh tentang apa yang berjalan.

Tanya fail VPN anda yang mana satu input yang diisytiharkan dan yang mana satu kebetulan:

docker diff wg-vpn
docker inspect --format '{{json .Mounts}}' wg-vpn

Diff menyenaraikan apa yang berubah dalam lapisan boleh tulis, dan itu tepat set perkara yang akan hilang. Senarai mount menunjukkan apa yang kekal. Membandingkan kedua-duanya menjawab soalan sebelum anda kehilangan apa-apa.

Bind mount, volume bernama atau secret: apa yang dilindungi oleh setiap satu

Ketiga-tiganya boleh menyimpan profil VPN, dan ia berbeza dari segi siapa yang boleh membacanya dan apa yang berlaku semasa penggantian.

MechanismSurvives recreationWho can read it
Writable layerNoAnyone with container access, until it is gone
Bind mountYes, while the host path existsWhatever the host permissions allow
Named volumeYes, until the volume is removedManaged by the runtime
SecretYes, as a declared inputThe container process, by design

Bind mount memetakan laluan hos, jadi fail itu terlindung sejauh laluan itu terlindung dan kelihatan sejauh kebenaran hos membenarkan. Volume bernama diuruskan oleh runtime dan kekal selepas kontena dibuang, yang menjadikannya lalai yang lebih selamat untuk keadaan yang dimiliki oleh penggunaan. Mekanisme secret adalah untuk bahan yang anda tidak mahu dalam image atau pemboleh ubah persekitaran.

Jangan anggap setiap pemboleh ubah persekitaran dan setiap fail hos sebagai perlindungan yang setara, kerana ia bukan.

Mengedit di dalam kontena ialah perangkapnya

Perangkapnya bukan alat, tetapi arah pengeditan. Perubahan yang dibuat di dalam kontena yang berjalan tidak kelihatan kepada penggunaan, jadi penciptaan semula seterusnya membatalkannya secara senyap dan gejalanya kelihatan seperti regresi dalam image. Jika anda perlu membuat perubahan di sana untuk diagnosis, salin keluar dengan segera dan letakkan dalam input yang diisytiharkan. Kemudian cipta semula untuk membuktikan penggunaan itu menghasilkannya semula.

Profil boleh membawa kunci peribadi dan bahan akaun, yang menjadikan sandaran fail itu tugas pengendalian rahsia dan bukan salinan fail. Kekalkan pemilikan dan akses baca terhad kepada proses sebenar kontena, bukannya meluaskan direktori hos supaya ralat kebenaran hilang.

Peluaan itulah yang menjadikan kemudahan dalam kontena sebagai pendedahan hos.

Cipta semula dengan sengaja, kemudian sahkan empat perkara

Catat versi image, peranti dan keupayaan yang diperlukan, sambungan rangkaian dan input berterusan. Senarai peranti dan keupayaan amat penting untuk kontena VPN, kerana terowong memerlukan peranti rangkaian dan keistimewaan untuk mengkonfigurasinya.

Sahkan keadaan masa jalan yang dijana mana yang perlu dibina semula dan bukan disimpan. Kunci yang dijana terowong pada permulaan pertama ialah keadaan, dan keputusan untuk menyimpannya atau menjananya semula mempunyai akibat kepada setiap peer yang mengetahui kunci awam lama.

Selepas penciptaan semula terkawal, sahkan identiti, penghalaan, DNS dan blok kegagalan yang diperlukan. Proses yang bermula tanpa ralat tidak membuktikan satu pun daripada keempat-empatnya. Periksa semasa terowong aktif dan sekali lagi selepas anda menghentikannya, kerana blok kegagalan hanya menunjukkan dirinya apabila terowong hilang.

Simpan salinan pemulihan di luar kontena

Simpan salinan pemulihan yang hidup secara bebas daripada kontena, dan uji memulihkannya melalui proses yang didokumenkan. Sandaran profil VPN yang belum diuji ialah harapan, terutamanya apabila laluan pemulihan melibatkan kebenaran yang diperlukan oleh proses kontena.

Jika kontena pemilik VPN diganti, selaraskan aplikasi yang berkongsi tindanan rangkaiannya dalam kitaran hayat yang disokong oleh runtime.

Penyelarasan itulah perbezaan antara permulaan semula dan gangguan. Penggunaan harus menerangkan dari mana konfigurasi datang, dan dokumentasi volume ialah tempat untuk memeriksa apa yang sebenarnya dikekalkan oleh runtime.

Artikel berkaitan