ഹോസ്റ്റ് റൂട്ടുകളിൽ സ്പർശിക്കാതെ നെയിംസ്പേസുകളിൽ VPN റൂട്ടിംഗ് പരിശോധിക്കുക
മൂന്ന് അനുകരണ റോളുകൾ, മൂന്ന് വേർതിരിച്ച സന്ദർഭങ്ങൾ, ഓരോ ലിങ്കിനും ഒരു veth. ഹോസ്റ്റിൽ സ്പർശിക്കുന്നതിന് മുമ്പ് നെയിംസ്പേസ് ലാബിനെ ഹോസ്റ്റ്-റൂട്ട് ലാബുമായി താരതമ്യം ചെയ്യുക.
രണ്ട് ലാബുകൾക്ക് ഒരേ VPN ടോപ്പോളജി മോഡൽ ചെയ്യാം, പക്ഷേ തികച്ചും വ്യത്യസ്ത രീതികളിൽ പരാജയപ്പെടാം: ഒന്ന് നെറ്റ്വർക്ക് നെയിംസ്പേസുകളിൽ ജീവിക്കുന്നു, മറ്റൊന്ന് ഹോസ്റ്റിന്റെ സ്വന്തം റൂട്ടുകളിൽ. നെയിംസ്പേസ് പതിപ്പ് ഓരോ ഇന്റർഫേസും റൂട്ടും സോക്കറ്റും നിങ്ങൾക്ക് ഇല്ലാതാക്കാവുന്ന ഒരു സന്ദർഭത്തിൽ സൂക്ഷിക്കുന്നു, എന്നാൽ ഹോസ്റ്റ് പതിപ്പ് വേഗത്തിൽ ആരംഭിച്ച് പിന്നിൽ അവസ്ഥ വിടുന്നു. ആ ബാക്കിയുള്ള അവസ്ഥയാണ് ഒരു മാസത്തിന് ശേഷം രണ്ടാമത്തെ ലാബ് ആവർത്തിക്കാൻ ബുദ്ധിമുട്ടാക്കുന്ന കാരണം. ആദ്യം വൃത്തിയാക്കൽ താരതമ്യം ചെയ്യുക, കാരണം പരീക്ഷണം രണ്ടുതവണ നടത്താമോ എന്ന് അത് തീരുമാനിക്കുന്നു.
ഒരേ ലാബ് നിർമ്മിക്കാനുള്ള രണ്ട് വഴികൾ, ഏത് എപ്പോൾ വിജയിക്കുന്നു
ഹോസ്റ്റ്-റൂട്ട് ലാബിൽ നിങ്ങൾ പ്രവർത്തിക്കുന്ന യന്ത്രത്തിലേക്ക് ഒരു ടണൽ ഇന്റർഫേസും റൂട്ടുകളും ചേർക്കുന്നു, അതിനാൽ പരീക്ഷണം നിങ്ങളുടെ shell, പാക്കേജ് മാനേജർ, മറ്റെല്ലാ കണക്ഷനുകൾ എന്നിവയുമായി വിധി പങ്കിടുന്നു. നെയിംസ്പേസ് ലാബിൽ ഓരോ റോളിനും ഇന്റർഫേസുകൾ, വിലാസങ്ങൾ, റൂട്ടുകൾ, സോക്കറ്റുകൾ എന്നിവയുടെ സ്വന്തം സ്റ്റാക്ക് ലഭിക്കുന്നു, നെയിംസ്പേസ് ഇല്ലാതാക്കുന്നത് അതെല്ലാം നീക്കം ചെയ്യുന്നു. ഏത് മോഡലും കൂടുതൽ ശരിയല്ല, കാരണം അവ വ്യത്യസ്ത ചോദ്യങ്ങൾക്ക് ഉത്തരം നൽകുന്നു. വിഷയം റൂട്ടിംഗും ഫോർവേഡിംഗും ആണെങ്കിൽ നെയിംസ്പേസുകൾ തിരഞ്ഞെടുക്കുക, വിഷയം ഒരു ഡെസ്ക്ടോപ്പ് ക്ലയന്റ് എങ്ങനെ സംയോജിക്കുന്നു എന്നതാണെങ്കിൽ ഹോസ്റ്റ് ലാബ് തിരഞ്ഞെടുക്കുക.
| Aspect | Namespace lab | Host-route lab |
|---|---|---|
| Isolation | Full stack per role | Shares the host stack |
| Cleanup | Delete named namespaces | Manual route and rule removal |
| Realism | Strong for routing | Needed for GUI clients |
രണ്ടും കലർത്തുന്നതാണ് സാധാരണ തെറ്റ്: ഹോസ്റ്റ് ക്ലയന്റിനെതിരെ മാത്രം പരിശോധിച്ച നെയിംസ്പേസ് ലാബ് രണ്ട് ക്രമീകരണങ്ങളെക്കുറിച്ചും ഒന്നും തെളിയിക്കുന്നില്ല. ആദ്യ ലിങ്ക് സൃഷ്ടിക്കുന്നതിന് മുമ്പ് നിങ്ങൾ ഏത് ചോദ്യം ചോദിക്കുന്നു എന്ന് തീരുമാനിക്കുക.
ഓരോ റോളിനും ഒരു സന്ദർഭം, ബോധപൂർവം ബന്ധിപ്പിച്ചത്
ഓരോ റോളിനും ഒരു നെയിംസ്പേസ് സൃഷ്ടിച്ച് ഓരോ veth ജോഡിയുടെയും ഓരോ അറ്റവും അതിനുടമയായ സന്ദർഭത്തിലേക്ക് നീക്കുക. ആദ്യ നാല് കമാൻഡുകൾ രൂപം കാണാൻ മതിയാകും:
ip netns add client
ip netns add gateway
ip link add veth-c type veth peer name veth-g
ip link set veth-c netns clientലാബിന് ഹോസ്റ്റിൽ ഒന്നുമായും ഒത്തുപോകാത്ത ശ്രേണികൾ നൽകുക, ആരംഭിക്കുന്നതിന് മുമ്പ് ഏത് നെയിംസ്പേസ് ഏത് വിലാസത്തിന്റെ ഉടമയാണെന്ന് എഴുതിവയ്ക്കുക. പ്രവർത്തിക്കുന്ന ലാബിന് രണ്ട് വേർതിരിച്ച പാതകൾ വേണം: VPN അന്ത്യബിന്ദു അതിന്റെ ജോഡിയിലെത്താൻ ഒരു പുറം പാത, സംരക്ഷിത വിഭവത്തിന് ഒരു തിരിച്ചുവരവ് പാത. അവയെ രണ്ട് തീരുമാനങ്ങളായി മാതൃകയാക്കുക, കാരണം പുറത്തേക്കുള്ള പകുതി മാത്രം നിർമ്മിക്കുന്ന ലാബ് ഹാൻഡ്ഷേക്ക് പരീക്ഷയിൽ വിജയിച്ച് ആപ്ലിക്കേഷൻ പരീക്ഷയിൽ പരാജയപ്പെടുന്നു.
ഫോർവേഡിംഗ് റോൾ ആണ് ലാബുകൾ രസകരമാകുന്ന സ്ഥലം
ഒരു റോൾ ഫോർവേഡ് ചെയ്യണം, അതായത് ആ നെയിംസ്പേസിനുള്ളിൽ ഫോർവേഡിംഗ് പ്രവർത്തനക്ഷമമാക്കി ഡിസൈനിന് ആവശ്യമായ നിയമം ചേർക്കുക. ഫോർവേഡിംഗ് അവസ്ഥ ഓരോ നെയിംസ്പേസിനും വെവ്വേറെയാണ്, അതിനാൽ ഹോസ്റ്റ് ക്രമീകരണം ലാബിന് പ്രസക്തമല്ല, ലാബ് ക്രമീകരണം പുറത്തേക്ക് ചോരുന്നുമില്ല, നെറ്റ്വർക്ക് നെയിംസ്പേസ് രേഖകൾ വിവരിക്കുന്നതുപോലെ. ഒരു ഇന്റർഫേസും അതിന്റെ പുറം സോക്കറ്റും വ്യത്യസ്ത നെയിംസ്പേസുകളിൽ ജീവിക്കാമെന്ന് WireGuard രേഖപ്പെടുത്തുന്നു, ഇത് ഉപയോഗപ്രദമായ ഒരു തന്ത്രവും സ്വയം ആശയക്കുഴപ്പത്തിലാക്കാനുള്ള മികച്ച മാർഗവുമാണ്. ഇന്റർഫേസ് നീക്കുന്നത് കണക്ഷന്റെ ഓരോ ഭാഗവും ഒരേപോലെ നീക്കുമെന്ന് കരുതരുത്.
പരീക്ഷണ പാക്കറ്റിന് ശേഷം ഫോർവേഡിംഗ് കൗണ്ടർ പരിശോധിക്കുക, കാരണം ഒരിക്കലും പൊരുത്തപ്പെടാത്ത നിയമവും പാക്കറ്റ് ഉപേക്ഷിച്ച നിയമവും റൂട്ട് ടേബിളിൽ ഒരേപോലെ കാണപ്പെടുന്നു. കൗണ്ടറുകൾ മാത്രമാണ് അവയെ വേർതിരിക്കുന്നത്.
ഒരു അടിസ്ഥാനരേഖ രേഖപ്പെടുത്തുക, തുടർന്ന് ഒരു റൂട്ട് തകർക്കുക
എന്താണുള്ളതെന്ന് രേഖപ്പെടുത്തി തുടങ്ങുക, ഓരോ വരിയുടെയും അടുത്ത് സന്ദർഭം എഴുതുക. നെയിംസ്പേസുകൾ വായിക്കുക, തുടർന്ന് ഒരു പരീക്ഷണ ലക്ഷ്യം അവയിലൊന്നിനുള്ളിൽ സ്വീകരിക്കുന്ന റൂട്ട്, തുടർന്ന് അത് വഹിക്കുന്ന ലിങ്കിലെ കൗണ്ടറുകൾ:
ip netns list
ip -n client route get 10.0.0.5
ip -n gateway -s link show veth-gമൂന്നാമത്തെ കമാൻഡ് ആളുകൾ ഒഴിവാക്കുന്നതാണ്, തെളിവ് അവിടെയാണ്: ഉപേക്ഷിച്ചവയുടെയും പിശകുകളുടെയും കൗണ്ടറുകൾ ഒരു പാക്കറ്റ് ഫോർവേഡിംഗ് റോളിൽ എത്തിയോ എന്ന് പറയുന്നു. മാറ്റത്തിന് ശേഷം അതേ മൂന്ന് കാഴ്ചകൾ രേഖപ്പെടുത്തുക, തെളിവ് നിങ്ങളുടെ ഓർമ്മയല്ല, diff ആയിരിക്കട്ടെ. തുടർന്ന് കൃത്യമായി ഒന്ന് തകർക്കുക, ഒരു റൂട്ട് ഇല്ലാതാക്കിയോ ഫോർവേഡിംഗ് പാതയിൽ നിരസിക്കൽ നിയമം ചേർത്തോ, നിങ്ങൾ പ്രവചിച്ച ലക്ഷണം സ്ഥിരീകരിക്കുക: മറുപടിയില്ലാതെ പൂർത്തിയായ ഹാൻഡ്ഷേക്ക്, അല്ലെങ്കിൽ ടൈംഔട്ടിന് പകരം നാമപരിഹാര പരാജയം. വിജയം മാത്രം കാണിക്കുന്ന ലാബ് വളരെ കുറച്ച് പഠിപ്പിക്കുന്നു.
വൃത്തിയാക്കലാണ് അടുത്ത റൺ ആവർത്തനീയമാക്കുന്നത്
വൃത്തിയാക്കൽ നിങ്ങൾ പേരിട്ട വിഭവങ്ങളിൽ മാത്രം ഒതുക്കുക, കാരണം സമ്പൂർണ ഫയർവാൾ പുനഃസജ്ജീകരണമോ ഹോസ്റ്റ് റൂട്ട് നീക്കം ചെയ്യലോ പുനരുൽപ്പാദനക്ഷമതയല്ല, അത് രണ്ടാമത്തെ സംഭവമാണ്. ടോപ്പോളജി, കൃത്യമായ കമാൻഡുകൾ, നിങ്ങൾ പ്രതീക്ഷിച്ച നിരീക്ഷണങ്ങൾ എന്നിവ സംരക്ഷിക്കുക, അടുത്ത റൺ മുൻ അവസ്ഥ ഏത് സന്ദർഭത്തിലായിരുന്നു എന്ന് ഊഹിക്കാതെ അതേ പരാജയം പുനരുൽപ്പാദിപ്പിക്കാൻ. ആ രേഖയില്ലാതെ ലാബ് ഒരു കഥയാണ്, നടപടിക്രമമല്ല.
ലാബിനായി പ്രാദേശികമായി സൃഷ്ടിച്ച ക്രെഡൻഷ്യലുകൾ ഉപയോഗിക്കുക, ഉൽപ്പാദന അക്കൗണ്ടുകൾ പങ്കിട്ട ഉദാഹരണങ്ങളിൽ നിന്ന് അകറ്റി നിർത്തുക. തുടർന്ന് ഓരോ നെയിംസ്പേസും ഇല്ലാതാക്കി ഹോസ്റ്റ് കാഴ്ച മാറിയിട്ടില്ലെന്ന് സ്ഥിരീകരിക്കുക, ഈ മോഡൽ തിരഞ്ഞെടുക്കാനുള്ള മുഴുവൻ കാരണവും അതാണ്. വൃത്തിയായി നീക്കം ചെയ്യാൻ കഴിയാത്ത ലാബ് അധിക ഘട്ടങ്ങളുള്ള ഹോസ്റ്റ് മാറ്റമാണ്.