ഹോം VPN സെർവർ vs ക്ലൗഡ് സെർവർ: ഏതാണ് നിങ്ങളുടെ NAS-ലേക്ക് എത്തുന്നത്?
ടണൽ ഉയരുന്നു, പക്ഷേ വീട്ടിലെ NAS എത്താനാകാത്തതായി തുടരുന്നു. നിങ്ങൾ തൊടേണ്ട വിഭവത്തിന്റെ അടിസ്ഥാനത്തിൽ endpoint സ്ഥാനം തിരഞ്ഞെടുത്ത്, പിന്നീട് റൂട്ട് പരിശോധിക്കുക.
ടണൽ ഉയരുന്നു, ക്ലൈന്റ് പച്ച കുത്ത് കാണിക്കുന്നു, എന്നിട്ടും ssh 192.168.1.20 ടൈമൗട്ട് ആകുന്നതുവരെ തൂങ്ങിക്കിടക്കുന്നു. ചെറിയ ഒരു ക്ലൗഡ് ഇൻസ്റ്റൻസ് വാടകയ്ക്കെടുത്ത് അതിൽ WireGuard ഇട്ടതിനു ശേഷം എനിക്ക് കൃത്യമായി ഇതുതന്നെ സംഭവിച്ചു: ഹാൻഡ്ഷേക്ക് കുഴപ്പമില്ല, DNS കുഴപ്പമില്ല, എന്റെ മേശപ്പുറത്തെ NAS ചന്ദ്രനിൽ ആണെന്നതുപോലെ എത്താനാകാത്തത്. ടണലിൽ ഒരു കുഴപ്പവുമില്ലായിരുന്നു. Endpoint എന്റെ വീട്ടിലേക്ക് റൂട്ട് ഇല്ലാത്ത നെറ്റ്വർക്കിലായിരുന്നു. Endpoint സ്ഥാനം ഏത് നെറ്റ്വർക്കുകളാണ് അയൽവാസികൾ എന്ന് തീരുമാനിക്കുന്നു, അതിനാൽ ആദ്യം തൊടേണ്ട വിഭവത്തിന്റെ അടിസ്ഥാനത്തിൽ അത് തിരഞ്ഞെടുക്കുക, ഹോസ്റ്റിംഗ് രണ്ടാമതായി താരതമ്യം ചെയ്യുക.
endpoint റൂട്ട് ചെയ്യാൻ കഴിയുന്ന നെറ്റ്വർക്കുകളിലേക്ക് മാത്രമേ ടണൽ എത്തുന്നുള്ളൂ
VPN നിങ്ങളുടെ ക്ലൈന്റിന് endpoint-ന്റെ സ്വന്തം റൂട്ടിംഗ് ഡൊമെയ്നിനുള്ളിൽ ഒരു വിലാസം നൽകുന്നു. ക്ലൈന്റ് 192.168.1.20-ലേക്ക് പാക്കറ്റ് അയക്കുമ്പോൾ, അത് എങ്ങോട്ട് പോകുന്നു എന്ന് endpoint അറിയണം. ക്ലൗഡ് VM-ന്റെ പട്ടികയ്ക്ക് ദാതാവിന്റെ VPC സബ്നെറ്റുകൾ അറിയാം; നിങ്ങളുടെ LAN നെക്കുറിച്ച് അത് ഒരിക്കലും കേട്ടിട്ടില്ല. കണക്ട് ചെയ്തിരിക്കുന്നതും എത്താനാകുന്നതും രണ്ട് വ്യത്യസ്ത വസ്തുതകളാണ്, വീടും ക്ലൗഡും തമ്മിലുള്ള ആശയക്കുഴപ്പത്തിന്റെ ഭൂരിഭാഗവും ആദ്യത്തേതിനെ രണ്ടാമത്തേതിന്റെ തെളിവായി കാണുന്നതിൽ നിന്നാണ്.
ഒരു കമാൻഡ് അത് തീരുമാനിക്കുന്നു. endpoint-ൽ ip route get 192.168.1.20 ഒന്നുകിൽ LAN ഇന്റർഫേസ് പേരിടുന്നു, അല്ലെങ്കിൽ ഡിഫോൾട്ട് റൂട്ടിലേക്ക് ചൂണ്ടുന്നു. വീട്ടിലെ യന്ത്രത്തിൽ ഉത്തരം LAN വശമാണ്. ക്ലൗഡ് ഇൻസ്റ്റൻസിൽ പാക്കറ്റ് ഇന്റർനെറ്റിലേക്ക് പോയി മരിക്കുന്നു. net.ipv4.ip_forward=1 ഓൺ ചെയ്യുന്നതും MASQUERADE നിയമം ചേർക്കുന്നതും അത് മാറ്റുന്നില്ല, കാരണം വീട്ടുവശത്ത് എന്തെങ്കിലും ക്ലൗഡിലേക്ക് ലിങ്ക് അവസാനിപ്പിക്കുന്നതുവരെ മുന്നോട്ട് അയക്കാൻ ഒന്നുമില്ല.
വീട്ടിലെ കേസിന് രണ്ടാം പകുതിയുണ്ട്: മടക്കയാത്ര. ടണൽ ബോക്സിലൂടെ LAN വിടുന്ന പാക്കറ്റുകൾക്ക് NAT സംഭവിക്കുന്നു, അല്ലെങ്കിൽ LAN-ന് ടണൽ സബ്നെറ്റിലേക്ക് സ്റ്റാറ്റിക് റൂട്ട് വേണം. ഒരു ദിശ മാത്രം പ്രവർത്തിക്കുമ്പോൾ, പരിശോധിക്കുക sysctl net.ipv4.conf.all.rp_filter. കർശനമായ റിവേഴ്സ്-പാത്ത് ഫിൽട്ടറിംഗ്, റൂട്ട് പ്രതീക്ഷിക്കുന്നതിൽ നിന്ന് വ്യത്യസ്ത ഇന്റർഫേസിൽ വരുന്ന മറുപടികൾ വലിച്ചെറിയുന്നു, ലക്ഷണം ഫയർവാൾ നിയമം പോലെ തന്നെ തോന്നും.
കോൺഫിഗ് തൊടുന്നതിന് മുൻപ് ലക്ഷണം വായിക്കുക
ടണൽ ഉണ്ടാകുന്നില്ല: കീകൾ, endpoint വിലാസം അല്ലെങ്കിൽ തടഞ്ഞ UDP പോർട്ട്. ടണൽ മുകളിൽ, പക്ഷേ LAN ഹോസ്റ്റുകൾ മരിച്ചു: സ്ഥാനവും റൂട്ടിംഗും. ടണൽ മുകളിൽ, പക്ഷേ ബ്രൗസിംഗ് മരിച്ചു: ഫോർവേഡിംഗ്, NAT അല്ലെങ്കിൽ DNS. അവ മൂന്ന് പാളികളും മൂന്ന് വ്യത്യസ്ത പരിശോധനകളുമാണ്, ഇതിനകം ശരിയായ കോൺഫിഗ് വീണ്ടും എഴുതുന്നത് ഒരു വൈകുന്നേരം പാഴാക്കുന്നു.
| Symptom | First suspect | Check |
|---|---|---|
| Handshake fails, no transfer | Keys, endpoint port, UDP blocked | wg show, then the port from outside |
| Peer pings, LAN host times out | No route to the LAN | ip route get on the endpoint |
| Tunnel up, name resolution fails | DNS options in the peer config | Resolve a name from the client |
| Large transfers reset the connection | MTU | Lower the tunnel MTU and retry |
വീട്ടിൽ നിന്നുള്ള ഇൻബൗണ്ട് എത്താനാകുന്നത് പ്രത്യേക പരിശോധന അർഹിക്കുന്നു, കാരണം വീട്ടിൽ ഹോസ്റ്റിംഗ് ഒട്ടും സാധ്യമാണോ എന്ന് അത് തീരുമാനിക്കുന്നു. നിങ്ങളുടെ റൂട്ടർ റിപ്പോർട്ട് ചെയ്യുന്ന WAN വിലാസം പുറത്തുള്ള ഹോസ്റ്റ് കാണുന്ന വിലാസവുമായി താരതമ്യം ചെയ്യുക. അത് 100.64.0.0/10-ൽ വീഴുകയോ രണ്ടും ഒത്തുപോകാതിരിക്കുകയോ ചെയ്താൽ, നിങ്ങൾ carrier-grade NAT-ന് പിന്നിലാണ്, ഒരു പോർട്ട് ഫോർവേഡിംഗും ഒരിക്കലും പ്രവർത്തിക്കില്ല. യഥാർത്ഥ ഓപ്ഷനുകൾ റിലേ, വീട്ടിൽ നിന്ന് പുറത്തേക്ക് വിളിക്കുന്ന ക്ലൗഡ് ലിങ്ക്, അല്ലെങ്കിൽ endpoint മാറ്റുന്നത്.
വീട്ടിലെ ഹോസ്റ്റിംഗ് എന്ത് നൽകുന്നു, എന്ത് വിലയാണ്
സ്വതവേ LAN-നുള്ളിൽ ഉള്ള ഏക സ്ഥാനം വീടാണ്, അവിടെ സെർവർ വെക്കാനുള്ള മുഴുവൻ കാരണവും അതാണ്. പ്രിന്ററുകളും ലോക്കലല്ലാത്ത സബ്നെറ്റുകൾ നിരസിക്കുന്ന NAS അഡ്മിൻ പേജുകളും പോലെ ലോക്കൽ സെഗ്മെന്റിൽ മാത്രം ഉത്തരം നൽകുന്ന ഉപകരണങ്ങൾ അധിക റൂട്ടിംഗ് ഇല്ലാതെ പ്രവർത്തിക്കുന്നു. യന്ത്രവും റൂട്ടറും അപ്ലിങ്കും നിങ്ങൾ തന്നെ പ്രവർത്തിപ്പിക്കുന്നു.
ചെലവുകൾ ഭൗതികമാണ്. വീട്ടിലെ അപ്ലോഡ് ഒരേസമയം എല്ലാ ക്ലൈന്റുകൾക്കുമുള്ള പരിധിയാണ്, അതിനാൽ വീഡിയോ കോളും ബാക്കപ്പും ഒരേ പൈപ്പിനായി മത്സരിക്കുന്നു. വൈദ്യുതി, ഡിസ്ക് തേയ്മാനം, പാച്ചുകൾ, DDNS ആവശ്യമുള്ള ഡൈനാമിക് വിലാസം, ഉള്ളിലേക്ക് UDP ഫോർവേഡ് ചെയ്യേണ്ട റൂട്ടർ, ഒരുപക്ഷേ ഇരട്ട NAT — എല്ലാം നിങ്ങളിൽ വീഴുന്നു. ആളുകൾ ഒഴിവാക്കുന്നത് റിക്കവറി ആണ്: നിങ്ങൾ പുറത്തായിരിക്കുമ്പോൾ ബോക്സ് മരിച്ചാൽ, വീട്ടിലേക്കുള്ള നിങ്ങളുടെ ഏക വഴിയും അതിനൊപ്പം മരിക്കുന്നു. അതേ കീകളുള്ള രണ്ടാമത്തെ ഉപകരണം, അല്ലെങ്കിൽ കുറഞ്ഞത് ഭൗതിക പ്രവേശനത്തിനുള്ള പ്ലാൻ എങ്കിലും സൂക്ഷിക്കുക.
വീട്ടിൽ ബോക്സ് ഇല്ലാതെ LAN പ്രവേശനം വേണമെങ്കിൽ, നടിക്കുന്നതിനു പകരം ലിങ്ക് നിർമ്മിക്കുക. ക്ലൗഡ് endpoint ഒരു റൂട്ടർ ആകുന്നു: വീട്ടുവശത്തുനിന്ന് AllowedIPs = 192.168.1.0/24 ഉള്ള ടണൽ ക്ലൗഡ് peer-ൽ, കൂടെ ക്ലൗഡ് ബോക്സിൽ ഫോർവേഡിംഗും NAT-ഉം. strongSwan-ന്റെ ഫോർവേഡിംഗ് ഗൈഡ് ആ ക്രമീകരണത്തിന്റെ മടക്കപ്പകുതി വിശദീകരിക്കുന്നു, അവിടെയാണ് ഈ ശ്രമങ്ങളിൽ ഭൂരിഭാഗവും പരാജയപ്പെടുന്നത്. വീട്ടിലെ peer ഇപ്പോൾ എന്തെങ്കിലും പ്രവർത്തിക്കാൻ ഉയർന്നിരിക്കണം, അതായത് ഒരു ആശ്രിതത്വം മറ്റൊന്നുമായി മാറ്റി, അത് എഴുതിവെക്കണം.
ക്ലൗഡ് endpoint യഥാർത്ഥത്തിൽ എന്തിനാണ്
ക്ലൗഡ് endpoint നിങ്ങളുടെ പൊതു എക്സിറ്റ് മാറ്റുന്നു. ട്രാഫിക് ദാതാവിന്റെ വിലാസ ശ്രേണിയിൽ നിന്ന് പുറത്തുപോകുന്നു, സൈറ്റുകൾ വീട്ടിലെ വിലാസത്തിനു പകരം ആ വിലാസം കാണുന്നു. അതാണ് മൂല്യം, അതുകൊണ്ടാണ് ക്ലൗഡ് VPN നിങ്ങൾക്ക് NAS നൽകാത്തത്: നിങ്ങൾ എക്സിറ്റ് മാറ്റി, LAN അല്ല.
അതിഥി സിസ്റ്റവും VPN സേവനവും അതിന്റെ ക്രെഡൻഷ്യലുകളും നിങ്ങൾ ഇപ്പോഴും പ്രവർത്തിപ്പിക്കുന്നു, ദാതാവ് ഹൈപ്പർവൈസറും ഭൗതിക നെറ്റ്വർക്കും പ്രവർത്തിപ്പിക്കുന്നു, രാത്രി 2 മണിക്ക് എന്തെങ്കിലും കേടാകുമ്പോൾ ഈ വിഭജനം പ്രധാനമാണ്. പൊതു endpoint തുടർച്ചയായി സ്കാൻ ചെയ്യപ്പെടുന്നു, അതിനാൽ മാനേജ്മെന്റ് പോർട്ട് അടച്ചിടുക, VPN പോർട്ട് മാത്രം അനുവദിക്കുക, ഷെഡ്യൂൾ പ്രകാരം പാച്ച് ചെയ്യുക. സെക്യൂരിറ്റി ഗ്രൂപ്പുകളും ദാതാവിന്റെ ഫയർവാളുകളും ആ പോർട്ട് അനുവദിക്കണം, ചില ക്ലൗഡുകൾ ഇൻസ്റ്റൻസിൽ ഉറവിട-ലക്ഷ്യ പരിശോധന ക്രമീകരിച്ചില്ലെങ്കിൽ ഫോർവേഡ് ചെയ്ത ട്രാഫിക് വലിച്ചെറിയുന്നു.
ചെറിയ ഇൻസ്റ്റൻസ് കുറച്ച് ക്ലൈന്റുകളെ ഉൾക്കൊള്ളുന്നു, പക്ഷേ എൻക്രിപ്ഷൻ CPU ജോലിയാണ്, ക്രെഡിറ്റ് തീർന്ന burstable ഇൻസ്റ്റൻസ് തുടർച്ചയായ ലോഡിൽ അസമമായി പെരുമാറുന്നു. സ്പെക് ഷീറ്റല്ല, നിങ്ങൾ യഥാർത്ഥത്തിൽ ഉപയോഗിക്കുന്ന പാത നോക്കുക.
എഴുതിവെക്കാവുന്ന തീരുമാനം
സ്ഥാനം തീരുമാനിക്കുന്നത് ജോലിയാണ്, ബോക്സിലെ ലേബലല്ല. വീട്ടിലെ LAN-ൽ ഉപകരണം വേണമെങ്കിൽ, ഏറ്റവും വിലകുറഞ്ഞ ശരിയായ ഉത്തരം വീട്ടിലെ endpoint ആണ്; മടക്ക ലിങ്ക് നിർമ്മിച്ചതിനു ശേഷം മാത്രമേ ക്ലൗഡ് ബോക്സ് പ്രവർത്തിക്കൂ. വേറെ പൊതു എക്സിറ്റ് വേണമെങ്കിൽ ഉത്തരം ക്ലൗഡ് ആണ്, LAN ചോദ്യം ഉദിക്കുന്നേയില്ല. രണ്ടും ആഗ്രഹിക്കുന്നത് ന്യായമാണ്, പക്ഷേ അത് രണ്ട് endpoint, രണ്ട് കീ സെറ്റ്, രണ്ട് രേഖപ്പെടുത്തിയ റൂട്ട് എന്നിവ അർത്ഥമാക്കുന്നു.
| What you need | Endpoint location | What else must exist |
|---|---|---|
| Reach a NAS or printer on the home LAN | A box on that LAN | Port forward or relay, DDNS, recovery plan |
| Browse from an exit unrelated to home | Cloud instance | Firewall and egress rules, patching |
| Both, reliably | Two endpoints, or cloud plus a link home | Separate keys, routes, documented failure modes |
ക്ലൈന്റിൽ നിന്ന് ക്രമത്തിൽ പരിശോധിക്കുക: ഹാൻഡ്ഷേക്ക്, peer വിലാസം, LAN ഹോസ്റ്റ്, പിന്നെ എക്സിറ്റ് IP. curl -s https://ifconfig.me ഇന്റർനെറ്റ് കാണുന്നത് കാണിക്കുന്നു, ip route get 192.168.1.20 endpoint വിശ്വസിക്കുന്നത് കാണിക്കുന്നു. എക്സിറ്റ് പരിശോധന കടന്ന് NAS പരിശോധന തൂങ്ങിക്കിടക്കുമ്പോൾ, സ്ഥാനത്തെക്കുറിച്ചുള്ള ഉത്തരം നിങ്ങൾക്കുണ്ട്; ക്ലൈന്റിൽ AllowedIPs മാറ്റിയാൽ റൂട്ട് ഉണ്ടാകില്ല. 10.8.0.0/24, 192.168.1.0/24 പോലുള്ള വിഭജിത വരി ആ റൂട്ട് യഥാർത്ഥത്തിൽ ഉള്ളപ്പോൾ മാത്രം LAN ട്രാഫിക് ടണലിൽ നിർത്തുന്നു.