macOS-ൽ ടെർമിനലിൽ നിന്ന് VPN സ്ഥിതി: scutil, റൂട്ടുകൾ അല്ലെങ്കിൽ പിംഗ്
സേവനത്തിന്റെ അവസ്ഥ, കേർണൽ റൂട്ട്, യഥാർത്ഥ അഭ്യർത്ഥന എന്നിവ വ്യത്യസ്തമായ മൂന്ന് ചോദ്യങ്ങൾക്ക് ഉത്തരം നൽകുന്നു. സേവന ഐഡന്റിഫയറിനെ അടിസ്ഥാനമാക്കി സ്ക്രിപ്റ്റ് എഴുതുക, റൂട്ടും പരിശോധിക്കുക.
ഏതെങ്കിലും ഡിപ്ലോയ് സ്ക്രിപ്റ്റിൽ പകർപ്പ് തുടങ്ങുന്നതിന് മുമ്പ് ടണൽ സജീവമാണോ എന്ന പരിശോധനയുണ്ട്. മൂന്ന് ഉത്തരങ്ങൾ ലഭ്യമാണ്, അവ ഒരേ കാര്യം അർത്ഥമാക്കുന്നില്ല: scutil റിപ്പോർട്ട് ചെയ്യുന്ന സേവന അവസ്ഥ, കേർണൽ തിരഞ്ഞെടുത്ത റൂട്ട്, എതിർവശം യഥാർത്ഥത്തിൽ മറുപടി നൽകുന്നുണ്ടോ എന്നതും. അവ താരതമ്യം ചെയ്യുന്നതാണ് പകർപ്പ് പ്രവചിക്കുന്ന പരിശോധനയും ലോഗ് അലങ്കരിക്കുന്ന പരിശോധനയും തമ്മിലുള്ള വ്യത്യാസം.
VPN സജീവമാണോ എന്ന ചോദ്യത്തിന് മൂന്ന് ഉത്തരങ്ങൾ
സേവന അവസ്ഥ നിയന്ത്രണ തലത്തിന്റെ വസ്തുതയാണ്. കോൺഫിഗറേഷൻ കണക്ട് ചെയ്തിരിക്കുന്നു എന്ന് macOS-ന് അറിയാം, കാരണം അതിന്റെ ക്ലയന്റ് പ്രോസസ് അങ്ങനെ പറഞ്ഞു. റൂട്ട് ഡാറ്റ തലത്തിന്റെ വസ്തുതയാണ്: കേർണൽ ഈ ലക്ഷ്യസ്ഥാനം ആ ഇന്റർഫേസിലൂടെ അയയ്ക്കും. ലഭ്യത ഒരറ്റം മുതൽ മറ്റേ അറ്റം വരെയുള്ള വസ്തുതയാണ്, ബാക്കി രണ്ടിൽ ഒന്നും കാണാത്ത കാരണങ്ങളാൽ അത് പരാജയപ്പെടാം.
| Signal | Answers | Blind spot |
|---|---|---|
scutil --nc status | Is the service connected? | Third-party clients, wrong routes |
route -n get | Where would this go? | The peer may be down |
| A request to the far side | Does it work now? | Slow, and it changes state |
ഉപയോഗപ്രദമായ ഒരു പരിശോധന ആദ്യ രണ്ടെണ്ണം കൂട്ടിച്ചേർക്കുന്നു, മൂന്നാമത്തേതിനെ ബാക്കി രണ്ടും കളവ് പറഞ്ഞിട്ടില്ലെന്ന സ്ഥിരീകരണമായി ഉപയോഗിക്കുന്നു. ഏതെങ്കിലും ഒന്ന് മാത്രം സമയമുദ്രയുള്ള ഒരു ഊഹമാണ്.
ഐഡന്റിഫയർ വായിക്കുക, പ്രദർശന നാമമല്ല
scutil --nc list
scutil --nc status "Office"
സേവനത്തിന് ഒരു വരി വീതം ലിസ്റ്റ് അച്ചടിക്കുന്നു, ഓരോ വരിയിലും ബ്രാക്കറ്റിൽ അവസ്ഥ, തുടർന്ന് സേവന ഐഡന്റിഫയർ, തരം, പ്രദർശന നാമം എന്നിവയുണ്ട്. ഐഡന്റിഫയറിനെ അടിസ്ഥാനമാക്കി സ്ക്രിപ്റ്റ് എഴുതുക, കാരണം പ്രദർശന നാമം ആരോ സിസ്റ്റം ക്രമീകരണങ്ങളിൽ ടൈപ്പ് ചെയ്തതാണ്, മുന്നറിയിപ്പില്ലാതെ മാറാം. സ്റ്റാറ്റസ് കമാൻഡ് ഒരു വാക്ക് അച്ചടിക്കുന്നു, ചില സേവന തരങ്ങൾക്ക് അതിന് ശേഷം സ്ഥിതിവിവരക്കണക്കുകളും; മുഴുവൻ ഔട്ട്പുട്ടിലും പേര് തിരയുന്നതിനുപകരം ആ ആദ്യ വാക്ക് ഒത്തുനോക്കുക, കാരണം പേര് മറ്റിടങ്ങളിലും വരുന്നു.
ഒരു സേവനം ആരംഭിക്കുന്നത് അംഗീകാര അഭ്യർത്ഥന ഉയർത്താം അല്ലെങ്കിൽ പ്രൊഫൈൽ നിർവഹിക്കപ്പെടുന്നതാണെങ്കിൽ നേരിട്ട് നിരസിക്കപ്പെടാം. ആ നിരസിക്കൽ ടണലിന്റെ തകരാറല്ല; ഇത് ആർക്ക് ഇത് ഉയർത്താം എന്നതിനെക്കുറിച്ചുള്ള നയ പ്രഖ്യാപനമാണ്.
മൂന്നാം കക്ഷി ക്ലയന്റ് ലിസ്റ്റിൽ നിന്ന് ഒളിക്കുന്നു
ലിസ്റ്റ് ശൂന്യമാണെന്ന് പറഞ്ഞാൽ VPN ഇല്ലെന്നല്ല. സിസ്റ്റത്തിന്റെ സ്വന്തം നെറ്റ്വർക്ക് ക്രമീകരണങ്ങളിൽ സൃഷ്ടിച്ച കോൺഫിഗറേഷനുകൾ ഇവിടെ കാണാം; വെണ്ടർ ക്ലയന്റ്, മാനേജ്മെന്റ് പ്രൊഫൈൽ അല്ലെങ്കിൽ മൂന്നാം കക്ഷി ആപ്പ് ഈ കമാൻഡ് ഒരിക്കലും കാണാത്ത സജീവ ടണൽ സൂക്ഷിക്കാം. സ്വന്തം സേവനത്തിന് അധികാരം സ്വന്തം ഉപകരണമാണ്. അതിൽ ഒരിക്കലും രജിസ്റ്റർ ചെയ്യാത്ത ക്ലയന്റിനെക്കുറിച്ച് scutil-നോട് ചോദിക്കുമ്പോൾ ഒന്നും തിരികെ വരുന്നില്ല, ഒന്നും വരാത്തത് വിച്ഛേദിക്കപ്പെട്ടതിന് തുല്യമായ ഉത്തരമല്ല.
ലിസ്റ്റ് ശൂന്യമാണെങ്കിലും ട്രാഫിക് വ്യക്തമായി എൻക്രിപ്റ്റ് ചെയ്തതാണെങ്കിൽ, ഇന്റർഫേസ് തിരയുക: പ്രതീക്ഷിത ശ്രേണിയിൽ വിലാസമുള്ള utun അല്ലെങ്കിൽ ppp ഉപകരണം എന്തോ ഒരു ടണൽ സ്ഥാപിച്ചതിന്റെ തെളിവാണ്. ഇത് സേവന അവസ്ഥയേക്കാൾ ദുർബലമായ സിഗ്നലാണ്, അതിനാൽ ഇന്റർഫേസിനെ ഐഡന്റിറ്റിയുടെ തെളിവായി കാണുന്നതിനുപകരം അത് റൂട്ട് പരിശോധനയുമായി ചേർക്കുക. പല ക്ലയന്റുകൾക്ക് പല അത്തരം ഇന്റർഫേസുകൾ സൃഷ്ടിക്കാം, അവയിൽ ഒന്ന് മാത്രമാണ് നിങ്ങൾ ഉദ്ദേശിച്ച ടണലിന്റേത്.
അവസ്ഥ റൂട്ടിംഗ് അല്ല
കണക്ട് ചെയ്ത സേവനം ടണൽ നിലവിലുണ്ടെന്ന് പറയുന്നു. നിങ്ങളുടെ ലക്ഷ്യസ്ഥാനം അത് ഉപയോഗിക്കുന്നുവെന്ന് പറയുന്നില്ല. വിലാസങ്ങൾ വായിക്കുക, എന്നിട്ട് കേർണലിനോട് നേരിട്ട് ചോദിക്കുക:
ifconfig | grep -A4 utun
netstat -rn -f inet
route -n get 10.40.0.20
പൂർണ്ണ ടണൽ ക്ലയന്റ് ടണലിലൂടെ ഡിഫോൾട്ട് റൂട്ട് ഇൻസ്റ്റാൾ ചെയ്യുന്നു; വിഭജിത ടണൽ ക്ലയന്റ് നിർദ്ദിഷ്ട സ്വകാര്യ പ്രിഫിക്സുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നു. രണ്ടും Connected എന്ന് റിപ്പോർട്ട് ചെയ്യുന്നു, അവസ്ഥ മാത്രം പരിശോധിക്കുന്ന സ്ക്രിപ്റ്റ് സന്തോഷത്തോടെ തെറ്റായ വഴിയിലൂടെ പോകും. ടണൽ നിർത്തുന്നത് മറ്റൊരു ക്ലയന്റ് ഇൻസ്റ്റാൾ ചെയ്ത റൂട്ടുകൾ നിർബന്ധമായും നീക്കുന്നില്ല, ഒരേ സമയം കണക്ട് ചെയ്ത സേവനവും പഴയ റൂട്ടും ഒരു യന്ത്രത്തിന് ലഭിക്കാനുള്ള ഒരു വഴിയാണത്. നിങ്ങൾക്ക് പ്രധാനമായ ലക്ഷ്യസ്ഥാനം നോക്കുക, മുഴുവൻ റൂട്ട് പട്ടികയല്ല.
പേരിടൽ വേറിട്ട പ്രശ്നമാണ്
മറ്റ് യന്ത്രങ്ങൾക്ക് പേരിലൂടെ Mac-ൽ എത്താൻ കഴിയില്ല, അതിന്റെ വിലാസം പ്രവർത്തിക്കുമ്പോൾ, അത് VPN തകരാറായി റിപ്പോർട്ട് ചെയ്യപ്പെടുന്നു. ലോക്കൽ ഹോസ്റ്റ് നാമം, ഹോസ്റ്റ് നാമം, DNS റെക്കോർഡ് എന്നിവ മൂന്ന് വ്യത്യസ്ത കാര്യങ്ങളാണ്. scutil --get LocalHostName Bonjour നാമം കാണിക്കുന്നു; sudo scutil --set HostName mac-office സിസ്റ്റം റിപ്പോർട്ട് ചെയ്യുന്ന നാമം സജ്ജമാക്കുന്നു.
ഈ ക്രമീകരണങ്ങളിൽ ഒന്നും ഓഫീസ് സോണിൽ റെക്കോർഡ് സൃഷ്ടിക്കുന്നില്ല. മറ്റ് ഹോസ്റ്റുകൾക്ക് DNS വഴി പേര് പരിഹരിക്കേണ്ടതുണ്ടെങ്കിൽ, സോൺ ഉടമ അത് ചേർക്കണം, അല്ലെങ്കിൽ സ്ക്രിപ്റ്റ് പകരം വിലാസം ഉപയോഗിക്കണം. സ്ഥിരമായ പേര് സജ്ജമാക്കുന്നത് പ്രഖ്യാപനങ്ങൾ സ്ഥിരതയുള്ളതാക്കുന്നു; അത് റിസോൾവറിനെ ഉത്തരം നൽകാൻ പ്രേരിപ്പിക്കുന്നില്ല.
സ്ക്രിപ്റ്റിൽ സേവന ഐഡന്റിഫയറും പ്രതീക്ഷിത റൂട്ട് രൂപവും ഒരുമിച്ച് രേഖപ്പെടുത്തുക, പകർപ്പിന് മുമ്പ് രണ്ടും പരിശോധിക്കുക. സജീവമായിരുന്നിട്ടും തെറ്റായ ദിശയിലേക്ക് റൂട്ട് ചെയ്ത ടണൽ ടണൽ ഇല്ലാത്തതുപോലെ തന്നെ പരാജയപ്പെടും, Connected എന്ന് പറയുന്ന ലോഗ് വരി അടുത്ത ആളെ തെറ്റായ സ്ഥലത്ത് തിരയാൻ അയയ്ക്കും.