നിലവിലുള്ള GCE VPN ഗേറ്റ്വേയിൽ IP ഫോർവേഡിംഗ് പ്രവർത്തനക്ഷമമാക്കുക
canIpForward ഒരു അപ്ഡേറ്റ് ചെയ്യാവുന്ന സവിശേഷതയാണ്, VM വീണ്ടും നിർമ്മിക്കാനുള്ള കാരണമല്ല. റിസോഴ്സ് എക്സ്പോർട്ട് ചെയ്യുക, ഒരു വരി മാറ്റുക, സാധൂകരിക്കുക, എന്നിട്ട് refresh-നൊപ്പം പ്രയോഗിക്കുക.
VM IP ഫോർവേഡിംഗ് ഇല്ലാതെയാണ് സൃഷ്ടിച്ചത്, അത് ഇതിനകം VPN സോഫ്റ്റ്വെയർ പ്രവർത്തിപ്പിക്കുന്നു, ഫ്ലാഗ് സജീവമാക്കി ടെംപ്ലേറ്റിൽ നിന്ന് അത് വീണ്ടും നിർമ്മിക്കാനാണ് സ്വാഭാവിക പ്രവണത. ആ പുനർനിർമ്മാണം ആവശ്യമില്ല. Compute Engine canIpForward-നെ അപ്ഡേറ്റ് ചെയ്യാവുന്ന സവിശേഷതയായി നൽകുന്നു, കൂടാതെ രേഖപ്പെടുത്തിയ അപ്ഡേറ്റ് പാത അത് പുനരാരംഭിക്കുന്നതിനു പകരം refresh-നൊപ്പം പ്രയോഗിക്കുന്നു. ഫ്ലാഗ് യഥാർത്ഥത്തിൽ നിയന്ത്രിക്കുന്നത് ഇടുങ്ങിയതാണ്: അതില്ലാതെ, ഇൻസ്റ്റൻസിൽ എത്തുന്നെങ്കിലും ഇൻസ്റ്റൻസിന്റെ സ്വന്തം വിലാസത്തിലേക്ക് അഭിസംബോധന ചെയ്യാത്ത പാക്കറ്റുകൾ പ്ലാറ്റ്ഫോം ഉപേക്ഷിക്കുന്നു. മറ്റ് യന്ത്രങ്ങളുടെ ട്രാഫിക് ഫോർവേഡ് ചെയ്യുന്ന ഗേറ്റ്വേ കൃത്യമായി അതാണ് ചെയ്യുന്നത്, അതിനാൽ ഫ്ലാഗ് ഓണായിരിക്കണം. അതിനുശേഷമുള്ളതെല്ലാം അതിഥി കോൺഫിഗറേഷനും റൂട്ടിംഗുമാണ്, അവയെ ഫ്ലാഗ് സ്പർശിക്കുന്നില്ല.
ഫ്ലാഗ് എന്ത് അനുവദിക്കുന്നു, എന്ത് അനുവദിക്കുന്നില്ല
ഫോർവേഡിംഗ് പ്രവർത്തനരഹിതമാക്കിയാൽ പ്ലാറ്റ്ഫോം ഇൻസ്റ്റൻസിനെ ഒരു അന്തിമ ബിന്ദുവായി കണക്കാക്കുന്നു. ലക്ഷ്യം ഇൻസ്റ്റൻസിന്റെ സ്വന്തം വിലാസമായ പാക്കറ്റുകൾ എത്തിക്കുന്നു; ഇൻസ്റ്റൻസ് മറ്റൊരാൾക്കുവേണ്ടി കൈമാറേണ്ട പാക്കറ്റുകൾ എത്തിക്കുന്നില്ല.
ഫോർവേഡിംഗ് സജീവമാക്കിയാൽ ഒരു VPC റൂട്ടിനുള്ള അടുത്ത ഹോപ്പായി ഇൻസ്റ്റൻസിന് പ്രവർത്തിക്കാം, അതാണ് VPN ഉപകരണത്തിന് ആവശ്യമായ പങ്ക്. ഫയർവാളുകൾ, അതിഥി റൂട്ടിംഗ്, ടണൽ കോൺഫിഗറേഷൻ അല്ലെങ്കിൽ മടങ്ങിവരവ് പാതകൾ എന്നിവയെക്കുറിച്ച് ഫ്ലാഗ് ഒന്നും പറയുന്നില്ല, കൂടാതെ തകർന്ന ഗേറ്റ്വേയിലെ true മൂല്യം ഇപ്പോഴും തകർന്ന ഗേറ്റ്വേയാണ്.
നിലവിലെ സവിശേഷത വായിക്കുക
എന്തെങ്കിലും മാറ്റുന്നതിന് മുമ്പ് ക്രമീകരണം പരിശോധിക്കുക, ഉദ്ദേശിച്ച ഇൻസ്റ്റൻസ്, പ്രോജക്റ്റ്, സോൺ എന്നിവയ്ക്കെതിരെ വായനയ്ക്ക്-മാത്രമുള്ള describe ഉപയോഗിച്ച്:
gcloud compute instances describe VM_NAME --project PROJECT_ID --zone ZONE --format='value(canIpForward)'
ഈ VM അടുത്ത ഹോപ്പ് ആകേണ്ടതാണെങ്കിൽ മാത്രമേ false മൂല്യത്തിന് പ്രസക്തിയുള്ളൂ. അങ്ങനെയാണെങ്കിൽ, പാതയുടെ ബാക്കി ഭാഗം ഇപ്പോഴും വെവ്വേറെ പരിശോധിക്കണം, കാരണം സവിശേഷത നീളമുള്ള ശൃംഖലയിലെ ഒരു വരി മാത്രമാണ്.
നിലവിലുള്ള ഇൻസ്റ്റൻസ് അപ്ഡേറ്റ് ചെയ്യുക
Google-ന്റെ ഇൻസ്റ്റൻസ്-സവിശേഷത അപ്ഡേറ്റ് നടപടിക്രമം നിലവിലെ റിസോഴ്സ് എക്സ്പോർട്ട് ചെയ്യുന്നു, സവിശേഷത മാറ്റുന്നു, ഫലം സമർപ്പിക്കുന്നു. ഇത് സൃഷ്ടിക്കൽ സമയത്തെ --can-ip-forward ഫ്ലാഗിൽ നിന്ന് വ്യത്യസ്തമായ വർക്ക്ഫ്ലോ ആണ്, പ്രവർത്തിക്കുന്ന VM-ൽ പ്രവർത്തിക്കുന്നത് ഇതാണ്.
ആദ്യം നിർവചനം ഒരു പ്രാദേശിക ഫയലിലേക്ക് എക്സ്പോർട്ട് ചെയ്യുക, താരതമ്യത്തിനായി മാറ്റമില്ലാത്ത ഒരു പകർപ്പ് സൂക്ഷിക്കുക:
gcloud compute instances export VM_NAME --project PROJECT_ID --zone ZONE --destination=instance.yaml
ആ എക്സ്പോർട്ട് ചെയ്ത ഫയലിൽ സവിശേഷത സജ്ജീകരിക്കുക, മറ്റൊന്നും മാറ്റരുത്:
canIpForward: true
മുഴുവൻ റിസോഴ്സും അതിന്റെ വിരലടയാളം ഉൾപ്പെടെ നിലനിർത്തുക. ഫയൽ ഒരു വരി YAML രേഖ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നതോ, ബന്ധമില്ലാത്ത മെഷീൻ തരം, ഡിസ്ക് അല്ലെങ്കിൽ ഇന്റർഫേസ് എഡിറ്റുകൾ ഒരേ സമർപ്പണത്തിൽ ചേർക്കുന്നതോ ആണ് സവിശേഷതാ മാറ്റം ഒരു തടസ്സമാകുന്ന വഴി.
ഏതെങ്കിലും ഫലപ്രദമായ മാറ്റം അനുവദിക്കുന്നതിന് മുമ്പ് അപ്ഡേറ്റ് സംവിധാനത്തോട് ഫയൽ സാധൂകരിക്കാനും എന്ത് ആവശ്യമാകുമെന്ന് റിപ്പോർട്ട് ചെയ്യാനും ആവശ്യപ്പെടുക:
gcloud compute instances update-from-file VM_NAME --project PROJECT_ID --zone ZONE --source=instance.yaml --most-disruptive-allowed-action=NO_EFFECT
ആ സാധൂകരണ പ്രവർത്തനം ഫോർവേഡിംഗ് സജീവമാക്കുന്നില്ല. അസാധുവായ സവിശേഷതകളെക്കുറിച്ചും ആവശ്യമെന്ന് പറയുന്ന പ്രവർത്തനത്തെക്കുറിച്ചും പ്രതികരണം വായിക്കുക. ഈ ഒറ്റപ്പെട്ട മാറ്റത്തിന് രേഖപ്പെടുത്തിയ പ്രവർത്തനം REFRESH ആണ്. ഫലം പുനരാരംഭം ആവശ്യപ്പെടുന്നുവെങ്കിൽ, മാറ്റാൻ ഉദ്ദേശിച്ച സവിശേഷതയേക്കാൾ കൂടുതൽ ഫയലിൽ അടങ്ങിയിരിക്കുന്നു, അതിനാൽ പുനരാരംഭം അനുവദിക്കുന്നതിനു പകരം അത് പരിശോധിക്കുക.
അവലോകനം ചെയ്ത ഫയൽ refresh പരിധിയോടെ പ്രയോഗിക്കുക:
gcloud compute instances update-from-file VM_NAME --project PROJECT_ID --zone ZONE --source=instance.yaml --most-disruptive-allowed-action=REFRESH
പ്രവർത്തനം പൂർത്തിയായോ എന്ന് പരിശോധിച്ച് describe കമാൻഡ് വീണ്ടും പ്രവർത്തിപ്പിക്കുക. വിരലടയാളം ഇനി പൊരുത്തപ്പെടുന്നില്ലെങ്കിൽ, നിങ്ങൾ എഡിറ്റ് ചെയ്യുമ്പോൾ മറ്റാരോ ഇൻസ്റ്റൻസ് മാറ്റിയിട്ടുണ്ട്, അതിനാൽ നിങ്ങളുടെ പഴയ ഫയൽ നിർബന്ധിച്ച് കടത്തിവിടുന്നതിനു പകരം പുതിയ പകർപ്പ് എക്സ്പോർട്ട് ചെയ്ത് മാറ്റം വീണ്ടും അവലോകനം ചെയ്യുക.
അതിഥി ഇപ്പോഴും പാക്കറ്റ് റൂട്ട് ചെയ്യണം
ക്ലൗഡ് അനുമതി ഉപകരണത്തെ ഒരു റൗട്ടർ ആക്കുന്നില്ല. ഒരു VPC റൂട്ട് ലക്ഷ്യ പ്രീഫിക്സിനായി ഈ VM-നെ അടുത്ത ഹോപ്പായി തിരഞ്ഞെടുക്കുന്നുവെന്നും, അതിഥി സ്വന്തം ഫോർവേഡിംഗ് നയം സജീവമാക്കി ടണലിനും ശരിയായ ഇന്റർഫേസിനും ഇടയിൽ റൂട്ട് ചെയ്യുന്നുവെന്നും ഉറപ്പാക്കുക.
ഫയർവാൾ നയം ആന്തരിക പ്രവാഹവും ബാഹ്യ ശ്രോതാവും അനുവദിക്കണം. VPN പോർട്ട് മാത്രം തുറക്കുന്നത് എൻക്രിപ്റ്റ് ചെയ്ത ഗതാഗതം വിവരിക്കുന്നു, അതിനുള്ളിലെ ആപ്ലിക്കേഷൻ കൈമാറ്റത്തെക്കുറിച്ച് ഒന്നും പറയുന്നില്ല.
അവസാനം, ലക്ഷ്യത്തിന് ക്ലയന്റ് പൂളിലേക്ക് ഒരു മടങ്ങിവരവ് പാത ആവശ്യമാണ്, അല്ലെങ്കിൽ ഡിസൈൻ ഉറവിടങ്ങൾ ബോധപൂർവം വിവർത്തനം ചെയ്യണം. ലക്ഷ്യം വിവർത്തനം ചെയ്ത ട്രാഫിക് കാണുന്നുവെങ്കിൽ, വിവർത്തനം ചെയ്ത ഉറവിടം പരിശോധിക്കുക; ഡിസൈൻ പൂൾ നിലനിർത്തുന്നുവെങ്കിൽ, മടങ്ങിവരവ് റൂട്ടിലും ആക്സസ് നിയമങ്ങളിലും ആ പൂൾ പരിശോധിക്കുക. ഏത് ഡിസൈൻ വേണമെന്ന് തീരുമാനിക്കുന്നതിന് മുമ്പ് NAT ചേർക്കുന്നത് കാണാത്ത ഒരു റൂട്ട് മറയ്ക്കുകയും ലക്ഷ്യം കാണുന്ന നയം മാറ്റുകയും ചെയ്യുന്നു.
Linux ഗേറ്റ്വേയിൽ, കെർണൽ ഫോർവേഡിംഗ് അതിഥി കോൺഫിഗറേഷന്റെ ഭാഗമാണ്. pfSense ഉപകരണത്തിന് അതിന്റേതായ തുല്യതയുണ്ട്, അതിൽ Linux sysctl കമാൻഡ് പകർത്തുന്നത് യോജിക്കുന്ന ഘട്ടമല്ല.
ആക്സസ് ആവശ്യമുള്ള ക്ലയന്റിൽ നിന്ന് സ്ഥിരീകരിക്കുക
ഗേറ്റ്വേയിൽ നിന്നല്ല, ഒരു VPN ക്ലയന്റിൽ നിന്ന് ഒരു ലക്ഷ്യ സേവനത്തിലേക്ക് പരിശോധിക്കുക. ഗേറ്റ്വേയിൽ ആരംഭിച്ച കണക്ഷൻ വ്യത്യസ്ത ഉറവിടം ഉപയോഗിക്കുന്നു, നിങ്ങൾ ഇപ്പോൾ സജീവമാക്കിയ ഫോർവേഡിംഗ് നിയമങ്ങളിലൂടെ ഒരിക്കലും കടന്നുപോകുന്നില്ല.
ഉപകരണം കൈകാര്യം ചെയ്യുന്ന എന്തിലും സവിശേഷത രേഖപ്പെടുത്തുക. കൈകൊണ്ട് തിരുത്തിയ VM, അതിന്റെ അടുത്ത മാറ്റിസ്ഥാപനം യഥാർത്ഥ ക്രമീകരണം നിശ്ശബ്ദമായി തിരികെ കൊണ്ടുവരുന്നതുവരെ പ്രവർത്തിക്കും, ആ പരാജയം VPN സോഫ്റ്റ്വെയറിലെ ഒരു റിഗ്രഷൻ പോലെ തോന്നും.
ജോലിയുടെ ക്രമം: സവിശേഷത വായിക്കുക, ഒരു വരി എക്സ്പോർട്ട് ചെയ്ത് എഡിറ്റ് ചെയ്യുക, NO_EFFECT ഉപയോഗിച്ച് സാധൂകരിക്കുക, REFRESH ഉപയോഗിച്ച് പ്രയോഗിക്കുക, അതിഥി ഫോർവേഡ് ചെയ്യുന്നുവെന്ന് ഉറപ്പാക്കുക, തുടർന്ന് ക്ലൈന്റിൽ നിന്ന് പരിശോധിക്കുക.