UFW കിൽ സ്വിച്ച് നിങ്ങളുടെ VPN തടയുകയാണോ? പിയറിനെ അനുവദിക്കുക
നിങ്ങളുടെ പുറത്തേക്കുള്ള നിരസിക്കൽ നിയമം ടണലിന്റെ ഹാൻഡ്ഷേക്ക് വീഴ്ത്തുകയാണ്. ufw enable-ന് മുമ്പ് ചേർക്കുന്ന ഒരു പിയർ ഒഴിവാണ് നയത്തെ കിൽ സ്വിച്ചാക്കി മാറ്റുന്നത്.
നിങ്ങൾ ചെക്ക്ലിസ്റ്റ് പിന്തുടർന്നു: പുറത്തേക്കുള്ളത് നിരസിക്കുക, ടണലിന് അനുമതി നൽകുക, ufw പ്രവർത്തനക്ഷമമാക്കുക. പിന്നെ ക്ലയന്റ് ഹാൻഡ്ഷേക്കിൽ കാത്തിരിക്കുന്നു, ഒരിക്കലും കണക്ട് ചെയ്യുന്നില്ല; അല്ലെങ്കിൽ കണക്ട് ചെയ്യുന്നു, ഒരു പേജും ലോഡ് ചെയ്യുന്നില്ല. രണ്ട് പരാജയങ്ങളും ഒരേ വിടവിൽ നിന്നാണ് വരുന്നത്. ടണൽ നിലനിൽക്കാൻ അനുവദിക്കുന്ന നിയമം ഇല്ല, കാരണം ടണൽ നിങ്ങളുടെ പാക്കറ്റുകൾ പുറത്തുപോകുന്ന ഇന്റർഫേസ് അല്ല.
tun0-ലുള്ള അനുമതി തുടക്കത്തിൽ ഒന്നിനും യോജിക്കാത്തത് എന്തുകൊണ്ട്
സെഷൻ നിലവിലുണ്ടായതിന് ശേഷം ക്ലയന്റ് tun0 സൃഷ്ടിക്കുന്നു. ആ സെഷൻ നിർമ്മിക്കുന്ന ഡാറ്റാഗ്രാമുകൾ പോർട്ട് 1194-ൽ ദാതാവിന് അയച്ച സാധാരണ UDP പാക്കറ്റുകളാണ്, അവ ഭൗതിക ഉറവിട വിലാസവുമായി wlan0 അല്ലെങ്കിൽ eth0 വഴി പുറത്തുപോകുന്നു. allow out on tun0 പുറത്തേക്കുള്ള ഇന്റർഫേസ് tun0 ആയ ട്രാഫിക്കിന് മാത്രം യോജിക്കുന്നു, അതിനാൽ ഹാൻഡ്ഷേക്ക് സമയത്ത് അത് ഒന്നിനും യോജിക്കുന്നില്ല.
അതിന് മുകളിൽ default deny outgoing ഇട്ടാൽ ഇന്റർഫേസ് പ്രത്യക്ഷപ്പെടുന്നതിന് മുമ്പേ പുറം പാക്കറ്റുകൾ വലിച്ചെറിയപ്പെടും. ക്ലയന്റ് വീണ്ടും ശ്രമിക്കുന്നു, സമയം കഴിയുന്നു, TLS അല്ലെങ്കിൽ ഹാൻഡ്ഷേക്ക് പരാജയം റിപ്പോർട്ട് ചെയ്യുന്നു, അത് ആളുകളെ സർട്ടിഫിക്കറ്റുകളിലും MTU-വിലും തിരയാൻ അയയ്ക്കുന്നു, അതേസമയം ഫയർവാൾ നിശ്ശബ്ദമായി കണക്ഷൻ തിന്നുന്നു. നിങ്ങളുടെ ട്രാഫിക് തടഞ്ഞുനിർത്തേണ്ട നിയമം തന്നെയാണ് ആ ട്രാഫിക് തടഞ്ഞുനിർത്തുന്നതിനെ തടയുന്നത്.
പ്രതികരണാത്മക പരിഹാരം ചോർച്ചയെ സ്ഥിരമാക്കുന്നു. sudo ufw allow out on wlan0, അല്ലെങ്കിൽ ഡിഫോൾട്ട് വീണ്ടും അനുവദിക്കാനാക്കുന്നത് ടണൽ ഉയർത്തുകയും മെഷീനെ കിൽ സ്വിച്ച് ഇല്ലാതെ വിടുകയും ചെയ്യുന്നു: അടുത്ത തവണ ടണൽ വീഴുമ്പോൾ എല്ലാം ഭൗതിക അഡാപ്റ്ററിലൂടെ വീണ്ടും തുടങ്ങും. ഞാൻ കൃത്യമായി ആ രണ്ട് മാറ്റങ്ങൾക്ക് ഒരു ഉച്ചയ്ക്ക് ശേഷം നഷ്ടപ്പെടുത്തി, ഞാൻ യഥാർത്ഥത്തിൽ ഏത് പാക്കറ്റാണ് ഫിൽട്ടർ ചെയ്യുന്നതെന്ന് മനസ്സിലാക്കുന്നതിന് മുമ്പ്.
രണ്ട് പാക്കറ്റ് കൂട്ടങ്ങൾക്ക് എന്ത് വേണം
നിങ്ങളുടെ ട്രാഫിക് ഫയർവാൾ രണ്ട് തവണ, രണ്ട് രൂപങ്ങളിൽ കടക്കുന്നു. ആന്തരിക പാക്കറ്റ് ടണൽ വിലാസത്തിൽ നിന്ന് tun0 വഴി പുറത്തേക്ക് പോകുന്നു. ബാഹ്യ പാക്കറ്റ് ഭൗതിക വിലാസത്തിൽ നിന്ന് പിയറിലേക്ക് പോകുന്നു, വയറിൽ കാണുന്ന ഏക കാര്യം അതാണ്. ഓരോ രൂപത്തിനും ഒരു നിയമം:
sudo ufw allow out on tun0
sudo ufw allow out to 203.0.113.10 port 1194 proto udp
sudo ufw allow out to 203.0.113.10 port 443 proto tcp comment 'tcp fallback'
വിലാസവും പോർട്ടും നിങ്ങളുടെ സ്വന്തം പ്രൊഫൈലിലുള്ളവ ഉപയോഗിച്ച് മാറ്റുക. WireGuard പിയറുകൾ സാധാരണയായി 51820/udp-ൽ ഉത്തരം നൽകുന്നു; TCP 443 വഴി പോകുന്ന OpenVPN പ്രൊഫൈലുകൾക്ക് പകരം ആ പോർട്ട് വേണം. വിശദാംശങ്ങൾ വ്യത്യസ്തമാണ്, രൂപം അല്ല: രണ്ട് നിയമങ്ങളും ഇടുങ്ങിയതാണ്, ഒരുമിച്ച് ടണൽ താഴെയിരിക്കുമ്പോൾ മെഷീന് എത്താവുന്ന ഏക ലക്ഷ്യസ്ഥാനങ്ങളെ അവ നിർവചിക്കുന്നു.
ക്രമം രണ്ടാമത്തെ മിഥ്യയാണ്. അസംസ്കൃത iptables-ൽ നിങ്ങൾ ചെയിൻ മുകളിൽ നിന്ന് താഴേക്ക് വായിക്കുകയും ഏത് നിയമം ജയിക്കുന്നുവെന്ന് ചിന്തിക്കുകയും ചെയ്യുന്നു. ufw നിങ്ങൾ ടൈപ്പ് ചെയ്ത ലിസ്റ്റിന്റെ നേർത്ത പൊതിയല്ല; അത് നിങ്ങളുടെ നിയമങ്ങൾ സ്വന്തം ചെയിനുകളിലേക്ക് കംപൈൽ ചെയ്ത് ചേർക്കുന്ന സ്ഥാനങ്ങൾ തിരഞ്ഞെടുക്കുന്നു. ufw status അവ ufw-ന്റെ ക്രമത്തിൽ അച്ചടിക്കുന്നു, നിങ്ങളുടെ ക്രമത്തിൽ അല്ല. ഒരു നിയമം അവഗണിക്കപ്പെട്ടതായി തോന്നുമ്പോൾ, എന്തെങ്കിലും വീണ്ടും എഴുതുന്നതിന് മുമ്പ് ufw show added കംപൈൽ ചെയ്ത കൂട്ടവുമായി iptables -S | grep ufw താരതമ്യം ചെയ്യുക.
ഒഴിവ് ഒരു വിലാസം വീതിയിൽ തുടരണം
പിയർ നിയമം ക്ലയന്റ് ഡയൽ ചെയ്യുന്ന വിലാസം പേരിടുന്നിടത്തോളം മാത്രമേ ശരിയാകൂ. ദാതാക്കൾ എൻഡ്പോയിന്റുകൾ കറക്കുന്നു, ഹോസ്റ്റ്നാമിനെ പരിഹരിക്കുന്ന പ്രൊഫൈൽ DNS മാറ്റത്തെ പിന്തുടർന്ന് പുതിയ വിലാസത്തിലേക്ക് പോകും, അതേസമയം നിയമം പഴയതിലേക്ക് തന്നെ ചൂണ്ടിക്കൊണ്ടിരിക്കും. മാസങ്ങളായി പ്രവർത്തിച്ച ടണൽ ഉയരാതാകുമ്പോൾ, എന്തെങ്കിലും വിശാലമാക്കുന്നതിന് മുമ്പ് നിയമത്തിലെ വിലാസം ക്ലയന്റ് തിരയുന്ന വിലാസവുമായി താരതമ്യം ചെയ്യുക.
മുഴുവൻ സബ്നെറ്റിലേക്കോ പോർട്ട് 1194-ലെ ഓരോ ലക്ഷ്യസ്ഥാനത്തേക്കോ വിശാലമാക്കുന്നത് നയത്തെ വീണ്ടും ദ്വാരമുള്ള ഫയർവാളാക്കി മാറ്റുന്നു. ഒഴിവാണ് കിൽ സ്വിച്ച്; അത് വിശാലമായാൽ, ഇനി ഓഫ് ചെയ്യാൻ ഒന്നുമില്ല. അതിനെ ഒരു വിലാസത്തിൽ നിർത്തി, ഏത് പ്രൊഫൈലിന്റേതും ദാതാവിന്റേതുമാണെന്ന് പേരിടുന്ന ഒരു കമന്റ് വിടുക, കാരണം ആറ് മാസത്തിന് ശേഷം വിലാസം ഏകപക്ഷീയമായി തോന്നും.
പേരുകൾ പരിഹരിക്കുന്നത് അതിന്റെ സ്വന്തം വരിക്ക് അർഹതയുണ്ട്. അന്വേഷണം ടണൽ നിലവിലുണ്ടാകുന്നതിന് മുമ്പ്, ഭൗതിക ഇന്റർഫേസിലൂടെ നടക്കുന്നു, അതിനാൽ കർശനമായ പുറത്തേക്ക്-നിരസിക്കൽ നയം ക്ലയന്റിന് സ്വന്തം സെർവർ കണ്ടെത്താൻ കഴിയാത്തവിധം വിടാം. നിങ്ങളുടെ റിസോൾവറിന്റെ വിലാസത്തിലേക്ക് പോർട്ട് 53 അനുവദിക്കുക, അല്ലെങ്കിൽ ഒരിക്കൽ പരിഹരിച്ച് വിലാസം പ്രൊഫൈലിൽ പിൻ ചെയ്യുക. എല്ലാ ഇന്റർഫേസുകളിലും DNS അനുവദിക്കുന്നത് ഒരു തീരുമാനമാണ്, ഡിഫോൾട്ട് അല്ല.
ടണൽ ആവശ്യമാകുന്നതിന് മുമ്പ് നയം നിർമ്മിക്കുക
ufw enable മുഴുവൻ നയവും ഒരുമിച്ച് പ്രയോഗിച്ച് സ്വന്തം ചെയിനുകൾ വീണ്ടും ലോഡ് ചെയ്യുന്നു, പ്രവർത്തിക്കുന്ന ഫയർവാളിൽ ഡിഫോൾട്ട് നയം മാറ്റുന്നതും അവ വീണ്ടും ലോഡ് ചെയ്യുന്നു. ufw മാന്വൽ ഇത് SSH പോലുള്ള നിലവിലുള്ള കണക്ഷനുകൾ വീഴ്ത്താമെന്ന് മുന്നറിയിപ്പ് നൽകുന്നു. അതിനാൽ കമാൻഡുകൾ ഈ ക്രമത്തിൽ പോകുന്നു, SSH നിയമം സജീവമാക്കുന്നതിന് മുമ്പ്, കൺസോൾ സെഷൻ തുറന്നിരിക്കെ:
sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw allow out on tun0
sudo ufw allow out to 203.0.113.10 port 1194 proto udp
sudo ufw allow 22/tcp
sudo ufw enable
sudo ufw status verbose
ufw reset ബോധപൂർവം ആ ബ്ലോക്കിൽ നിന്ന് ഒഴിവാക്കിയിരിക്കുന്നു. അത് എല്ലാ നിയമവും മായ്ച്ച് ഫയർവാൾ പ്രവർത്തനരഹിതമാക്കുന്നു, വിദൂര ഹോസ്റ്റിൽ തുടർന്നുള്ള സജീവമാക്കലാണ് നിങ്ങളുടെ സെഷൻ വീഴ്ത്തുന്നത്. എന്തായാലും റീസെറ്റ് ചെയ്യുകയാണെങ്കിൽ, SSH നിയമം ചേർത്ത്, മുന്നോട്ട് പോകുന്നതിന് മുമ്പ് കൺസോളിലൂടെ തിരികെ വരാനുള്ള രണ്ടാമത്തെ വഴി ഉറപ്പാക്കുക.
ക്രമം അലങ്കാരമല്ല. ufw പ്രവർത്തിക്കുമ്പോൾ ചേർക്കുന്ന നിയമങ്ങൾ ഒന്നും ഫ്ലഷ് ചെയ്യുന്നില്ല, പക്ഷേ നിങ്ങൾ ഡിഫോൾട്ട് നയം തിരിക്കുന്ന നിമിഷം ചെയിനുകൾ വീണ്ടും ലോഡ് ചെയ്യപ്പെടും, പഴയ നയം അനുവദിച്ച സെഷനും അവയോടൊപ്പം പോകും. ഡിഫോൾട്ടുകളും അനുമതികളും സജീവമാക്കലും ഒരൊറ്റ പാസിൽ ചെയ്യുക, മെഷീനെ ആശ്രയിക്കാത്ത പ്രവേശന മാർഗം ഇനിയും ഉള്ളപ്പോൾ.
തടഞ്ഞ അവസ്ഥ പരിശോധിക്കുക, റദ്ദാക്കൽ സൂക്ഷിക്കുക
പരിശോധിക്കാത്ത കിൽ സ്വിച്ച് ഒരു അനുമാനമാണ്. ക്ലയന്റ് ബോധപൂർവം വിച്ഛേദിച്ച് ഒരു പേജ് ലോഡ് ചെയ്യാൻ ശ്രമിക്കുക: അത് പരാജയപ്പെടണം. വീണ്ടും കണക്ട് ചെയ്യുക, ഒരു നിയമവും തൊടാതെ അത് കരകയറണം. sudo ufw status verbose ഡിഫോൾട്ടുകളും ലോഗിംഗ് അവസ്ഥയും സ്ഥിരീകരിക്കുന്നു, ufw status numbered പരീക്ഷണ നിയമം അതിന്റെ ലക്ഷ്യത്തെ അതിജീവിക്കുമ്പോൾ ഏതാണ് ഇല്ലാതാക്കേണ്ടതെന്ന് കാണിക്കുന്നു.
വിപരീത സ്ക്രിപ്റ്റ് മുന്നോട്ടുള്ളതിന് സമീപം സൂക്ഷിക്കുക. പുറത്തേക്ക്-നിരസിക്കലും മരിച്ച ടണലുമുള്ള മെഷീന് സ്വന്തം നന്നാക്കൽ ഡൗൺലോഡ് ചെയ്യാനാവില്ല, അതിനാൽ റദ്ദാക്കൽ ഡിസ്കിൽ ഉണ്ടായിരിക്കണം, കൺസോളിൽ നിന്ന് വായിക്കാനാകണം:
sudo ufw reset
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
ടണൽ ഇതിനകം താഴെയും നിയമങ്ങൾ നീക്കേണ്ടതുമായ സമയത്ത് അത് പ്രവർത്തിപ്പിക്കുക, സാധാരണ ഘട്ടമായി അല്ല. ടെർമിനൽ അടയ്ക്കുന്നതിന് മുമ്പ് നാല് കാര്യങ്ങൾ ശരിയാകണം: പിയർ നിയമം കൃത്യമായി ഒരു വിലാസം പേരിടുന്നു, DNS-ന് പേരിട്ട ഒഴിവുണ്ട്, സജീവമാക്കൽ അനുമതികൾക്ക് ശേഷം വന്നു, ടണൽ വലിച്ചെടുക്കുന്നത് സാധാരണ ട്രാഫിക്കിനെ കൊല്ലും, ക്ലയന്റിനെ എന്നെന്നേക്കുമായി കൊല്ലില്ല.