VPN ടണൽ ഒരിക്കലും കണക്ട് ആകുന്നില്ല: പാക്കറ്റുകൾ യഥാർത്ഥത്തിൽ എവിടെ നിൽക്കുന്നു
ഒരിക്കലും രൂപപ്പെടാത്ത ടണൽ ഇരു വശത്തും ശൂന്യമായ ലോഗ് അവശേഷിപ്പിക്കുന്നു. GRE, ESP അല്ലെങ്കിൽ UDP 4500 ഉപേക്ഷിക്കപ്പെടുന്നുണ്ടോ എന്ന് പരിശോധിച്ച്, സെർവർ എഡിറ്റ് ചെയ്യുന്നതിന് മുൻപ് കാരിയർ NAT കണ്ടെത്തുക.
ക്ലയന്റ് വീണ്ടും വീണ്ടും ശ്രമിക്കുന്നു, ഹാൻഡ്ഷേക്ക് പൂർത്തിയാകുന്നതിന് മുൻപ് ലോഗ് നിലയ്ക്കുന്നു, സെർവർ ഒന്നും തന്നെ രേഖപ്പെടുത്തുന്നുമില്ല. ഈ മാതൃക ക്രെഡൻഷ്യലുകളിൽ നിന്ന് അകന്ന് പാതയിലേക്ക് വിരൽ ചൂണ്ടുന്നു: ഇരു വശങ്ങൾക്കുമിടയിൽ എന്തോ ടണലിന് ആവശ്യമായ പ്രോട്ടോക്കോൾ കൊണ്ടുപോകാൻ വിസമ്മതിക്കുന്നു. ഏതെങ്കിലും ഒരു കോൺഫിഗറേഷൻ തൊടുന്നതിന് മുൻപ് പാക്കറ്റുകൾ എവിടെ നിൽക്കുന്നു എന്ന് തീരുമാനിക്കുക, കാരണം ഫിൽട്ടർ ചെയ്ത പ്രോട്ടോക്കോളും തെറ്റായ പാസ്വേഡും മിക്ക ക്ലയന്റുകളിലും ഒരേ സൗഹൃദപരമായ പിശക് നൽകുന്നു. പരിശോധനകൾ ചെലവിന്റെ ക്രമത്തിലാണ്, ഏറ്റവും വിലകുറഞ്ഞത് ആദ്യം.
ട്രാഫിക് എവിടെ നിൽക്കുന്നു എന്ന് തെളിയിക്കുക
ഒരേ സമയം ക്ലയന്റിന്റെ ഔട്ട്ബൗണ്ട് ഇന്റർഫേസിലും സെർവറിലും ക്യാപ്ചർ ചെയ്യുക. പുറത്തുപോയതും എത്തിയതും താരതമ്യം ചെയ്യുക, വ്യത്യാസം ഏത് ദിശയിൽ പ്രത്യക്ഷപ്പെടുന്നു എന്ന് കുറിക്കുക.
സെർവറിൽ ഒന്നുമില്ലെങ്കിൽ പാതയോ ആദ്യ NAT ഓ ട്രാഫിക് ഉപേക്ഷിക്കുന്നു, മറുപടിയില്ലാത്ത വരവുകൾ സെർവറിലെ ഫയർവാളിലേക്കോ നിലവിലില്ലാത്ത തിരിച്ചുവരവ് റൂട്ടിലേക്കോ വിരൽ ചൂണ്ടുന്നു. ടണലുകൾ പതിവായി അവസാനിപ്പിക്കുന്ന റൂട്ടർ സാധാരണയായി ഉപയോഗപ്രദമായ ലോഗ് സൂക്ഷിക്കുന്നില്ല, അതിനാൽ ക്യാപ്ചർ തന്നെ രേഖയാകുന്നു. ലക്ഷ്യ പോർട്ടും പ്രോട്ടോക്കോൾ നമ്പറും എഴുതിവയ്ക്കുക, കാരണം രണ്ട് പരാജയങ്ങളും ക്ലയന്റ് ഡയലോഗിൽ ഒരേപോലെ കാണപ്പെടുന്നു.
പ്രോട്ടോക്കോൾ 47 ഇല്ലാതെ PPTP മരിക്കുന്നു
PPTP നിയന്ത്രണം TCP 1723-ലും ഡാറ്റ GRE-ക്കുള്ളിലും കൊണ്ടുപോകുന്നു, GRE പോർട്ട് നമ്പറല്ല, IP പ്രോട്ടോക്കോൾ 47 ആണ്. 1723 മാത്രം ഫോർവേഡ് ചെയ്താൽ പരമ്പരാഗത ഫലം ലഭിക്കും: കണക്ഷൻ പ്രാമാണീകരിച്ച് പിന്നീട് നിശബ്ദമാകുന്നു, കാരണം പേലോഡ് കൊണ്ടുപോകുന്ന പ്രോട്ടോക്കോളിന് നിയമമില്ല. ക്ലയന്റിന് ഇത് നിരസിക്കപ്പെട്ട പാസ്വേഡിൽ നിന്ന് വേർതിരിച്ചറിയാനാകില്ല, അതിനാൽ ക്യാപ്ചർ കോൺഫിഗറേഷൻ മാറ്റങ്ങൾക്ക് മുൻപ് വേണം.
പാസ്ത്രൂ ഇൻബൗണ്ട് ഫോർവേഡിന്റെ വിപരീത ദിശയിൽ പ്രവർത്തിക്കുന്നു, ഫേംവെയർ പലപ്പോഴും രണ്ടിനും ഒരേ ലേബൽ ഉപയോഗിക്കുന്നത് എല്ലാവരെയും കുഴപ്പിക്കാൻ മതി. Linux ക്ലയന്റിൽ ലോക്കൽ ഫയർവാൾ റൂട്ടർ ഇടപെടുന്നതിന് വളരെ മുൻപ് GRE ഉപേക്ഷിച്ചേക്കാം, അതിനാൽ പ്രോട്ടോക്കോൾ 47-ന് സ്വന്തം നിയമം വേണം, conntrack സഹായി ലോഡ് ചെയ്യണം. Ubuntu-യുടെ ufw ഈ നിയമങ്ങൾ before ഫയലിൽ സൂക്ഷിക്കുന്നു, കാരണം സാധാരണ allow നിയമങ്ങൾക്ക് പ്രോട്ടോക്കോൾ നമ്പർ പ്രകടിപ്പിക്കാനാകില്ല. അതിനുശേഷം മെഷീൻ റീബൂട്ട് ചെയ്യുന്നതിന് പകരം ഫയർവാൾ വീണ്ടും ലോഡ് ചെയ്യുക.
# /etc/ufw/before.rules, inside *filter
-A ufw-before-input -p gre -j ACCEPT
sudo ufw allow 1723/tcp
sudo modprobe nf_conntrack_pptp
sudo conntrack -L | grep greരണ്ട് NAT-ക്ക് പിന്നിലെ L2TP, IPsec
L2TP IPsec-നുള്ളിൽ കീ കൈമാറ്റത്തിന് UDP 500, NAT കണ്ടെത്തുമ്പോൾ UDP 4500, പ്രോട്ടോക്കോൾ 50 ആയി ESP ആവശ്യമാണ്. ഇവ ഓരോന്നും സ്വതന്ത്രമായി ഫിൽട്ടർ ചെയ്യപ്പെടുന്നു, അതിനാൽ ഒന്നിന് അനുമതി നൽകുന്ന നിയമം മറ്റ് രണ്ടിനെക്കുറിച്ച് ഒന്നും തെളിയിക്കുന്നില്ല. ശ്രേണിയിൽ രണ്ട് റൂട്ടറുകൾ ഓരോ പാക്കറ്റും രണ്ടുതവണ വിവർത്തനം ചെയ്യുന്നു, അറ്റങ്ങൾ എന്താണ് ചർച്ച ചെയ്തതെന്ന കാര്യത്തിൽ ഇനി യോജിക്കുന്നില്ല.
പുറം മോഡം ബ്രിഡ്ജ് ചെയ്യുക, അല്ലെങ്കിൽ ഉൾ റൂട്ടറിൽ NAT ഓഫ് ചെയ്യുക, പൊതു വിലാസം ടണൽ അവസാനിപ്പിക്കുന്ന ഉപകരണത്തിലെത്താൻ. രണ്ടും സാധ്യമല്ലാത്തിടത്ത്, ടണൽ ഇരട്ട NAT അതിർത്തിക്കുള്ളിൽ നിന്ന് ആരംഭിക്കണം, അവിടെ അവസാനിപ്പിക്കരുത്.
കാരിയർ നെറ്റ്വർക്കുകളും വിലാസ പങ്കിടലും
WAN വിലാസം 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 അല്ലെങ്കിൽ 100.64.0.0/10-നുള്ളിലാണെങ്കിൽ റൂട്ടറിന് പൊതു വിലാസമില്ല, ഇന്റർനെറ്റിൽ നിന്നുള്ള ഒരു ഇൻബൗണ്ട് ഫോർവേഡും അതിൽ എത്തില്ല. കാരിയർ-ഗ്രേഡ് NAT പ്രതീക്ഷിക്കാത്ത പ്രോട്ടോക്കോളുകളും അധികമായി ഫിൽട്ടർ ചെയ്യുന്നു, മൊബൈൽ ലിങ്കുകളിൽ GRE പലപ്പോഴും ഇരയാകുന്നു. റൂട്ടറിലെ തന്നെ WAN വിലാസം താരതമ്യം ചെയ്യുക, അതിന് പിന്നിലുള്ള ക്ലയന്റിനെക്കുറിച്ച് ഒരു ലുക്കപ്പ് സൈറ്റ് പറയുന്ന വിലാസമല്ല.
അതേ റൂട്ടർ വയർ ലൈനിൽ പ്രവർത്തിപ്പിക്കുന്നത് ഒരു പരിശോധനയിൽ കാരിയർ കണ്ടെത്തലിനെ കോൺഫിഗറേഷൻ പിശകിൽ നിന്ന് വേർതിരിക്കുന്നു. കാരിയർ പ്രോട്ടോക്കോൾ നിരസിക്കുന്നിടത്ത്, ബാക്കിയുള്ള ഓപ്ഷനുകൾ 443-ലെ മറ്റൊരു ഗതാഗതമോ ഉള്ളിൽ നിന്ന് ആരംഭിക്കുന്ന ടണലോ ആണ്.
പോർട്ടുകൾ അടയ്ക്കുന്നതിന് മുൻപ് ശ്രോതാക്കളുടെ പട്ടിക വായിക്കുക
ആശങ്കാജനകമായ പോർട്ട് സ്കാൻ പലപ്പോഴും ഓണായി വരുന്ന ഫീച്ചർ സെറ്റ് മാത്രമാണ്. ശ്രോതാക്കളെ കണക്കെടുക്കുക, ഓരോ സോക്കറ്റും ഒരു ഫീച്ചറുമായി ബന്ധിപ്പിക്കുക, എന്നിട്ട് പോർട്ട് ബ്ലോക്ക് ചെയ്യുന്നതിന് പകരം ഫീച്ചർ ഓഫ് ചെയ്യുക, രണ്ട് കാഴ്ചകളും അകന്നുപോകാതിരിക്കാൻ.
ss -lntup
systemctl list-units --type=service --state=running | grep -i vpn
nc -vz 203.0.113.10 1723
nc -vzu 203.0.113.10 4500SoftEther-ന്റെ സ്ഥിരസ്ഥിതികൾ നല്ല ഉദാഹരണമാണ്: TCP 443, 992, 5555, കൂടെ L2TP/IPsec, DNS-ടണൽ ഫീച്ചറുകൾ സ്വന്തം സോക്കറ്റുകൾ ചേർക്കുന്നു. ആ ഫീച്ചറുകൾ ഓഫ് ചെയ്യുന്നത് ശ്രോതാക്കളെ മറയ്ക്കുന്നതിന് പകരം നീക്കം ചെയ്യുന്നു, പുറം ഹോസ്റ്റിൽ നിന്നുള്ള പരിശോധന കാരിയർ പോർട്ട് കടത്തിവിടുന്നുണ്ടോ എന്ന് പറയുന്നു. പ്രാദേശികമായി ഉത്തരം നൽകുന്ന ശ്രോതാവ് മുകളിൽ അടച്ചിട്ടുണ്ടാകാം, അതിനാൽ റൂട്ടറിന്റെ സ്വന്തം WAN വിലാസം പുറം സേവനം റിപ്പോർട്ട് ചെയ്യുന്നതുമായി താരതമ്യം ചെയ്യുക.