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 чындыгында эмнени сактаарын текшерүүчү жер.