VPN கட்டமைப்பு கண்டெய்னர் மீண்டும் உருவாக்கப்படும்போது அதை மவுண்ட் செய்தால் மட்டுமே தாக்குப்பிடிக்கும்
இயங்கும் கண்டெய்னருக்குள் திருத்தப்பட்ட கோப்பு மறைந்துவிடும் அடுக்கில் வாழ்கிறது. 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 அல்லது environment variable இல் நீங்கள் விரும்பாத பொருளுக்கானது.
ஒவ்வொரு environment variable மற்றும் ஒவ்வொரு host கோப்பையும் சமமான பாதுகாப்பாகக் கருத வேண்டாம், ஏனெனில் அவை அல்ல.
கண்டெய்னருக்குள் திருத்துவதே பொறி
பொறி கருவி அல்ல, திருத்தத்தின் திசையே. இயங்கும் கண்டெய்னருக்குள் செய்யப்பட்ட மாற்றம் வரிசைப்படுத்தலுக்குத் தெரியாது, எனவே அடுத்த மறு உருவாக்கம் அதை அமைதியாகத் திருப்பிவிடும், அறிகுறி image இல் பின்னடைவு போலத் தோன்றும். கண்டறிதலுக்காக அங்கு மாற்றம் செய்ய வேண்டுமானால், உடனே வெளியே நகலெடுத்து அறிவிக்கப்பட்ட உள்ளீட்டில் வைக்கவும். பின்னர் மீண்டும் உருவாக்கி வரிசைப்படுத்தல் அதை மீண்டும் உருவாக்குகிறது என நிரூபிக்கவும்.
சுயவிவரம் தனிப்பட்ட விசைகளையும் கணக்குப் பொருளையும் கொண்டிருக்கலாம், இது அந்தக் கோப்பின் காப்புப்பிரதியைக் கோப்பு நகலாக அல்லாமல் ரகசியக் கையாளுதலின் பணியாக்குகிறது. உரிமையையும் படிக்கும் அணுகலையும் கண்டெய்னரின் உண்மையான செயல்முறைக்கு மட்டுப்படுத்தி வைக்கவும், அனுமதிப் பிழை மறைய host அடைவை விரிவாக்குவதற்குப் பதிலாக.
அந்த விரிவாக்கமே கண்டெய்னரில் உள்ள வசதியை host இன் வெளிப்பாடாக மாற்றுகிறது.
வேண்டுமென்றே மீண்டும் உருவாக்கி, பின்னர் நான்கு விஷயங்களைச் சரிபார்க்கவும்
image பதிப்பு, தேவையான சாதனம் மற்றும் திறன்கள், பிணைய இணைப்பு மற்றும் நிரந்தர உள்ளீடுகளைப் பதிவு செய்யவும். சாதனம் மற்றும் திறன் பட்டியல் VPN கண்டெய்னருக்கு மிகவும் முக்கியம், ஏனெனில் சுரங்கப்பாதைக்கு பிணைய சாதனமும் அதைக் கட்டமைக்கும் அதிகாரமும் தேவை.
எந்த உருவாக்கப்பட்ட இயக்க நிலையைச் சேமிக்காமல் மீண்டும் கட்டமைக்க வேண்டும் என்பதை உறுதிப்படுத்தவும். சுரங்கப்பாதை முதல் தொடக்கத்தில் உருவாக்கிய விசைகள் நிலையாகும், அவற்றை வைத்திருப்பதா மீண்டும் உருவாக்குவதா என்பது பழைய பொது விசையை அறிந்த ஒவ்வொரு peer க்கும் விளைவுகளைக் கொண்ட முடிவு.
கட்டுப்படுத்தப்பட்ட மறு உருவாக்கத்திற்குப் பிறகு அடையாளம், வழித்தடம், DNS மற்றும் தேவையான தோல்வித் தடையைச் சரிபார்க்கவும். பிழையின்றி தொடங்கும் செயல்முறை அந்த நான்கில் எதையும் நிரூபிக்காது. சுரங்கப்பாதை இயங்கும்போதும் அதை நிறுத்திய பிறகும் மீண்டும் சரிபார்க்கவும், ஏனெனில் தோல்வித் தடை சுரங்கப்பாதை போகும்போது மட்டுமே தன்னைக் காட்டுகிறது.
கண்டெய்னருக்கு வெளியே மீட்பு நகலை வைத்திருங்கள்
கண்டெய்னரிலிருந்து சுயாதீனமாக வாழும் மீட்பு நகலை வைத்திருங்கள், ஆவணப்படுத்தப்பட்ட செயல்முறையின் மூலம் அதை மீட்டெடுப்பதைச் சோதிக்கவும். VPN சுயவிவரத்தின் சோதிக்கப்படாத காப்புப்பிரதி ஒரு நம்பிக்கை, குறிப்பாக மீட்புப் பாதையில் கண்டெய்னர் செயல்முறைக்குத் தேவையான அனுமதிகள் இருந்தால்.
VPN வைத்திருக்கும் கண்டெய்னர் மாற்றப்பட்டால், அதன் பிணைய அடுக்கைப் பகிரும் பயன்பாடுகளை runtime இன் ஆதரவு வாழ்க்கைச் சுழற்சியில் ஒருங்கிணைக்கவும்.
அந்த ஒருங்கிணைப்பே மறுதொடக்கம் மற்றும் தடையின் வேறுபாடு. வரிசைப்படுத்தல் கட்டமைப்பு எங்கிருந்து வருகிறது என்பதை விவரிக்க வேண்டும், volume ஆவணங்கள் runtime உண்மையில் எதைத் தக்கவைக்கிறது எனச் சரிபார்க்கும் இடம்.