SMB ക്ലയന്റോ പാക്കറ്റ് ഫോർവേഡറോ ആയ റൂട്ടർ: ഏതാണ് അനുയോജ്യം
SMB ട്രാഫിക് ഫോർവേഡ് ചെയ്യുന്നതും അത് മൗണ്ട് ചെയ്യുന്നതും വെവ്വേറെ റോളുകളാണ്. റൂട്ടർ ക്ലയന്റ് ആകുന്നതിന് മുമ്പ് ക്രെഡൻഷ്യലുകൾ, കെർണൽ പിന്തുണ, പരാജയ കൈകാര്യം എന്നിവ പരിശോധിക്കുക.
SMB ട്രാഫിക് ഫോർവേഡ് ചെയ്യുന്നത് അത് അവസാനിപ്പിക്കുന്നതിന് തുല്യമായ ജോലിയല്ല, ഒന്ന് ചെയ്യുന്ന റൂട്ടർ മറ്റൊന്ന് കൈകാര്യം ചെയ്തെന്ന് വരില്ല. ഫോർവേഡ് എന്നാൽ റൂട്ടർ ഒരിക്കലും വിശകലനം ചെയ്യാത്ത പാക്കറ്റുകൾ നീക്കുന്നു എന്നാണ്. മൗണ്ട് എന്നാൽ റൂട്ടർ ഒരു ഫയൽ ക്ലയന്റ് ആകുന്നു എന്നാണ്, അതിനൊപ്പം ഇല്ലായിരിക്കാവുന്ന സോഫ്റ്റ്വെയർ, സംരക്ഷിക്കേണ്ട ക്രെഡൻഷ്യലുകൾ, ഇപ്പോൾ അതിന്റേതായ പരാജയ മോഡുകൾ എന്നിവയോടെ. രണ്ടിൽ നിന്ന് ഏത് തിരഞ്ഞെടുക്കണം എന്നത് ഫയലുകൾ എവിടെ വേണം എന്ന ചോദ്യമാണ്, റൗട്ടിംഗ് പ്ലാറ്റ്ഫോമിനെ എന്ത് ഇൻസ്റ്റാൾ ചെയ്യാൻ പ്രേരിപ്പിക്കാം എന്നതല്ല.
ഫോർവേഡും അവസാനിപ്പിക്കലും വ്യത്യസ്ത ജോലികളാണ്
ഫോർവേഡ് റോളിൽ റൂട്ടറിന് ഒരു ഉത്തരവാദിത്തമാണുള്ളത്: പാത ആവശ്യപ്പെടുന്ന നയം പ്രയോഗിച്ചുകൊണ്ട് ക്ലയന്റിനും സെർവറിനും ഇടയിൽ പാക്കറ്റുകൾ എത്തിക്കുക. അത് പങ്കിടലിൽ പ്രാമാണീകരണം നടത്തുന്നില്ല, ഫയൽ ഡാറ്റ കാഷ് ചെയ്യുന്നില്ല, സെർവർ SMB2 സംസാരിക്കുന്നുവോ SMB3 സംസാരിക്കുന്നുവോ എന്ന് ചിന്തിക്കുന്നുമില്ല, കാരണം അത് സ്ട്രീമിൽ അത്ര ആഴത്തിൽ വായിക്കുന്നില്ല. പങ്കിടൽ എത്താനാകാത്തതായാൽ ഉപയോക്താവിന് പിശക് കാണാം, റൂട്ടർ റൗട്ടിംഗ് തുടരും.
ക്ലയന്റ് റോളിൽ റൂട്ടർ പ്രോട്ടോക്കോൾ സംഭാഷണത്തിൽ ചേരുന്നു. അത് ഡയലക്ടിൽ ചർച്ച നടത്തുന്നു, പ്രാമാണീകരിക്കുന്നു, പേരുകൾ പരിഹരിക്കുന്നു, ഒരു മൗണ്ട് പോയിന്റ് സൂക്ഷിക്കുന്നു, അതിന് മുകളിൽ പ്രവർത്തിക്കുന്ന എല്ലാത്തിനും ലോക്കൽ ഫയൽസിസ്റ്റം കാഴ്ച നൽകുന്നു. ഇത് ജീവിതചക്രമുള്ള യഥാർത്ഥ സേവനമാണ്, ഇത് ഗേറ്റ്വേയെ ഫയൽ പ്രവൃത്തി പ്രവാഹത്തിന്റെ ആശ്രിതത്വമാക്കുന്നു. ആ ആശ്രിതത്വത്തിന്റെ എല്ലാ പരാജയ മോഡുകളും അത് പാരമ്പര്യമായി ഏറ്റെടുക്കുന്നു, ബൂട്ട് സമയത്തെ കാത്തിരിപ്പും കാലഹരണപ്പെട്ട ക്രെഡൻഷ്യലുകളും ഉൾപ്പെടെ.
താരതമ്യം കഴിവിനെക്കുറിച്ച് മാത്രമല്ല. ഒരു പങ്കിടൽ മൗണ്ട് ചെയ്യാൻ കഴിയുന്ന പ്ലാറ്റ്ഫോം സ്വയമേവ അത് ചെയ്യേണ്ട പ്ലാറ്റ്ഫോമല്ല, ഒന്നും മൗണ്ട് ചെയ്യാൻ കഴിയാത്ത പ്ലാറ്റ്ഫോം ട്രാഫിക് റൗട്ട് ചെയ്യാൻ ഇപ്പോഴും ശരിയായ സ്ഥലമായിരിക്കാം.
കെർണൽ CIFS മൗണ്ടിന് യഥാർത്ഥത്തിൽ എന്ത് വേണം
Linux അധിഷ്ഠിത ഉപകരണത്തിൽ കെർണൽ CIFS ക്ലയന്റും യൂസർസ്പേസ് ക്ലയന്റും വെവ്വേറെ കഴിവുകളാണ്, ചെറിയ ഇമേജുകളിൽ പലപ്പോഴും രണ്ടും ഉണ്ടാകില്ല. പ്രവർത്തിക്കുന്ന ഇമേജിൽ കെർണൽ പിന്തുണ ഉണ്ടായിരിക്കണം, മൗണ്ട് സഹായി നിലനിൽക്കണം, സെർവറുമായി ചർച്ച ചെയ്യുന്ന SMB ഡയലക്ട് ഇരുവശവും അംഗീകരിക്കുന്നതായിരിക്കണം. അത് വിവരിക്കുന്നത് Linux CIFS ക്ലയന്റ് ഗൈഡ് ആണ്, അതായത് കെർണൽ ക്രമീകരണവും അതിന്റെ മൗണ്ട് ഓപ്ഷനുകളും, വെണ്ടർ ബിൽഡിൽ അത് ഉണ്ടെന്ന് കരുതുന്നതിന് മുമ്പ് ശരിയായ റഫറൻസ് ഇതാണ്.
കഴിവിനെ ചുറ്റിപ്പറ്റി രൂപകൽപ്പന ചെയ്യുന്നതിന് മുമ്പ് അത് പരിശോധിക്കുക, കമാൻഡ് പേരിന്റെ സാന്നിധ്യമല്ല, പതിപ്പ് പരിശോധിക്കുക. പാക്കേജ് ലിസ്റ്റിലെ മൊഡ്യൂൾ പേര് പ്രവർത്തിക്കുന്ന ക്ലയന്റിന് തുല്യമല്ല.
lsmod | grep -w cifs
modinfo cifs | head -5
mount.cifs --version
smbclient -L //fs02.corp.internal -U svc-router -m SMB3ലോഡ് ചെയ്യുന്ന കെർണൽ മൊഡ്യൂളും പതിപ്പ് റിപ്പോർട്ട് ചെയ്യുന്ന യൂസർലാൻഡ് ടൂളും മൗണ്ട് VPN കീ പുതുക്കൽ അതിജീവിക്കുമെന്ന് ഇപ്പോഴും ഉറപ്പ് നൽകുന്നില്ല, അതിനാൽ പരിശോധനയെ തെളിവായല്ല, ആരംഭ വ്യവസ്ഥയായി കാണുക. ഇമേജ് SMB1 പിന്തുണ മാത്രം നൽകുന്നുവെങ്കിൽ അത് സെർവറിൽ പ്രവർത്തനക്ഷമമാക്കാനുള്ള കാരണമല്ല, നിർത്താനുള്ള കാരണമാണ്.
ക്രെഡൻഷ്യലുകളും ഉറവിട ഐഡന്റിറ്റിയും ലാപ്ടോപ്പിന്റേതിൽ നിന്ന് വ്യത്യസ്തമാണ്
ഫോർവേഡ് ചെയ്ത അഭ്യർത്ഥന ടണലിലൂടെ ലാപ്ടോപ്പിന്റെ ഐഡന്റിറ്റി കൊണ്ടുപോകുന്നു, എന്നാൽ റൂട്ടറിൽ സൃഷ്ടിക്കുന്ന അഭ്യർത്ഥന റൂട്ടറിന്റെ സ്വന്തം ഉറവിട വിലാസവും റിസോൾവർ പാതയും ഔട്ട്പുട്ട് ഫിൽട്ടറിംഗും കൊണ്ടുപോകുന്നു. ഇവ മറ്റൊരു ഫയർവാൾ നിയമത്തിലും മറ്റൊരു DNS കാഴ്ചയിലും സെർവർ വശത്തെ മറ്റൊരു അനുവദനീയ പട്ടികയിലും എത്താം. അതിനാൽ വർക്ക്സ്റ്റേഷനിൽ നിന്ന് പ്രവർത്തിക്കുന്ന പകർപ്പ് റൂട്ടറിന്റെ സ്വന്തം മൗണ്ടിനെക്കുറിച്ച് ഒന്നും തെളിയിക്കുന്നില്ല. മൗണ്ട് റൂട്ടറിന്റെ സ്വന്തം ഷെല്ലിൽ നിന്ന് പരീക്ഷിക്കുക, അതിന് പിന്നിലെ വർക്ക്സ്റ്റേഷനിൽ നിന്നല്ല.
റോൾ അംഗീകരിക്കപ്പെട്ടാൽ റൂട്ടറിന് ഇടുങ്ങിയ അധികാരമുള്ള സേവന ഐഡന്റിറ്റി നൽകുക. പാസ്വേർഡ് ഒരിക്കലും നേരിട്ട് മൗണ്ട് കമാൻഡ് ലൈനിൽ ഇടരുത്, കാരണം അത് ഷെൽ ചരിത്രത്തിൽ നിലനിൽക്കും, മൗണ്ട് പ്രവർത്തിക്കുമ്പോൾ പ്രോസസ് പട്ടികയിൽ കാണും.
ക്രെഡൻഷ്യൽ പ്ലാറ്റ്ഫോമിന്റെ സംരക്ഷിത സംവിധാനത്തിലൂടെ സൂക്ഷിക്കുക, നിയന്ത്രിത അനുമതികളുള്ള ഫയലിൽ നിന്ന് വായിക്കുക. മൗണ്ട് പ്രവർത്തിപ്പിക്കുന്ന അക്കൗണ്ട് ഒഴികെ ഏത് അക്കൗണ്ടിനും ആ ഫയൽ വായിക്കാനാകരുത്.
install -m 600 /dev/null /etc/cifs-reports.creds
printf 'username=svc-router\npassword=REPLACE_ME\ndomain=CORP\n' > /etc/cifs-reports.creds
mount -t cifs //fs02.corp.internal/reports /mnt/reports -o credentials=/etc/cifs-reports.creds,vers=3.1.1,roപങ്കിടൽ അപ്രത്യക്ഷമാകുമ്പോൾ പരാജയം ആരുടേത്
ഇല്ലാത്ത റിമോട്ട് ഫയൽസിസ്റ്റം ഇല്ലാത്ത റൂട്ടിൽ നിന്ന് വ്യത്യസ്തമായി പെരുമാറുന്നു. മൗണ്ട് അത് സ്പർശിക്കുന്ന പ്രോസസുകളെ തടയാം, ടണൽ ഉണ്ടാകുന്നതിന് മുമ്പ് ബൂട്ട് സമയത്ത് പരാജയപ്പെടാം, മൗണ്ട് പോയിന്റിന് കീഴിൽ ലോക്കൽ ഡയറക്ടറി ഉണ്ടെങ്കിൽ സെർവറിനുള്ള എഴുത്ത് തെറ്റായ സ്ഥലത്ത് എത്താം. ഇവ ഇപ്പോൾ നെറ്റ്വർക്ക് ടീമിന്റെ ഉടമസ്ഥതയിലുള്ള സ്റ്റോറേജ് പരാജയങ്ങളാണ്, ടീം അവ ആഗ്രഹിച്ചോ ഇല്ലയോ എന്നത് പരിഗണിക്കാതെ. ആ ഉടമസ്ഥതയോട് ആരും യോജിച്ചിട്ടില്ല, പക്ഷേ അത് മൗണ്ടിനൊപ്പം വരുന്നു.
ബൂട്ട് ക്രമവും മൗണ്ട് ഓപ്ഷനുകളും ആ യാഥാർത്ഥ്യത്തിന് ചുറ്റും രൂപകൽപ്പന ചെയ്യുക. ചെറിയ സമയപരിധിയും രേഖപ്പെടുത്തിയ വീണ്ടെടുപ്പ് ഘട്ടവുമുള്ള വായന-മാത്ര മൗണ്ട്, ബാക്കിയെല്ലാം ആശ്രയിക്കുന്ന എഴുത്ത് മൗണ്ടിനെക്കാൾ പ്രതിരോധിക്കാൻ എളുപ്പമാണ്. എന്തെങ്കിലും മൗണ്ട് ചെയ്യാൻ ശ്രമിക്കുന്നതിന് മുമ്പ് ടണൽ ഉയരുന്നുവെന്ന് ഉറപ്പാക്കുക, അല്ലാത്തപക്ഷം വൈദ്യുതി മുടക്കത്തിന് ശേഷമുള്ള ആദ്യ ബൂട്ട് തൂങ്ങിക്കിടക്കും.
വലിയ തോതിലുള്ള ഫയൽ പ്രോസസിംഗിന്, അല്ലെങ്കിൽ ഡാറ്റ മുന്നോട്ട് വീണ്ടും കയറ്റുമതി ചെയ്യുന്ന ഏതിനും, വേറിട്ട ഹോസ്റ്റ് സാധാരണയായി വ്യക്തമായ ഉടമസ്ഥത അതിർത്തി നൽകുന്നു. റൂട്ടർ റൗട്ടിംഗ് തുടരുന്നു, ഫയൽ പ്രവൃത്തി പ്രവാഹത്തിന് നെറ്റ്വർക്ക് കൂടെ കൊണ്ടുപോകാതെ പുനരാരംഭിക്കാവുന്ന ഒരു യന്ത്രം ലഭിക്കുന്നു.
തീരുമാനം യഥാർത്ഥ ജോലിയുമായി ചേർത്ത് പരിശോധിക്കുക
ഏത് ജോലിക്കാണ് ഫയലുകൾ വേണ്ടതെന്നും ആ ജോലി എവിടെ പ്രവർത്തിക്കുന്നുവെന്നും എഴുതുക. ഉത്തരം വർക്ക്സ്റ്റേഷൻ ആണെങ്കിൽ, പങ്കിടൽ റൗട്ട് ചെയ്ത് അവിടെ നിർത്തുക. ഉത്തരം ഉപകരണത്തിലെ സേവനമാണെങ്കിൽ, ആദ്യ മൗണ്ടിന് മുമ്പ് ക്ലയന്റ് കഴിവ്, പിന്തുണയുള്ള ഡയലക്ട്, ക്രെഡൻഷ്യൽ പാത എന്നിവ ഉറപ്പാക്കുക, തുടർന്ന് ഉപകരണം യഥാർത്ഥത്തിൽ ശരിയായ ഹോസ്റ്റാണോ എന്ന് തീരുമാനിക്കുക.
മൗണ്ട് ചെയ്ത കാഴ്ചയും ഒഴിഞ്ഞ സ്ഥലവും റൂട്ടറിൽ നിന്നുതന്നെ പരിശോധിക്കുക, കാരണം ജോലിഭാരം അവ അവിടെയാണ് കാണുക. വീണ്ടും കണക്റ്റ് ചെയ്ത ശേഷം പരിശോധന ആവർത്തിക്കുക, വൃത്തിയുള്ള ബൂട്ടിന് ശേഷം മാത്രമല്ല.
findmnt -t cifs -o TARGET,SOURCE,OPTIONS
df -h /mnt/reports
ls -l /mnt/reports | headഫയലുകൾ ലിസ്റ്റ് ചെയ്യുന്നെങ്കിലും നിറഞ്ഞതോ വായന-മാത്രമുള്ളതോ ആയ ഫയൽസിസ്റ്റം റിപ്പോർട്ട് ചെയ്യുന്ന മൗണ്ട്, രാത്രി 2 മണിക്ക് നിങ്ങൾ ഏത് പരാജയം നേരിടുമെന്ന് ഇതിനകം പറഞ്ഞു. വീണ്ടെടുപ്പ് പാതയും ഉറപ്പാക്കുക: വൃത്തിയായി അൺമൗണ്ട് ചെയ്യുക, ടണൽ താഴ്ത്തുക, വീണ്ടും ഉയർത്തി ഉപകരണം പുനരാരംഭിക്കാതെ വീണ്ടും മൗണ്ട് ചെയ്യുക. ആ ക്രമത്തിന് ഓരോ തവണയും പിന്തുണ കേസ് വേണ്ടിവന്നാൽ, ക്ലയന്റ് റോളിന് റൂട്ടർ തെറ്റായ സ്ഥലമാണ്.