വീട്ടിലെ റൗട്ടറിന് പിന്നിൽ പോർട്ട് ഫോർവേർഡിംഗ് ഇല്ലാത്ത ലാപ്ടോപ്പുകൾ VPN വഴി വരുന്ന SSH കണക്ഷനുകൾ ഇപ്പോഴും സ്വീകരിക്കുന്നു. ഇത് വൈരുദ്ധ്യമല്ല, കാരണം രണ്ട് വ്യത്യസ്ത ഉപകരണങ്ങൾ രണ്ട് വ്യത്യസ്ത പാക്കറ്റുകൾ വിലയിരുത്തുന്നു. റൗട്ടർ എൻക്രിപ്റ്റ് ചെയ്ത ഗതാഗതം കൈമാറുന്നു, ഹോസ്റ്റ് തന്റെ തുരങ്ക ഇന്റർഫേസിൽ എത്തുന്ന ഡീക്രിപ്റ്റ് ചെയ്ത പാക്കറ്റിനെ എന്ത് ചെയ്യണമെന്ന് തീരുമാനിക്കുന്നു. ഈ രണ്ട് തീരുമാനങ്ങൾ വെവ്വേറെ നിർത്തുന്നതാണ് മുഴുവൻ അഭ്യാസം.

റൗട്ടർ തുരങ്കം കൈമാറുന്നു, ഹോസ്റ്റ് പാക്കറ്റ് വിലയിരുത്തുന്നു

ഒരു നിയമം പോലും നോക്കുന്നതിന് മുമ്പ് ദൂരെയുള്ള ഉറവിടത്തിൽ നിന്ന് സേവനത്തിലേക്കുള്ള പാത വരയ്ക്കുക. പുറം ഭാഗം VPN ഗതാഗതമാണ്, അത് റൗട്ടറും ഗേറ്റ്വേയും കൈകാര്യം ചെയ്യുന്നു. അന്തിമ ബിന്ദു തുരങ്ക പാളി നീക്കി, തന്റെ VPN വിലാസത്തിലേക്ക് അയച്ച പാക്കറ്റ് ഹോസ്റ്റ് സ്വീകരിക്കുമ്പോൾ ആന്തരിക ഭാഗം തുടങ്ങുന്നു.

ഈ രണ്ട് ഭാഗങ്ങൾ ചേർത്താൽ ഹോസ്റ്റ് എടുക്കുന്ന തീരുമാനത്തിന്റെ ബഹുമതി റൗട്ടറിന് ലഭിക്കും. പോർട്ട് ഫോർവേർഡിംഗ് പേജോ റൗട്ടർ ലോഗോ പുറം സംഭാഷണങ്ങൾ മാത്രം വിവരിക്കുന്നു, അവയൊന്നും ഹോസ്റ്റ് ഏത് ഡീക്രിപ്റ്റ് ചെയ്ത ട്രാഫിക് സ്വീകരിക്കുമെന്ന് പറയുന്നില്ല. ഹോസ്റ്റ് ആന്തരിക പാക്കറ്റിന് സ്വന്തം പ്രവേശന നയം പ്രയോഗിക്കുന്നു, ഇന്റർഫേസിൽ എത്തുന്ന ഏത് പാക്കറ്റിനും പ്രയോഗിക്കുന്നതുപോലെ. ആ നയത്തിലാണ് എക്സ്പോഷർ ചോദ്യം യഥാർത്ഥത്തിൽ തീരുമാനിക്കപ്പെടുന്നത്.

വൈൽഡ്കാർഡ് ശ്രോതാവ് പൊതു സേവനമല്ല

Linux-ൽ INADDR_ANY ലേക്ക് ബൈൻഡ് ചെയ്യുക എന്നാൽ ഓരോ പ്രാദേശിക വിലാസവും, അതിനാൽ ഒരു സേവനത്തിന് താൻ ഒരിക്കലും പേരിട്ടിട്ടില്ലാത്ത തുരങ്ക ഇന്റർഫേസിൽ മറുപടി നൽകാം. IP സോക്കറ്റ് റഫറൻസ് ആ ബൈൻഡിംഗ് വിവരിക്കുന്നു, ശ്രോതാക്കളുടെ പട്ടികയിൽ നിന്ന് നിഗമനങ്ങളിൽ എത്തുന്നതിന് മുമ്പ് അത് വായിക്കേണ്ടതാണ്. വൈൽഡ്കാർഡ് എൻട്രി സോക്കറ്റിനെക്കുറിച്ചുള്ള വസ്തുതയാണ്, എത്തിച്ചേരാനുള്ള കഴിവിനെക്കുറിച്ചുള്ള പ്രസ്താവനയല്ല.

താഴെയുള്ള രണ്ട് വരികൾ ഒരേ സേവനത്തിന്റെ രണ്ട് വ്യത്യസ്ത ബൈൻഡിംഗുകളാണ്, വ്യത്യാസം തന്നെ ഇന്റർഫേസ് പ്രധാനമാണോ എന്ന ചോദ്യത്തിന്റെ മുഴുവൻ ഉത്തരമാണ്. എല്ലാറ്റിനും മുമ്പ് സോക്കറ്റ് ഏത് വിലാസത്തിൽ ഇരിക്കുന്നു എന്ന് വായിക്കുക.

ss -lntp "sport = :22"
LISTEN 0 4096 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=812,fd=3))
LISTEN 0 4096 10.8.0.6:22 0.0.0.0:* users:(("sshd",pid=812,fd=4))

പോർട്ടിൽ എത്താൻ കഴിയുന്ന ക്രമീകരണത്തിന് പേര് നൽകുക

മൂന്ന് ക്രമീകരണങ്ങൾ ആ ഇന്റർഫേസിൽ പാക്കറ്റ് വയ്ക്കുന്നു, അവയുടെ ഉടമകൾ വ്യത്യസ്തരാണ്. ശരിയായതിന് പേര് നൽകുന്നത് ആരു നയം മാറ്റണമെന്ന് തീരുമാനിക്കുന്നു.

ArrangementWhat reaches the portWhere the decision lives
Another permitted VPN peerA packet from the same tunnel subnetGateway forwarding policy and host input rules
A deliberate public forwardTraffic the gateway publishes on purposeGateway service definition
A subnet routed behind the gatewayClient traffic from the far sideGateway route and host input rules

പൊതു നിർഗമന വിലാസം കാണിക്കുന്ന ബ്രൗസർ ഫലം മൂന്നിൽ ഒന്നിനെക്കുറിച്ചും ഒന്നും പറയുന്നില്ല, കാരണം അത് പുറത്തേക്ക് പോകുന്ന ട്രാഫിക് എങ്ങനെ പുറത്തുപോകുന്നു എന്ന് വിവരിക്കുന്നു, അകത്തേക്ക് വരുന്ന ട്രാഫിക്ക് എന്ത് അനുമതിയുണ്ട് എന്നല്ല. പകരം ശ്രോതാവിൽ നിന്നും സേവന ലോഗിലെ ഉറവിട വിലാസത്തിൽ നിന്നും പിന്നോട്ട് പ്രവർത്തിക്കുക. ഉറവിടം മറ്റൊരു തുരങ്ക പങ്കാളിയാണെങ്കിൽ, ഗേറ്റ്വേ നയമാണ് രസകരമായ രേഖ. അത് വിവർത്തനം ചെയ്ത വിലാസമാണെങ്കിൽ, നിയമം മാറ്റുന്നതിന് മുമ്പ് വിവർത്തനം കണ്ടെത്തുക.

സേവനം നിങ്ങൾ ഉദ്ദേശിച്ച പാതയിൽ മാത്രം പരിമിതപ്പെടുത്തുക

SSH നിർവ്വഹണ പാതയിൽ നിന്ന് മാത്രം ആവശ്യമെങ്കിൽ, ആ പാത ഉറവിട ശ്രേണിയും ഒരു ഇന്റർഫേസും ആയി എഴുതുക. തുടർന്ന് ഹോസ്റ്റിന്റെ പ്രവേശന നിയമങ്ങൾ നെറ്റ്വർക്ക് പേരിന് പകരം ഇന്റർഫേസ്, ലക്ഷ്യം, ഉറവിടം എന്നിവ അനുസരിച്ച് പരിമിതപ്പെടുത്തുക, കാരണം സ്വകാര്യമായി തോന്നുന്ന ഒരു പേരിന് ഏത് വിലാസത്തെയും പ്രതിനിധീകരിക്കാം. അടുത്ത പ്രശ്നം പരിഹരിക്കുന്നയാൾക്ക് ഒരു റൂട്ട് അവശേഷിപ്പിക്കുക.

nft add rule inet filter input iifname "tun0" ip saddr 10.8.0.0/24 tcp dport 22 accept
nft list chain inet filter input

തുരങ്ക ഇന്റർഫേസും നിർവ്വഹണ ശ്രേണിയും പേര് പറയുന്ന നിയമം ഉദ്ദേശ്യം ഒരിടത്ത് പ്രകടിപ്പിക്കുന്നു. Wi-Fi നെറ്റ്വർക്കിനായി എഴുതിയ നിയമവുമായി താരതമ്യം ചെയ്യുക, അത് ഡീക്രിപ്റ്റ് ചെയ്ത തുരങ്ക ട്രാഫിക്കിനെക്കുറിച്ച് ഒന്നും പറയുന്നില്ല. രണ്ട് പാളികളും യോജിക്കാത്തപ്പോൾ, പാക്കറ്റ് നേരിടുന്ന നയം ഹോസ്റ്റിന്റെ നയമാണ്.

ലോഗിനുകളും പാച്ചുകളും ഉള്ളിടത്ത് തന്നെ വയ്ക്കുക; ഒരു പോർട്ടിൽ എത്തുന്നത് എപ്പോഴും അത് ഉപയോഗിക്കാനുള്ള അനുമതി നേടുന്നതിന് തുല്യമായിരുന്നില്ല. അപരിചിതമായ ഏത് ഉറവിടത്തിനും വിലാസ കുടുംബവും സമയവും രേഖപ്പെടുത്തുക, ഒരു സവിശേഷതയെയോ ദുർബലതയെയോ കുറ്റപ്പെടുത്തുന്നതിന് മുമ്പ് അന്വേഷിക്കുക. ഓരോ തുരങ്ക പങ്കാളിയെയും അകത്തേക്ക് അനുവദിക്കുന്ന നിയമം നിർവ്വഹണ ഉപജാലത്തെ അനുവദിക്കുന്നതിൽ നിന്ന് വ്യത്യസ്തമായ രൂപകൽപ്പനയാണ്, ഏതാണ് ഉദ്ദേശിച്ചതെന്ന് ഒരു ലോഗ് വരിയും പറയില്ല.

തിരുത്തൽ ഒരു വിജയത്തോടും ഒരു നിരസനത്തോടും കൂടി സ്വീകരിക്കുക

രണ്ട് പകുതികളും തെളിയിക്കുക: ഒരു അനുവദിച്ച കണക്ഷൻ വിജയിക്കുന്നു, ഒരു ഒഴിവാക്കിയ പാത നിരസിക്കപ്പെടുന്നു. നിരസനമാണ് ആളുകൾ ഒഴിവാക്കുന്ന പകുതി, അതാണ് നിയമം പ്രവർത്തിക്കുന്നു എന്ന് കാണിക്കുന്നത്, അനുവദിക്കുന്ന സ്ഥിരസ്ഥിതിയുടെ അരികിൽ നിൽക്കുന്നില്ല. ഒഴിവാക്കിയ വശത്ത് നിന്ന് പരിശോധിക്കുക, അതിനെക്കുറിച്ച് ചിന്തിക്കുന്നതിന് പകരം.

വീണ്ടും ബന്ധിപ്പിച്ചതിന് ശേഷം ജോടി ആവർത്തിക്കുക, കാരണം വ്യത്യസ്ത ഇന്റർഫേസ് പേരുമായി തിരികെ വരുന്ന തുരങ്കം പഴയതിന് പരിമിതപ്പെടുത്തിയ നിയമം നിശബ്ദമായി മറികടക്കാം. പ്രധാനമായ അതിർത്തി ഹോസ്റ്റ് യഥാർത്ഥത്തിൽ സ്വീകരിക്കുന്ന പാക്കറ്റുകൾക്ക് പ്രയോഗിക്കുന്നതാണ്.

അനുബന്ധ ലേഖനങ്ങൾ