Raspberry Pi യിലെ VPN ഗേറ്റ്വേ: ഒരു നെറ്റ്വർക്ക് പോർട്ടോ പ്രത്യേക ക്ലയന്റ് പോർട്ടോ
ഒരു Pi പോർട്ടിന് തിരഞ്ഞെടുത്ത ക്ലയന്റുകളെ സേവിക്കാം, അല്ലെങ്കിൽ രണ്ടാമത്തെ പോർട്ടിന് ഉപകരണങ്ങളെ അകത്ത് അടയ്ക്കാം. വേർതിരിവ്, ഫോൾബാക്ക് നയം, DNS ആരുടേത് എന്നിവയുടെ അടിസ്ഥാനത്തിൽ ലേഔട്ട് തിരഞ്ഞെടുക്കുക.
നിങ്ങളുടെ കൈവശം ഒരു Pi, പ്രവർത്തിക്കുന്ന ഒരു പുറത്തേക്കുള്ള VPN പ്രൊഫൈൽ, അതിലൂടെ ഇന്റർനെറ്റിൽ എത്തേണ്ട രണ്ട് ഉപകരണങ്ങൾ എന്നിവയുണ്ട്. മുഴുവൻ നിർമ്മാണവും തീരുമാനിക്കുന്ന ചോദ്യം ഏത് ഗൈഡ് പിന്തുടരണം എന്നതല്ല, മറിച്ച് എത്ര വേർതിരിവ് വേണം എന്നതാണ്. ഒരു പോർട്ട് Pi യെ ആ ഉപകരണങ്ങൾക്കൊപ്പം റൗട്ടറിന്റെ LAN ൽ ഇരിക്കാനും അധിക ഗേറ്റ്വേ ആയി പ്രവർത്തിക്കാനും അനുവദിക്കുന്നു; രണ്ടാമത്തെ പോർട്ട് അവയെ Pi ഒരേയൊരു പുറത്തേക്കുള്ള വഴിയുള്ള സെഗ്മെന്റിൽ ഇടാൻ അനുവദിക്കുന്നു. ആ തിരഞ്ഞെടുപ്പിനു ശേഷമുള്ളതെല്ലാം — DHCP, ഫയർവാളിന്റെ പരിധി, DNS, വിച്ഛേദത്തിന്റെ സാഹചര്യം — അതിൽ നിന്നാണ് വരുന്നത്.
രണ്ട് ലേഔട്ടുകൾ യഥാർത്ഥത്തിൽ എങ്ങനെ വ്യത്യാസപ്പെടുന്നു
രണ്ട് രൂപകൽപ്പനകളും റൗട്ടിംഗ് ചെയ്യുന്നു. വ്യത്യാസം എന്നത് കേബിളിൽ മറ്റാരുണ്ട് എന്നതിലും നിങ്ങളുടെ നയം തെറ്റാകുമ്പോൾ എന്ത് സംഭവിക്കുന്നു എന്നതിലുമാണ്.
| Layout A: Pi on the ISP LAN | Layout B: dedicated client port | |
|---|---|---|
| Cabling | One Ethernet port, existing switch port | Two interfaces: uplink plus a separate LAN port |
| Can a client bypass the Pi? | Yes, by using the ISP router as its gateway | No, unless the device has another radio or link |
| Who hands out addresses | The ISP router, with a per-client setting or a DHCP option | The Pi, on its own LAN interface only |
| Blast radius of a mistake | Any LAN host, if a rule is too broad | The attached segment |
| Good fit for | One laptop, a console, a temporary test client | Appliances, always-on boxes, untrusted devices |
യഥാർത്ഥ അച്ചുതണ്ട് വേർതിരിവാണ്. ലേഔട്ട് A ഉപദേശപരമാണ്: DHCP നൽകിയ ഗേറ്റ്വേ അവഗണിച്ച് റൗട്ടർ തിരഞ്ഞെടുക്കുന്ന ഉപകരണം എൻക്രിപ്ഷൻ ഇല്ലാതെയും പ്രവർത്തിക്കുന്നു. ലേഔട്ട് B ടോപ്പോളജി കൊണ്ട് നിർബന്ധമാക്കുന്നു, കാരണം തിരഞ്ഞെടുക്കാൻ മറ്റൊരു അടുത്ത ചുവടില്ല.
ലേഔട്ട് A: നിലവിലുള്ള LAN ൽ അധിക ഗേറ്റ്വേ ആയി Pi
ISP റൗട്ടർ 192.168.50.1, Pi 192.168.50.2, തിരഞ്ഞെടുത്ത ക്ലയന്റുകൾ Pi യിലേക്ക് ചൂണ്ടുന്നു എന്ന് കരുതുക. പ്രധാനം, രണ്ട് വ്യത്യസ്ത പാക്കറ്റ് പ്രവാഹങ്ങൾ ഒരേ കേബിൾ പങ്കിടുന്നു എന്നതാണ്. ക്ലയന്റിന്റെ ഉള്ളിലെ പാക്കറ്റ് Pi യിൽ എത്തി ടണലിലൂടെ പുറത്തുപോകണം; Pi യുടെ സ്വന്തം എൻക്രിപ്റ്റ് ചെയ്ത പാക്കറ്റ് VPN പങ്കാളിയിലേക്ക് അതേ കേബിളിൽ നിന്ന് റൗട്ടറിലേക്ക് പുറത്തുപോകണം. അവ ഒരേ ഇന്റർഫേസിൽ വിപരീത ദിശകളിൽ സഞ്ചരിക്കുന്നു, വ്യത്യസ്ത പെരുമാറ്റം വേണം.
Pi യുടെ വിലാസം ഇൻസ്റ്റാൾ ചെയ്ത നെറ്റ്വർക്ക് മാനേജർ വഴി നൽകുക, ഉപകരണത്തിനായി അതിനോട് മത്സരിക്കുന്ന പഴയ ഇന്റർഫേസ് ഫയൽ റെസിപ്പിയിലൂടെയല്ല. പിന്നീട് ക്ലയന്റുകൾ ക്രമീകരിക്കുക: ഒരു ഉപകരണത്തിൽ സ്റ്റാറ്റിക് ഗേറ്റ്വേ, അല്ലെങ്കിൽ 192.168.50.2 റൗട്ടർ ആയി നൽകുന്ന DHCP റിസർവേഷൻ. രണ്ട് ഉപകരണങ്ങൾക്കുവേണ്ടി റൗട്ടറിന്റെ മുഴുവൻ DHCP പരിധിയും മാറ്റരുത്, ക്ലയന്റ് ആ ഓപ്ഷനെ മാനിക്കുമെന്ന് കരുതരുത് — പരിശോധിക്കുക.
ബലഹീനത ഘടനാപരമാണ്, പരിഹരിക്കാനാവില്ല. ആ സെഗ്മെന്റിലെ ഏത് ക്ലയന്റിനും 192.168.50.1 ലേക്ക് ചൂണ്ടി തുറന്ന രൂപത്തിൽ പുറത്തുപോകാം, രണ്ടാമത്തെ ഇന്റർഫേസോ സെല്ലുലാർ റേഡിയോയോ ഉള്ള ഉപകരണം നിങ്ങളുടെ നിർബന്ധന പാത പൂർണ്ണമായി വിടുന്നു. ആ വാക്യം ബന്ധപ്പെട്ട ഉപകരണത്തിന് സ്വീകാര്യമല്ലെങ്കിൽ, ഉത്തരം നിങ്ങൾക്ക് ഇപ്പോഴുണ്ട്: ലേഔട്ട് B ഉപയോഗിക്കുക.
ലേഔട്ട് B: പ്രത്യേക പോർട്ട് ഉപകരണങ്ങളെ അകത്ത് അടയ്ക്കുന്നു
ഇവിടെ Pi അപ്ലിങ്കിൽ ഗേറ്റ്വേ 192.168.50.1 നൊപ്പം 192.168.50.2 നിലനിർത്തി, ബന്ധിപ്പിച്ച ഉപകരണങ്ങൾക്കായി രണ്ടാമത്തെ ഇന്റർഫേസിൽ 10.20.0.1/24 എടുക്കുന്നു. ഇപ്പോൾ Pi രണ്ട് നെറ്റ്വർക്കുള്ള റൗട്ടറാണ്, ബന്ധിപ്പിച്ച സെഗ്മെന്റിന് കൃത്യം ഒരു പുറത്തേക്കുള്ള വഴിയുണ്ട്.
പ്രതിജ്ഞാബദ്ധതയ്ക്ക് മുൻപ് പരിധി മറ്റെല്ലാത്തിനോടും ഒത്തുനോക്കുക: ടണലിന്റെ സ്വന്തം സബ്നെറ്റ്, മറ്റ് സൈറ്റ്-ടു-സൈറ്റ് പ്രിഫിക്സുകൾ, VPN വഴി എത്താവുന്നതെല്ലാം. ദൂരെയുള്ള LAN മായി കൂട്ടിയിടിക്കുന്ന 10.20.0.0/24 ഒരു വൈകുന്നേരം രോഗനിർണ്ണയം എടുക്കുന്ന പകുതി-പ്രവർത്തിക്കുന്ന ഫലം നൽകുന്നു. രണ്ടാമത്തെ പോർട്ട് USB അഡാപ്റ്റർ ആണെങ്കിൽ, അത് പിന്തുണയ്ക്കുന്നുവെന്ന് ഉറപ്പാക്കി, റീബൂട്ടിനു ശേഷമുള്ള പുനഃക്രമീകരണം നിങ്ങളുടെ LAN വിലാസം നീക്കാതിരിക്കാൻ അതിന്റെ പേര് നെറ്റ്വർക്ക് മാനേജറിൽ പിൻ ചെയ്യുക.
DHCP ശ്രോതാവ് ആ ഇന്റർഫേസിൽ മാത്രം പ്രവർത്തിപ്പിക്കുക. അപ്ലിങ്കിൽ ഉത്തരം നൽകുന്ന സെർവർ ISP റൗട്ടറുമായി മത്സരിക്കുകയും നിങ്ങളുടെ സെഗ്മെന്റിന്റെ വിലാസങ്ങൾ വീടിന്റെ ബാക്കി ഭാഗത്തിന് നൽകുകയും ചെയ്യുന്നു. അതിനെ LAN ഇന്റർഫേസിൽ ബന്ധിപ്പിച്ച്, പ്രഖ്യാപിച്ച പരിധിയിൽ പരിമിതപ്പെടുത്തി, Pi യുടെ സ്വന്തം വിലാസം പൂളിന് പുറത്ത് നിർത്തുക.
ഫോർവേഡിംഗ്, വിവർത്തനം, പരാജയത്തിൽ അടയ്ക്കുന്ന നിയമം
നാല് കാര്യങ്ങളെ പലപ്പോഴും ഒന്നായി വിവരിക്കുന്നു, എന്നാൽ അവ ഒന്നല്ല. ഫോർവേഡിംഗ് ഓണാക്കുന്നത് (net.ipv4.ip_forward=1) കേർണലിനോട് ഇന്റർഫേസുകൾക്കിടയിൽ പാക്കറ്റുകൾ നീക്കാമെന്ന് മാത്രം പറയുന്നു; അത് സ്വയം ഒന്നും അനുവദിക്കുന്നില്ല, ഒരു പാതയ്ക്കും ഉറപ്പുനൽകുന്നില്ല. എഗ്രസ് തിരഞ്ഞെടുക്കുന്നത് റൗട്ടിംഗ് തീരുമാനമാണ്. പാക്കറ്റിന് അനുവാദം നൽകുന്നത് forward ശൃംഖലയിലെ നയ തീരുമാനമാണ്. അതിന്റെ ഉറവിടം വീണ്ടും എഴുതുന്നത് postrouting തീരുമാനമാണ്. ആദ്യത്തേത് മാത്രം ചെയ്യുന്ന നിർമ്മാണം ക്ലയന്റ് ട്രാഫിക്ക് അപ്ലിങ്കിലൂടെ സന്തോഷത്തോടെ ഫോർവേഡ് ചെയ്യുന്ന Pi നൽകുന്നു.
അനുവാദം നിങ്ങൾ ഉദ്ദേശിച്ച ഉറവിടങ്ങളിലേക്കും ട്രാഫിക് ഉപയോഗിക്കേണ്ട ഇന്റർഫേസിലേക്കും പരിമിതപ്പെടുത്തി, മടക്കപ്പാതയും Pi യ്ക്ക് ആവശ്യമായ ലക്ഷ്യങ്ങളും ഉൾപ്പെടുത്തുക. തുടർന്ന് ദാതാവ് നിങ്ങളുടെ LAN പ്രിഫിക്സ് നിങ്ങളിലേക്ക് തിരികെ റൗട്ട് ചെയ്യുന്നില്ലെങ്കിൽ ടണൽ എഗ്രസിൽ വിവർത്തനം ചെയ്യുക. nftables കൈപ്പുസ്തകം ഫോർവേഡിംഗ്, പ്രാദേശിക ഔട്ട്പുട്ട്, ഉറവിട-വിവർത്തനം എന്നിവ വെവ്വേറെ പ്രവർത്തനങ്ങളായി കാണുന്നു, അതാണ് ഇവിടെ ശരിയായ ചിന്താമാതൃക.
സാധാരണ പരാജയം ഭൗതിക ഇന്റർഫേസിലെ വിശാലമായ masquerade നിയമമാണ്. അപ്പോൾ ട്രാഫിക് ISP പാതയിലൂടെ ഇന്റർനെറ്റിൽ എത്തുന്നു, എന്നാൽ ക്ലയന്റിന്റെ ഭാഗത്തുനിന്ന് അത് പ്രവർത്തിക്കുന്ന VPN പോലെ തന്നെ തോന്നുന്നു. അത് ഒന്നും തെളിയിക്കുന്നില്ല. വിവർത്തനം പ്രഖ്യാപിച്ച എഗ്രസിൽ ബന്ധിപ്പിച്ച് നിർത്തുക, നിയമങ്ങൾ ഹോസ്റ്റ് ഇപ്പോൾ ഉപയോഗിക്കുന്ന ഫയർവാളിൽ തന്നെ സൂക്ഷിക്കുക, പങ്കിട്ട postrouting ശൃംഖല ശൂന്യമാക്കുന്ന മത്സര നിയമക്കൂട്ടം ചേർക്കുന്നതിന് പകരം.
തുടർന്ന് ടണലിന്റെ അഭാവം കൈകാര്യം ചെയ്യുക. വിശാലമായ സ്ഥിരമായ റൂട്ട് ഇൻസ്റ്റാൾ ചെയ്യുന്ന ക്ലയന്റ് പ്രൊഫൈൽ എന്നാൽ ടണൽ വീഴുമ്പോൾ സാധാരണ സ്ഥിരമായ റൂട്ട് തിരികെ വന്ന് ക്ലയന്റ് ട്രാഫിക് നിശബ്ദമായി അപ്ലിങ്കിലേക്ക് മടങ്ങുന്നു എന്നും അർത്ഥം. എവിടെയാണോ വ്യക്തമായ എഴുത്തിലേക്കുള്ള മടക്കം സ്വീകാര്യമല്ലാത്തത്, അവിടെ forward നയം ക്ലയന്റിൽ നിന്ന് അപ്ലിങ്കിലേക്കുള്ള ട്രാഫിക് വ്യക്തമായി നിരസിക്കണം, VPN റൂട്ട് പോയ അവസ്ഥയിൽ. അത് അനുമാനമായല്ല, നിരസിക്കൽ നിയമമായി എഴുതുക. Pi യുടെ VPN പങ്കാളിയിലേക്കുള്ള സ്വന്തം എൻക്രിപ്റ്റ് ചെയ്ത സംപ്രേഷണം വേറിട്ട local-output പ്രവാഹമാണ്, അനുവദനീയമായി തുടരണം, അല്ലാത്തപക്ഷം ടണലിന് ഒരിക്കലും മടങ്ങാനാവില്ല.
DNS-നും IPv6-നും സ്വന്തം ഉത്തരം വേണം
ക്ലയന്റുകൾ Pi യെ റിസോൾവർ ആയി ഉപയോഗിക്കുന്നുവെങ്കിൽ, അവ പ്രാദേശിക ശ്രോതാവിൽ എത്തുന്നു, Pi പുതിയ ക്വറി ആരംഭിക്കുന്നു. ആ അപ്സ്ട്രീം ക്വറി ക്ലയന്റുകൾക്കായി നിങ്ങൾ എഴുതിയ forward നിയമമല്ല, Pi യുടെ സ്വന്തം റൂട്ട് പിന്തുടരുന്നു, അതിനാൽ ടണലിലൂടെ മാത്രം പോകുന്ന ക്ലയന്റ് പാതയും നേരിട്ട് പുറത്തുപോകുന്ന റിസോൾവറും — ഇത് ഒരു പിശക് സന്ദേശവുമില്ലാത്ത ചോർച്ചയാണ്. ബോധപൂർവ്വം തീരുമാനിക്കുക: ടണലിലൂടെ എത്തുന്ന റിസോൾവർ, അല്ലെങ്കിൽ നേരിട്ടുള്ളതായി അംഗീകരിക്കുന്ന പ്രാദേശിക റിസോൾവർ, കൂടാതെ Pi യുടെ സ്വന്തം ഔട്ട്പുട്ട് നയം ആ തീരുമാനവുമായി ഒത്തുപോകട്ടെ.
IPv6 വീണ്ടും വേറിട്ട സാഹചര്യമാണ്. IPv4-നുള്ള forward നിയമം IPv6 സംബന്ധിച്ച് ഒന്നും പരിമിതപ്പെടുത്തുന്നില്ല, അപ്ലിങ്കിലെ റൗട്ടർ പ്രഖ്യാപനങ്ങൾ Pi യ്ക്കും അതിലൂടെ ബന്ധിപ്പിച്ച സെഗ്മെന്റിനും നിങ്ങളുടെ നയം ഒഴിവാക്കുന്ന രണ്ടാമത്തെ സ്ഥിരമായ റൂട്ട് നൽകാം. ഒന്നുകിൽ അതേ തത്വത്തിൽ IPv6 ന് സ്വന്തം സംരക്ഷിത പാത നൽകുക, അല്ലെങ്കിൽ ക്ലയന്റ് സെഗ്മെന്റിൽ അത് വ്യക്തമായി പരിമിതപ്പെടുത്തി അത് പറയുക.
വിശ്വസിക്കുന്നതിന് മുൻപ് അതിർത്തി പരിശോധിക്കുക
നാല് വെവ്വേറെ പരിശോധനകൾക്ക് ശേഷം മാത്രം രൂപകൽപ്പന സ്വീകരിക്കുക, കാരണം പ്രലോഭിപ്പിക്കുന്ന ഒറ്റ പരീക്ഷ — ഒരു ക്ലയന്റിൽ ബ്രൗസർ തുറക്കുക — പല തകർന്ന അവസ്ഥകളിലും വിജയിക്കുന്നു.
ഒരു യഥാർത്ഥ ക്ലയന്റ് ടണലിലൂടെ ഇന്റർനെറ്റിൽ എത്തുന്നുവെന്ന് ഉറപ്പാക്കുക, തുടർന്ന് അതേ ക്ലയന്റ് ടണൽ താഴെയിരിക്കുമ്പോൾ ഇന്റർനെറ്റിൽ എത്തുന്നില്ലെന്ന് ഉറപ്പാക്കുക. DNS റിസോല്യൂഷൻ പ്രവർത്തിക്കുന്നുവെന്നും ക്വറി നിങ്ങൾ ഉദ്ദേശിച്ച സ്ഥലത്തുനിന്ന് പുറത്തുപോകുന്നുവെന്നും ഉറപ്പാക്കുക. ടണൽ പുനരാരംഭിച്ചതിനു ശേഷവും Pi യുടെ സ്വന്തം സംപ്രേഷണം പ്രവർത്തിക്കുന്നുവെന്നും വീണ്ടെടുക്കലിന് യന്ത്രം റീബൂട്ട് ആവശ്യമില്ലെന്നും ഉറപ്പാക്കുക. അവസാനം, നിങ്ങൾ തിരഞ്ഞെടുക്കാത്ത ഒരു ഉപകരണം പരിശോധിക്കുക: ലേഔട്ട് A യിൽ അത് സാധാരണയായി പ്രവർത്തിക്കണം, ലേഔട്ട് B യിൽ അത് ആ സെഗ്മെന്റിൽ ഉണ്ടാകാൻ പാടില്ല.
- രണ്ട് പോർട്ടുകളും നിരസിക്കൽ നിയമവും നിർബന്ധനം നൽകുന്നു; ഒരു പോർട്ടും DHCP ഓപ്ഷനും ഉപദേശം നൽകുന്നു.
- തെറ്റായ ഇന്റർഫേസിലെ വിവർത്തനം വിജയം പോലെ തോന്നുന്നു, അതല്ല.
- Pi യുടെ സ്വന്തം ട്രാഫിക്, DNS, IPv6 എന്നിവയ്ക്ക് ഓരോന്നിനും തീരുമാനം വേണം, അനുമാനമല്ല.