VPN конфигурациясы контейнер қайта жасалғанда оны mount еткенде ғана сақталады
Жұмыс істеп тұрған контейнер ішінде өңделген файл жоғалатын қабатта тұрады. bind mount, volume және secret-ті салыстырыңыз, содан кейін қайта жасап, төрт нәрсені тексеріңіз.
Сіз жұмыс істеп тұрған контейнер ішінде WireGuard конфигурациясын өңдейсіз, ол жұмыс істейді, ал келесі image жаңартуы оны жояды. Ешнәрсе дұрыс конфигурацияланбаған емес. Файл контейнердің жазуға болатын қабатында тұрды, ол тек сол контейнер данасы үшін бар. Маңызды салыстыру қандай құралды пайдалану емес, сіздің орналастыруыңыз қандай кірістерді жариялайтыны. Қолмен өңдегеннің бәрі орналастыру білмейтін кіріс.
Екі түрлі күй, біреуі бір реттік
Контейнердің жұмыс уақытында жасалған өзгерістерге арналған жазуға болатын қабаты бар, және контейнер ауыстырылғанда бұл қабат тасталады. Ол конфигурация қоймасы емес және сақтық көшірме емес. Image және жарияланған кірістер не істеп жатқанының толық анықтамасы.
VPN файлдарыңыздың қайсысы жарияланған кіріс, қайсысы кездейсоқтық екенін сұраңыз:
docker diff wg-vpn
docker inspect --format '{{json .Mounts}}' wg-vpndiff жазуға болатын қабатта не өзгергенін тізеді, және бұл дәл жоғалатын нәрселер жиынтығы. mount тізімі не қалатынын көрсетеді. Екеуін салыстыру бірдеңе жоғалтпас бұрын сұраққа жауап береді.
bind mount, атаулы volume немесе secret: әрқайсысы нені қорғайды
Үшеуі де VPN профилін ұстай алады, және олар кімнің оны оқи алатынымен және ауыстыру кезінде не болатынымен ерекшеленеді.
| Mechanism | Survives recreation | Who can read it |
|---|---|---|
| Writable layer | No | Anyone with container access, until it is gone |
| Bind mount | Yes, while the host path exists | Whatever the host permissions allow |
| Named volume | Yes, until the volume is removed | Managed by the runtime |
| Secret | Yes, as a declared input | The container process, by design |
bind mount host жолын салыстырады, сол себепті файл сол жол қаншалықты қорғалған болса, соншалықты қорғалған және host рұқсаттары жібергенінше көрінеді. Атаулы volume-ды runtime басқарады және контейнер жойылғанда сақталады, бұл оны орналастыруға тиесілі күй үшін қауіпсіз әдепкі етеді. secret механизмі image-де немесе орта айнымалысында қаламайтын материалға арналған.
Әрбір орта айнымалысы мен әрбір host файлын тең қорғаныс деп қарамаңыз, өйткені олай емес.
Контейнер ішінде өңдеу — тұзақ
Тұзақ құрал емес, өңдеу бағыты. Жұмыс істеп тұрған контейнер ішінде жасалған өзгеріс орналастыруға көрінбейді, сол себепті келесі қайта жасау оны үнсіз кері қайтарады және симптом image-дегі регрессия сияқты көрінеді. Егер диагностика үшін сонда өзгеріс жасау керек болса, оны дереу сыртқа көшіріп, жарияланған кіріске қойыңыз. Содан кейін орналастыру оны қайталайтынын дәлелдеу үшін қайта жасаңыз.
Профиль жеке кілттер мен тіркелгі материалын алып жүруі мүмкін, бұл сол файлдың сақтық көшірмесін файл көшіру емес, құпиялармен жұмыс міндетіне айналдырады. Иелік пен оқу рұқсатын контейнердің нақты процесімен шектеп ұстаңыз, рұқсат қатесі жоғалуы үшін host каталогын кеңейтудің орнына.
Дәл сол кеңейту контейнердегі қолайлылықты host-тың әшкереленуіне айналдырады.
Әдейі қайта жасаңыз, содан кейін төрт нәрсені тексеріңіз
Image нұсқасын, қажет құрылғы мен мүмкіндіктерді, желілік қосылымын және тұрақты кірістерді жазыңыз. Құрылғы мен мүмкіндіктер тізімі VPN контейнері үшін ерекше маңызды, өйткені туннельге желілік құрылғы және оны конфигурациялау артықшылығы керек.
Қандай генерацияланған жұмыс күйін сақтаудың орнына қайта құру керектігін растаңыз. Туннель бірінші іске қосқанда генерациялаған кілттер — күй, және оларды ұстау немесе қайта генерациялау ескі ашық кілтті білетін әрбір peer үшін салдарлары бар шешім.
Бақыланатын қайта жасаудан кейін сәйкестікті, маршруттауды, DNS-ті және қажетті ақау блогын тексеріңіз. Қатесіз іске қосылатын процесс осы төрттің ешқайсысын дәлелдемейді. Туннель қосулы кезде және оны тоқтатқаннан кейін қайта тексеріңіз, өйткені ақау блогы туннель жоғалғанда ғана көрінеді.
Контейнерден тыс қалпына келтіру көшірмесін ұстаңыз
Контейнерден тәуелсіз өмір сүретін қалпына келтіру көшірмесін ұстаңыз және оны құжатталған процеспен қалпына келтіруді тексеріңіз. VPN профилінің тексерілмеген сақтық көшірмесі — үміт, әсіресе қалпына келтіру жолы контейнер процесіне қажет рұқсаттарды қамтыса.
Егер VPN-ге ие контейнер ауыстырылса, оның желілік стекін бөлісетін қолданбаларды runtime-ның қолдайтын өмірлік циклінде үйлестіріңіз.
Дәл сол үйлестіру қайта іске қосу мен үзілістің айырмасы. Орналастыру конфигурацияның қайдан келетінін сипаттауы керек, ал volume құжаттамасы runtime шын мәнінде нені сақтайтынын тексеру орны.