Meshnet, Docker, അവയ്ക്കിടയിലെ അനുമതി
പ്രസിദ്ധീകരിച്ച ഒരു കണ്ടെയ്നറിലെത്തുന്ന മെഷ് പിയർ ഒരു ഹോസ്റ്റ് അനുമതിയും Docker വിവർത്തനവും കടക്കുന്നു. രണ്ടും വെവ്വേറെ പരിശോധിക്കുക, അല്ലെങ്കിൽ തെറ്റായ പരിധി അംഗീകരിക്കും.
ഒരു പിയറിന്റെ ബ്രൗസറിൽ നിന്ന് രണ്ട് URL ഒരുപോലെ തോന്നാം, എന്നാൽ ഫയർവാളിന് തികച്ചും വ്യത്യസ്തമായ കാര്യങ്ങൾ അർത്ഥമാക്കാം. ഒന്ന് ഹോസ്റ്റിൽ തന്നെ കേൾക്കുന്ന ഒരു സേവനത്തെ സൂചിപ്പിക്കുന്നു. മറ്റൊന്ന് പോർട്ട് ഒരു കണ്ടെയ്നർ നെറ്റ്വർക്കിലേക്ക് പ്രസിദ്ധീകരിച്ച ഒരു ഹോസ്റ്റ് വിലാസത്തെ സൂചിപ്പിക്കുന്നു, അവിടെ വിവർത്തന ഘട്ടം കണക്ഷൻ മറ്റൊരു IP-യ്ക്ക് കൈമാറുന്നു. ഓരോ പിയറിനും അനുമതി നൽകി പ്രാദേശിക നെറ്റ്വർക്ക് പ്രവേശനം നിയന്ത്രിക്കുന്ന പിയർ-ടു-പിയർ മെഷിൽ, ആ വ്യത്യാസമാണ് മുഴുവൻ അവലോകനം.
അനുമതി ഹോസ്റ്റിന്റെ അന്തിമ ബിന്ദുവിനെക്കുറിച്ചാണ്, വിവർത്തനം Docker-നെക്കുറിച്ചാണ്, ലോഗിൻ അപ്ലിക്കേഷനെക്കുറിച്ചാണ്. മൂന്ന് തീരുമാനങ്ങൾ, നോക്കാൻ മൂന്ന് സ്ഥലങ്ങൾ.
പ്രസിദ്ധീകരണത്തിന് ശേഷം ലക്ഷ്യസ്ഥാനം പിന്തുടരുക
ഒരു കണ്ടെയ്നറിന്റെ പോർട്ട് 80 ഹോസ്റ്റിന്റെ പോർട്ട് 8080-ൽ പ്രസിദ്ധീകരിക്കുന്ന ഒരു Linux Docker ഹോസ്റ്റ് എടുക്കുക. ഒരു പിയർ 8080-ൽ ഹോസ്റ്റിന്റെ മെഷ് വിലാസത്തിലേക്ക് ബന്ധിപ്പിക്കുന്നു, ഹോസ്റ്റ് കണക്ഷൻ സ്വീകരിക്കുന്നു, ലക്ഷ്യസ്ഥാനത്തിന്റെ വിവർത്തനം അത് കണ്ടെയ്നറിന്റെ ബ്രിഡ്ജ് വിലാസത്തിലേക്ക്, സാധാരണയായി 172.17.0.2 പോലെ എന്തെങ്കിലും, പോർട്ട് 80-ൽ വീണ്ടും എഴുതുന്നു.
ഒരു നിയമം ആ പ്രവാഹം പരിശോധിക്കുമ്പോൾ, താൽപ്പര്യമുള്ള ലക്ഷ്യസ്ഥാനം കണ്ടെയ്നറാണ്, ഹോസ്റ്റല്ല. «ഈ മെഷീനിലെ ഒരു സേവനം» മാത്രം ചിന്തിക്കുന്ന നയം തെറ്റായ വസ്തുവിനെക്കുറിച്ച് ചിന്തിക്കുന്നു. അഭ്യർത്ഥന ഹോസ്റ്റിൽ ഇറങ്ങി, പക്ഷേ അത് മറ്റൊരിടത്ത് എത്തിക്കുന്നു.
അതുകൊണ്ടാണ് മെഷ് ഡോക്യുമെന്റേഷൻ Linux-ൽ പ്രാദേശിക നെറ്റ്വർക്ക് അനുമതി നിയന്ത്രിക്കുന്ന വിഭവങ്ങളിൽ Docker കണ്ടെയ്നറുകളെ ഉൾപ്പെടുത്തുന്നത്. അനുമതി സാധാരണ VPN അനുവദനീയ പട്ടികയിലെ ഒരു എൻട്രിയുടെ പര്യായമല്ല, രണ്ട് നിയന്ത്രണങ്ങളും പരസ്പരം പകരമാകുന്നില്ല. ഒന്ന് പിയറിന് പ്രാദേശിക വിഭവങ്ങളിൽ എത്താമോ എന്ന് തീരുമാനിക്കുന്നു; മറ്റൊന്ന് ടണൽ റൂട്ട് ഏത് ലക്ഷ്യസ്ഥാനങ്ങൾ വഹിക്കുന്നു എന്ന് തീരുമാനിക്കുന്നു.
ഒരു അനുമതി എത്ര പ്രാദേശിക പ്രവേശനം നൽകുന്നു എന്ന് തീരുമാനിക്കുക
ഒരു പിയറിന് പ്രാദേശിക നെറ്റ്വർക്ക് പ്രവേശനം നൽകുന്നത് ഒരു കണ്ടെയ്നറിന്റെ തീരുമാനമല്ല. അത് അതേ ഹോസ്റ്റിലെ മറ്റ് പ്രസിദ്ധീകരിച്ച സേവനങ്ങൾ വെളിപ്പെടുത്തിയേക്കാം, ഹോസ്റ്റ് എങ്ങനെ ഫോർവേഡ് ചെയ്യുന്നു എന്നതിനെ ആശ്രയിച്ച് കൂടുതൽ ദൂരെ എത്തിയേക്കാം. ഒരു ഡാഷ്ബോർഡിനായി സ്വിച്ച് അമർത്തുന്നതിന് മുമ്പ് ഫലപ്രദമായ പരിധി പരിശോധിക്കുക.
തുടർന്ന് Docker പോർട്ട് എവിടെ പ്രസിദ്ധീകരിക്കുന്നു എന്ന് നോക്കുക. 0.0.0.0-ൽ പ്രസിദ്ധീകരണം ഓരോ ഹോസ്റ്റ് വിലാസത്തിലും ഒരു ശ്രോതാവിനെ സൃഷ്ടിക്കുന്നു, അത് മെഷ് എൻട്രിക്കൊപ്പം ഒരു സാധാരണ LAN എൻട്രി ചേർത്തേക്കാം. ആവശ്യകത മെഷ് മാത്രമാണെങ്കിൽ, പ്രസിദ്ധീകരണം നിങ്ങൾ ഉദ്ദേശിക്കുന്ന നിർദ്ദിഷ്ട വിലാസത്തിലേക്കോ ഇന്റർഫേസിലേക്കോ ബന്ധിക്കുക, കൂടുതൽ വിശാലമായ ബന്ധനത്തെ സൗകര്യമായല്ല, പ്രത്യേക കണ്ടെത്തലായി കാണുക.
ഹോസ്റ്റിന്റെ ഫോർവേഡിംഗ് നയവും അപ്ലിക്കേഷന്റെ സ്വന്തം പ്രാമാണീകരണവും സേവനത്തിന് ആവശ്യമായത്ര ഇടുങ്ങിയതായി നിലനിർത്തുക. സ്വകാര്യമായി തോന്നുന്ന ഒരു URL പ്രവേശന നിയന്ത്രണമല്ല, ബ്രിഡ്ജ് നെറ്റ്വർക്കിലെ എല്ലാ ഉറവിടങ്ങളെയും വിശ്വസിക്കുന്ന ഒരു കണ്ടെയ്നർ മെഷ് പിയർ അംഗീകരിക്കപ്പെട്ടു എന്നതുകൊണ്ട് സംരക്ഷിക്കപ്പെടുന്നില്ല. അപ്ലിക്കേഷന്റെ പ്രാമാണീകരണം മൂന്നാമത്തെ തീരുമാനമാണ്, ഉപയോക്താവ് ആരെന്ന് അറിയുന്ന ഏക തീരുമാനവും. ഹോസ്റ്റ് തലത്തിലുള്ള അനുമതിക്ക് ആ അറിവ് നൽകാനാവില്ല.
അനുമതി പരിശോധിക്കുക, URL മാത്രമല്ല
അംഗീകരിച്ച പിയറിൽ നിന്ന് കൃത്യമായ സേവനം തുറന്ന് അത് പ്രവർത്തിക്കുന്നു എന്ന് ഉറപ്പാക്കുക. തുടർന്ന് നിരസിക്കപ്പെട്ടിരിക്കേണ്ട ഒരു ലക്ഷ്യസ്ഥാനം പരീക്ഷിച്ച് അത് പ്രവർത്തിക്കുന്നില്ല എന്ന് ഉറപ്പാക്കുക. സുഖകരമായ പാത മാത്രം പരിശോധിക്കുന്നത് അനുമതി നൽകിയെന്ന് പറയുന്നു; അതിർത്തി നിങ്ങൾ കരുതുന്നിടത്താണെന്ന് പറയുന്നില്ല.
ഹോസ്റ്റിന് സ്വാഭാവികമായ ഒരു സേവനം വെവ്വേറെ താരതമ്യം ചെയ്യുക. ഒരു ഡാറ്റാബേസ് ഹോസ്റ്റിൽ കേൾക്കുകയും ഒരു ഡാഷ്ബോർഡ് ഒരു കണ്ടെയ്നറിൽ പ്രവർത്തിക്കുകയും ചെയ്യുന്നുവെങ്കിൽ, അവ ഒരേ അനുമതിയിലൂടെ വ്യത്യസ്ത പാതകൾ പിന്തുടരുന്നു, ഹോസ്റ്റിന്റെ ഫോർവേഡിംഗ് നയം അവയെ ഒരുപോലെ നിയന്ത്രിക്കണമെന്നില്ല. അവലോകന കുറിപ്പ് എഴുതുന്നതിന് മുമ്പ് ഏതാണ് ഏതെന്ന് രേഖപ്പെടുത്തുക.
പ്രവേശനം «പുനഃസജ്ജമാക്കാൻ» Docker-ന്റെ പട്ടികകളോ മെഷ് ക്ലയന്റിന്റെ നിയമങ്ങളോ ശൂന്യമാക്കരുത്. രണ്ട് ഉൽപ്പന്നങ്ങളും സ്വന്തം നയ സംയോജനം ഇൻസ്റ്റാൾ ചെയ്യുന്നു, അത് മായ്ക്കുന്നത് വിലയിരുത്താൻ ആവശ്യപ്പെട്ട നിയന്ത്രണങ്ങളെ ഒഴിവാക്കിക്കൊണ്ട് പ്രവർത്തിക്കുന്നതായി തോന്നുന്ന ഒരു ഹോസ്റ്റ് സൃഷ്ടിക്കുന്നു. ഒരു നിയമം തെറ്റായി തോന്നുന്നുവെങ്കിൽ അത് വായിച്ച് ആ നിയമം മാത്രം മാറ്റുക. ഒരു നിയമം എന്ത് ചെയ്യുന്നു എന്ന് വിശദീകരിക്കാനാകുന്നില്ലെങ്കിൽ അതാണ് കണ്ടെത്തൽ, അത് ഇല്ലാതാക്കാനുള്ള കാരണമല്ല.
കണ്ടെത്തൽ സിസ്റ്റത്തിന്റെ സ്വന്തം പദങ്ങളിൽ എഴുതുക
പ്രധാനമായത് ഉൽപ്പന്നം യഥാർത്ഥത്തിൽ നടപ്പിലാക്കുന്ന വ്യത്യാസമാണ്, അവലോകന ടെംപ്ലേറ്റിലുള്ളതല്ല: ഒരു ഹോസ്റ്റ് അന്തിമ ബിന്ദുവിൽ എത്താനുള്ള അനുമതി, റൂട്ട് ചെയ്ത സ്വകാര്യ വിഭവങ്ങളിൽ എത്താനുള്ള അനുമതി, അപ്ലിക്കേഷൻ ഉപയോഗിക്കാനുള്ള അനുമതി. ഒരു പോർട്ട് പ്രസിദ്ധീകരിക്കുന്നത് ആ മൂന്ന് തീരുമാനങ്ങളെ അവ ഉണ്ടായിരുന്നിടത്ത് തന്നെ വിടുന്നു, അവയെ ഒന്നായി കാണുന്ന അവലോകനക്കാരൻ തെറ്റായ പരിധി അംഗീകരിക്കും.
ഹോസ്റ്റ് വിലാസം, പ്രസിദ്ധീകരിച്ച പോർട്ട്, കണ്ടെയ്നറിന്റെ ലക്ഷ്യസ്ഥാനം, പിയർ അനുമതി എന്നിവ ഒരേ വാക്യത്തിൽ പറയുക. ആ വാക്യം മറ്റൊരാൾക്ക് പരിശോധിക്കാനാകും, അതാണ് അതിനെ അഭിപ്രായത്തിനു പകരം കണ്ടെത്തലാക്കുന്നത്.