VPN-ലൂടെ NFS clientaddr: ശീലമല്ല, മൈനർ പതിപ്പ് അനുസരിച്ച് തീരുമാനിക്കുക
clientaddr NFSv4.0-ന് മാത്രം ഒരു കോൾബാക്ക് വിലാസം പ്രഖ്യാപിക്കുന്നു. സമ്മതിച്ച മൈനർ പതിപ്പ് വായിക്കുക, മടങ്ങിവരവ് പാത പരിശോധിക്കുക, അതിനെ മൗണ്ട് പരാജയങ്ങളിൽ നിന്ന് വേർതിരിക്കുക.
clientaddr കാരണം വളരെ മുമ്പേ അപ്രത്യക്ഷമായതിന് ശേഷവും കമാൻഡ് ലൈനിലേക്ക് പകർത്തപ്പെടുന്ന മൗണ്ട് ഓപ്ഷനുകളിൽ ഒന്നാണ്. ഇത് NFSv4.0 സെർവറിനോട് ക്ലയന്റിനെ എവിടേക്ക് തിരികെ വിളിക്കണം എന്ന് പറയുന്നു. ഇത് സെർവർ തിരഞ്ഞെടുക്കുന്നില്ല, ഓരോ അഭ്യർത്ഥനയും ഒരു ഉറവിട വിലാസത്തിലേക്ക് ബന്ധിക്കുന്നില്ല, ട്രാഫിക് ഒരു ടണലിലേക്ക് തള്ളുന്നുമില്ല. ഒന്നിലധികം വിലാസങ്ങളുള്ള ലാപ്ടോപ്പിൽ, ഇത് ഒട്ടേറെ ബാധകമാണോ എന്ന് തീരുമാനിക്കാൻ മൂന്ന് ചോദ്യങ്ങൾ വേണം.
ഓപ്ഷന്റെ പ്രാധാന്യം മൂന്ന് വ്യവസ്ഥകൾ തീരുമാനിക്കുന്നു
ആദ്യത്തേത് സമ്മതിച്ച മൈനർ പതിപ്പാണ്, കാരണം 4.1-ഉം 4.2-ഉം കോൾബാക്കുകൾ വ്യത്യസ്തമായി കൈകാര്യം ചെയ്യുന്നു. രണ്ടാമത്തേത്, നിങ്ങൾ പ്രഖ്യാപിക്കാൻ ഉദ്ദേശിക്കുന്ന വിലാസത്തിലേക്ക് സെർവറിന് എത്താനാകുമോ എന്നതാണ്; റൂട്ട് ചെയ്ത ടണൽ സാധാരണയായി അത് അനുവദിക്കുന്നു, വിവർത്തനം ചെയ്ത പാത സാധാരണയായി അനുവദിക്കുന്നില്ല. മൂന്നാമത്തേത്, നിങ്ങൾ പിന്തുടരുന്ന പരാജയം ഒരു കോൾബാക്ക് പരാജയമാണോ എന്നതാണ്.
| Condition | If yes | If no |
|---|---|---|
| Version is 4.0 | The option can matter | Skip it; inspect the session instead |
| Server can reach the address | Advertise it | Fix reachability first |
| Failure is a callback | Diagnose callback path | Look at mount and export |
അവയ്ക്ക് തെറ്റായ ക്രമത്തിൽ ഉത്തരം നൽകുന്നതാണ് ആളുകൾ 4.2 മൗണ്ടിലേക്ക് ഒരു കോൾബാക്ക് വിലാസം ചേർത്ത് ഓപ്ഷൻ കേടായി എന്ന് തീരുമാനിക്കുന്ന വഴി.
ആദ്യം മൈനർ പതിപ്പ് വായിക്കുക
nfsstat -m
നിലവിലുള്ള ഒരു മൗണ്ടിന്, ഇത് മൗണ്ട് വിവരങ്ങളും ഫ്ലാഗുകളും പ്രിന്റ് ചെയ്യുന്നു, അതിൽ ഫലപ്രദമായ പതിപ്പ് vers=4.0, vers=4.1 അല്ലെങ്കിൽ vers=4.2 എന്ന രൂപത്തിൽ ഉൾപ്പെടുന്നു. “NFSv4” മാത്രം പറയുന്ന കുറിപ്പ് ഈ ഓപ്ഷൻ പ്രസക്തമാണോ എന്ന് തീരുമാനിക്കുന്ന ഏക വിശദാംശം ഒഴിവാക്കുന്നു. വാക്കല്ല, സംഖ്യ വായിക്കുക.
പതിപ്പ് സ്ട്രിംഗ് നിങ്ങളുടെ കമാൻഡ് ലൈനിൽ നിന്നല്ല, സെർവറിന്റെ സ്ഥിരസ്ഥിതിയിൽ നിന്നാണ് വന്നതെങ്കിൽ, ഏത് മൈനർ പതിപ്പാണ് സമ്മതിച്ചതെന്ന് ചോദിക്കുക. സെർവറിന് ഉയർന്ന മൈനർ പതിപ്പ് നിരസിച്ച് പിന്നോട്ട് പോകാം, ആ പിന്നോട്ടുള്ള പോക്കാണ് കോൾബാക്ക് പെട്ടെന്ന് പ്രധാനമാകുന്ന സന്ദർഭം. നിങ്ങൾ എഴുതിയ മൗണ്ട് ലൈൻ നിങ്ങളുടെ പക്കലുള്ള മൗണ്ടിനെ വിവരിച്ചെന്ന് വരില്ല.
4.0-ന്, സെർവറിന് എത്താനാകുന്ന ഒരു വിലാസം പ്രഖ്യാപിക്കുക
NFSv4.0 സെർവറിന് ക്ലയന്റിലേക്ക് തിരികെ ഒരു പ്രത്യേക കണക്ഷൻ വേണ്ടിവന്നേക്കാം, ഉദാഹരണത്തിന് ഒരു ഡെലിഗേഷൻ തിരികെ വിളിക്കുമ്പോൾ. ഒന്നിലധികം ഇന്റർഫേസുകളോ അസാധാരണമായ റൂട്ടിംഗ് പട്ടികയോ ഉണ്ടെങ്കിൽ, കോൾബാക്ക് വിലാസത്തിന്റെ സ്വയമേവയുള്ള കണ്ടെത്തൽ സെർവറിന് ഉപയോഗിക്കാനാകാത്ത ഒന്ന് തിരഞ്ഞെടുത്തേക്കാം.
mount -t nfs -o vers=4.0,clientaddr=10.8.0.6 10.8.0.1:/export /mnt/share
കോളന് മുമ്പുള്ള വിലാസം സെർവറാണ്, അത് ലക്ഷ്യസ്ഥാനമായി തുടരുന്നു. കോൾബാക്ക് വിലാസം ക്ലയന്റിന്റേതാണ്, ടണലിന്റെ സെർവർ ഭാഗത്തുനിന്ന് അതിലേക്ക് എത്താനാകണം. ലൂപ്പ്ബാക്ക് വിലാസം സെർവറിനെ അതിലേക്കുതന്നെ തിരിച്ചയക്കുന്നു. തിരികെ വരാനുള്ള റൂട്ട് ഇല്ലാത്ത സ്വകാര്യ ക്ലയന്റ് വിലാസവും അത്രതന്നെ ഉപയോഗശൂന്യമാണ്, ക്ലയന്റിൽ അത് ശരിയായി കാണപ്പെട്ടാലും.
ഇത് ഒരു ഉദാഹരണമായി ഉപയോഗിക്കുക, പ്രവർത്തിക്കുന്ന മൗണ്ട് താഴ്ത്താനുള്ള കാരണമായല്ല. വിലാസങ്ങളും എക്സ്പോർട്ട് പാതയും മാറ്റുക, സെർവർ ആവശ്യപ്പെടുന്ന പ്രാമാണീകരണവും മറ്റ് ഓപ്ഷനുകളും നിലനിർത്തുക. ഒരു ഉദാഹരണം ഇണങ്ങാൻ അവ ഒഴിവാക്കുന്നത് വേറെ ഫലമുള്ള വേറെ മാറ്റമാണ്, സുരക്ഷാ തരം അടിച്ചേൽപ്പിക്കുന്ന സെർവറിൽ ഏതെങ്കിലും കോൾബാക്ക് ശ്രമിക്കുന്നതിന് മുമ്പുതന്നെ അത് പരാജയപ്പെടുന്നു.
4.1-ഉം 4.2-ഉം ഈ ഓപ്ഷൻ ഉപയോഗിക്കുന്നില്ല
Linux NFSv4.1-ഉം 4.2-ഉം ക്ലയന്റ് സ്ഥാപിച്ച കണക്ഷനുകളിലൂടെ കോൾബാക്കുകൾ കൊണ്ടുപോകുന്നു, 4.1 ആ സംവിധാനത്തെ backchannel എന്ന് വിളിക്കുന്നു. സെർവർ പ്രഖ്യാപിത വിലാസത്തിലേക്ക് പുതിയ കണക്ഷൻ തുറക്കുന്നതിനെ അവ ആശ്രയിക്കുന്നില്ല, അതിനാൽ clientaddr 4.1-ലെയോ 4.2-ലെയോ കോൾബാക്ക് പാത നന്നാക്കുന്നില്ല.
അതിനർത്ഥം 4.1-നും 4.2-നും കോൾബാക്ക് പ്രശ്നങ്ങളില്ല എന്നല്ല. അതിനർത്ഥം രോഗനിർണയം വ്യത്യസ്തമാണ് എന്നാണ്: ഒരിക്കലും ഉണ്ടാകാതിരിക്കേണ്ട ഒരു ഇൻബൗണ്ട് കോൾബാക്ക് പോർട്ട് തിരയുന്നതിനുപകരം സ്ഥാപിത സെഷനും അതിന്റെ backchannel അവസ്ഥയും പരിശോധിക്കുക. ഇല്ലാത്ത ഇൻബൗണ്ട് നിയമമാണ് പ്രതീക്ഷിത അവസ്ഥ, തിരുത്തേണ്ട തകരാറല്ല.
മൗണ്ട് പരാജയത്തെ കോൾബാക്ക് പരാജയത്തിൽ നിന്ന് വേർതിരിക്കുക
ആദ്യം ക്ലയന്റ് NFS സേവനത്തിൽ എത്തുന്നുണ്ടോ, സെർവർ എക്സ്പോർട്ടും പ്രാമാണീകരണ അഭ്യർത്ഥനയും സ്വീകരിക്കുന്നുണ്ടോ എന്ന് ഉറപ്പാക്കുക. ആ കൈമാറ്റത്തിന് മുമ്പുള്ള സമയപരിധി കോൾബാക്ക് വിലാസത്തെക്കുറിച്ച് ഒന്നും പറയുന്നില്ല. മൗണ്ട് ഇപ്പോഴും പരാജയപ്പെടുമ്പോൾ ഒന്ന് മാറ്റുന്നത് അന്വേഷണത്തെ അടുപ്പിക്കുന്നില്ല, യഥാർത്ഥ പിശക് പുതിയ മൗണ്ട് ഓപ്ഷന് പിന്നിൽ ഒളിപ്പിക്കുന്നു.
തെളിവുകൾ പരാജയപ്പെട്ട ഒരു 4.0 കോൾബാക്ക് കാണിക്കുമ്പോൾ മാത്രമാണ് പ്രഖ്യാപിത വിലാസം പ്രധാനമാകുന്നത്, സെർവറിന്റെ തിരികെവരവ് പാത, ക്ലയന്റ് ഭാഗത്തുള്ള ശ്രോതാവ്, അവയ്ക്കിടയിലുള്ള ഏതെങ്കിലും ഫിൽട്ടറിംഗ് എന്നിവയോടൊപ്പം. മൗണ്ട് ഓപ്ഷനിലെ സംഖ്യ മാറ്റി ആ പാതകൾ സൃഷ്ടിക്കാനാവില്ല; ഇതിന് ഇതിനകം ഉള്ള ഒന്നിലേക്ക് മാത്രമേ ചൂണ്ടാനാകൂ. ആ നാലിൽ ഏതാണ് നിങ്ങൾ പരിശോധിച്ചതെന്ന് എഴുതിവെക്കുക, അടുത്ത റിപ്പോർട്ട് അവയിലൊന്നും ഇല്ലാതെ വരും.
പ്രാരംഭ ബൂട്ടിലെ NFS റൂട്ട് സ്വന്തം മുൻവ്യവസ്ഥകളുള്ള ഒരു വേറിട്ട പരിസ്ഥിതിയാണ്: മൗണ്ട് സംഭവിക്കുന്നതിന് മുമ്പ് initramfs-ന് ഉപകരണങ്ങളും നെറ്റ്വർക്കും വേണം. ലോഗിൻ കഴിഞ്ഞ് പ്രവർത്തിക്കുന്ന ഒരു മൗണ്ട് ആ ക്രമത്തെക്കുറിച്ച് ഒന്നും തെളിയിക്കുന്നില്ല, ബൂട്ട് സമയത്തെ പരാജയം initramfs-നെയോ നെറ്റ്വർക്കിനെയോ അപൂർവ്വമായി മാത്രമേ പരാമർശിക്കുന്നുള്ളൂ.