FORWARD, OUTPUT, IPv6 എന്നിവ ഉൾക്കൊള്ളുന്ന റൂട്ടർ കിൽ സ്വിച്ച്
FORWARD-ൽ മാത്രമുള്ള കിൽ സ്വിച്ച് റൂട്ടറിനെ തന്നെ ചോരാൻ അനുവദിക്കുന്നു, IPv4-ൽ മാത്രമുള്ള നിയമങ്ങൾ IPv6 തുറന്നിടുന്നു. ചെയിനുകൾ ക്രമീകരിച്ച് ടണൽ താഴെയുള്ളപ്പോൾ പരിശോധിക്കുക.
നിങ്ങൾ റൂട്ടറിലേക്ക് ലോഗിൻ ചെയ്ത് ഒരു ഫോറം പോസ്റ്റിൽ നിന്ന് കിൽ സ്വിച്ച് നിയമക്കൂട്ടം പേസ്റ്റ് ചെയ്യുന്നു, ടണൽ വീഴുന്ന നിമിഷം LAN ബ്രൗസിംഗ് നിലയ്ക്കുന്നു. രണ്ട് ദിവസത്തിന് ശേഷവും റൂട്ടർ സാധാരണ WAN വഴി അതിന്റെ ഡൈനാമിക് DNS റെക്കോർഡ് അപ്ഡേറ്റ് ചെയ്യുന്നു, അതിഥി ലാപ്ടോപ്പ് ഇപ്പോഴും IPv6 സൈറ്റുകളിൽ എത്തുന്നു. രണ്ട് പെരുമാറ്റങ്ങളും സാധാരണമാണ്, കാരണം പേസ്റ്റ് ചെയ്ത നിയമങ്ങൾ ഒരു ചെയിനും ഒരു വിലാസ കുടുംബവും മാത്രമാണ് ഉൾക്കൊണ്ടിരുന്നത്, അവയിൽ ഒന്നും മുഴുവൻ റൂട്ടറല്ല. പാക്കറ്റ് പാതകൾ ക്രമത്തിൽ നടന്നാൽ എന്താണ് വിട്ടുപോയതെന്ന് കൃത്യമായി കാണാം.
ലാപ്ടോപ്പിൽ നിന്നല്ല, റൂട്ടറിൽ നിന്ന് തുടങ്ങുക
റൂട്ടർ തലത്തിലുള്ള നയം ഒരു ചെറിയ ഓഫീസിന് ആകർഷകമാണ്, കാരണം അതിന് പിന്നിലുള്ള ഓരോ ഉപകരണവും ഒരേ പെരുമാറ്റം പാരമ്പര്യമായി നേടുന്നു, ആരും ഒരു ക്ലയന്റ് സ്വിച്ച് പ്രവർത്തനക്ഷമമാക്കാൻ മറക്കില്ല. ഓരോ ഫേംവെയർ അപ്ഡേറ്റിന് ശേഷം പരിശോധിക്കാൻ ഒരിടവും ഇത് നൽകുന്നു. എന്നാൽ റൂട്ടറിന്റെ സ്വന്തം ട്രാഫിക്കിന്റെയോ രണ്ടാമത്തെ വിലാസ കുടുംബത്തിന്റെയോ സ്വയമേവയുള്ള പരിധി ഇത് നൽകുന്നില്ല, മിക്ക പരാജയപ്പെട്ട വിന്യാസങ്ങൾക്കും പിന്നിലുള്ള രണ്ട് വിടവുകൾ അവയാണ്.
എന്തെങ്കിലും തിരുത്തുന്നതിന് മുമ്പ് കടലാസിൽ മൂന്ന് കാര്യങ്ങൾ കുറിക്കുക: WAN ഇന്റർഫേസ് പേര്, LAN ബ്രിഡ്ജ് പേര്, VPN എൻഡ്പോയിന്റ് വിലാസവും പോർട്ടും. നിയമങ്ങളിൽ ഈ മൂന്നും വേണം, ഇന്റർഫേസ് പേരുകൾ ഊഹിക്കുന്നതാണ് ശരിയായി തോന്നുന്ന ഒരു നിയമക്കൂട്ടം ഒന്നും ചെയ്യാതിരിക്കാനുള്ള ഏറ്റവും സാധാരണ കാരണം.
ഒരു പാക്കറ്റ് സഞ്ചരിക്കാവുന്ന മൂന്ന് പാതകളിലൂടെ നടക്കുക
ലാപ്ടോപ്പിൽ നിന്ന് ഇന്റർനെറ്റിലേക്കുള്ള ട്രാഫിക് ഫോർവേഡ് ചെയ്യപ്പെടുന്നു, അതിനാൽ അത് FORWARD ചെയിനിലൂടെ കടന്നുപോകുന്നു. റൂട്ടർ തന്നെ സൃഷ്ടിക്കുന്ന ട്രാഫിക്, ഉദാഹരണത്തിന് DNS ഫോർവേഡിംഗ്, NTP ക്വറികൾ, DDNS അപ്ഡേറ്റുകൾ, VPN നിയന്ത്രണ ചാനൽ, OUTPUT വഴി കടന്നുപോകുന്നു. റൂട്ടറിലേക്ക് അയക്കുന്ന മാനേജ്മെന്റ് ട്രാഫിക് INPUT വഴി എത്തുന്നു.
അതിനാൽ FORWARD-ൽ മാത്രം നിർമ്മിച്ച കിൽ സ്വിച്ച് ക്ലയന്റുകളെ സംരക്ഷിക്കുന്നു, മറ്റൊന്നും അല്ല. ആമുഖത്തിലെ ചോർച്ച നിഗൂഢമല്ല, പ്രവചനീയമാണ് എന്നതിന്റെ കാരണം പട്ടിക കാണിക്കുന്നു.
| Packet path | Example | Chain that sees it |
|---|---|---|
| LAN client to WAN or tunnel | Browser request | FORWARD |
| Router-originated | DDNS update, NTP | OUTPUT |
| Addressed to the router | SSH from the LAN | INPUT |
മിക്ക രൂപകൽപ്പനകളിലും INPUT-ൽ കിൽ സ്വിച്ച് ആവശ്യമില്ല, പക്ഷേ ടണൽ താഴെയുള്ളപ്പോൾ മാനേജ്മെന്റ് പ്രവേശനം പ്രവർത്തിക്കുന്നതായി നിലനിർത്തണം. അല്ലാത്തപക്ഷം, VPN ആദ്യമായി പരാജയപ്പെടുമ്പോൾ കൺസോൾ കേബിളുമായി ഓഫീസിലേക്ക് വണ്ടിയോടിക്കേണ്ടിവരും.
ടണലിന് ഇപ്പോഴും ഉയരാൻ കഴിയുന്ന വിധത്തിൽ നിയമങ്ങൾ ക്രമീകരിക്കുക
പ്രവർത്തിക്കുന്ന കിൽ സ്വിച്ച് ഒരു നിരസനത്തിൽ അവസാനിക്കുന്ന അനുവദനീയ പട്ടികയാണ്, അതിനെ ഇഷ്ടികയല്ലാതെ കിൽ സ്വിച്ചാക്കുന്നത് ക്രമമാണ്. ആദ്യം ലൂപ്പ്ബാക്ക്, VPN എൻഡ്പോയിന്റ്, സ്ഥാപിത ഫ്ലോകളുടെ മറുപടികൾ, ടണൽ ഇന്റർഫേസ് എന്നിവ അനുവദിക്കുക; ബാക്കിയുള്ളവ അവസാനം നിരസിക്കുക.
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -d 198.51.100.7 -p udp --dport 51820 -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o wg0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j REJECT
ഈ ഘട്ടത്തിൽ എൻഡ്പോയിന്റ് ഒരു വിലാസമായിരിക്കണം, ഹോസ്റ്റ്നാമമല്ല. അവസാന നിരസനം DNS തടയുമ്പോൾ, പ്രൊവൈഡറുടെ ഹോസ്റ്റ്നാമം പേരിടുന്ന നിയമം ഇനി റിസോൾവ് ചെയ്യാനാവില്ല, കൂടാതെ റീബൂട്ടിന് ശേഷം ടണൽ വീണ്ടും ഒരിക്കലും ആരംഭിക്കുന്നില്ല. പ്രൊവൈഡർ എൻഡ്പോയിന്റുകൾ മാറ്റുന്നുവെങ്കിൽ, നയം പ്രയോഗിക്കുന്നതിന് മുമ്പ് പേര് റിസോൾവ് ചെയ്ത് അതേ സ്ക്രിപ്റ്റിൽ നിന്ന് ആ നിയമം പുതുക്കുക.
ക്ലയന്റ് ട്രാഫിക്കിനും FORWARD-ൽ അതേ രൂപം പകർത്തുക, നിരസനത്തിന് മുകളിൽ വ്യക്തമായ ഒരു മാനേജ്മെന്റ് നിയമം വയ്ക്കുക. ആ മാനേജ്മെന്റ് നിയമം ഇടുങ്ങിയതാക്കി എത്താവുന്നതായി നിലനിർത്തുക, ആദ്യ SSH സെഷൻ അടയ്ക്കുന്നതിന് മുമ്പ് രണ്ടാമത്തെ സെഷൻ തുറന്ന് അത് സ്ഥിരീകരിക്കുക. കിൽ സ്വിച്ച് മാറ്റുമ്പോൾ സ്വയം പുറത്താക്കപ്പെടുന്നത് ആസൂത്രണം ചെയ്യാൻ മാത്രം സാധാരണമാണ്. WireGuard ഓടുന്ന റൂട്ടറിൽ, പിയറിന്റെ allowed-ips ടണലിലേക്ക് എന്ത് പ്രവേശിക്കുന്നു എന്ന് തീരുമാനിക്കുന്നു, അതേസമയം ഈ നിയമങ്ങൾ അതില്ലാതെ എന്ത് പുറത്തുപോകാം എന്ന് തീരുമാനിക്കുന്നു.
IPv6-ന് സ്വന്തം മുൻവാതിൽ വേണം
മുകളിലുള്ളതെല്ലാം IPv4 ആണ്. നിങ്ങളുടെ LAN-ൽ പ്രവർത്തിക്കുന്ന IPv6 ഉണ്ടെങ്കിൽ, ടണൽ IPv4 മാത്രം വഹിക്കുന്നുവെങ്കിൽ, ഉൾക്കൊള്ളുന്ന ഓരോ ഉപകരണത്തിനും നിങ്ങളുടെ പുതിയ നിയമങ്ങൾ ഒരിക്കലും കാണാത്ത ഇന്റർനെറ്റിലേക്കുള്ള നേരിട്ടുള്ള പാത ഇപ്പോഴും ഉണ്ട്. ഡ്യുവൽ-സ്റ്റാക്ക് ലാപ്ടോപ്പ് അത് സന്തോഷത്തോടെ തിരഞ്ഞെടുക്കും, IPv4 ഉപയോഗിച്ച് പരിശോധിക്കുന്നയാൾക്ക് മാത്രം കിൽ സ്വിച്ച് തകർന്നതായി തോന്നും.
ip6tables -A FORWARD -i br-lan -j REJECT
ip6tables -A OUTPUT -o eth0 -j REJECT
ip6tables -A OUTPUT -o lo -j ACCEPT
ഇവിടെയും ക്രമം പ്രധാനമാണ്: ലൂപ്പ്ബാക്ക് അനുവാദം WAN നിരസനത്തിന് മുമ്പ് വരണം, അല്ലെങ്കിൽ റൂട്ടറിലെ ലോക്കൽ സേവനങ്ങൾ വിചിത്രമായ രീതിയിൽ പരാജയപ്പെടാൻ തുടങ്ങും. നെറ്റ്വർക്ക് IPv6 ഒട്ടും ഉപയോഗിക്കുന്നില്ലെങ്കിൽ, WAN-ലും LAN-ലും അത് പ്രവർത്തനരഹിതമാക്കുന്നത് ലളിതവും മറക്കാൻ ഒന്നും ബാക്കിയാക്കുന്നതുമാണ്.
ചില VPN ക്ലയന്റുകൾ IPv4-ന് മാത്രം ഒരു ഡിഫോൾട്ട് റൂട്ട് ഇൻസ്റ്റാൾ ചെയ്യുകയും നിലവിലുള്ള IPv6 ഡിഫോൾട്ട് തൊടാതെ വിടുകയും ചെയ്യുന്നു. ക്ലയന്റ് അത് കൈകാര്യം ചെയ്തുവെന്ന് അനുമാനിക്കാതെ ടണൽ കണക്ട് ചെയ്തതിന് ശേഷം റൂട്ടിംഗ് ടേബിൾ പരിശോധിക്കുക.
ടണൽ താഴെയുള്ളപ്പോൾ അത് തെളിയിക്കുക
റൂട്ടറിൽ നിന്ന് ടണൽ നിർത്തി ഈ ക്രമത്തിൽ മൂന്ന് സ്ഥലങ്ങളിൽ നിന്ന് പരിശോധിക്കുക:
# systemctl stop wg-quick@wg0
# ip route get 203.0.113.1
# curl -m 5 -sS http://example.com || echo blocked
# iptables -vnL OUTPUT | head
# ip6tables -vnL OUTPUT | head
റൂട്ട് ലുക്കപ്പ് ഒരു പാക്കറ്റ് എവിടേക്ക് പോകുമെന്ന് പറയുന്നു, കൗണ്ടറുകൾ നിങ്ങളുടെ നിയമങ്ങൾ എപ്പോഴെങ്കിലും പൊരുത്തപ്പെട്ടോ എന്ന് പറയുന്നു. പരാജയപ്പെട്ട പരിശോധനയ്ക്ക് ശേഷം പാക്കറ്റുകൾ ഇല്ലാത്ത ഒരു നിയമം ഒന്നിനെയും സംരക്ഷിക്കുന്നില്ല, സാധാരണ കാരണം നിങ്ങൾ ടൈപ്പ് ചെയ്തതിൽ നിന്ന് വ്യത്യസ്തമായ ഇന്റർഫേസ് പേരാണ്. LAN വശത്തെ പരിശോധനയ്ക്ക് OUTPUT പ്രവർത്തിപ്പിക്കാനാവില്ലാത്തതിനാൽ, റൂട്ടർ സൃഷ്ടിക്കുന്ന ട്രാഫിക് വ്യക്തമായി പരിശോധിക്കുക.
ആവശ്യമാകുന്നതിന് മുമ്പ് പരാജയ മോഡ് തീരുമാനിക്കുക. fail-closed ടണൽ മടങ്ങിവരുന്നതുവരെ ക്ലയന്റുകളെ ഓഫ്ലൈനായി നിർത്തുന്നു; fail-open സാധാരണ WAN പ്രവേശനം പുനഃസ്ഥാപിക്കുകയും നിങ്ങൾ ശ്രദ്ധിച്ച ട്രാഫിക്കിന്റെ ഉദ്ദേശ്യം തോൽപ്പിക്കുകയും ചെയ്യുന്നു. ഉയർന്ന മെട്രിക് ഉള്ള VPN പൂളിലേക്കുള്ള ബ്ലാക്ക്ഹോൾ റൂട്ട് fail-closed രൂപകൽപ്പനകൾക്ക് ഉപയോഗപ്രദമായ രണ്ടാം പാളിയാണ്, കാരണം ടണൽ റൂട്ട് അപ്രത്യക്ഷമാകുമ്പോൾ ഡിഫോൾട്ടിലേക്ക് പിൻവാങ്ങാതെ അത് നിലനിൽക്കുന്നു.
LAN ക്ലയന്റ്, റൂട്ടർ സൃഷ്ടിച്ച അഭ്യർത്ഥന, IPv6 അഭ്യർത്ഥന എന്നിവ മൂന്നും ടണൽ താഴെയുള്ളപ്പോൾ പരാജയപ്പെടുകയും ടണൽ ഉയർന്നാൽ മൂന്നും വീണ്ടും പ്രവർത്തിക്കുകയും ചെയ്യുമ്പോൾ മാത്രം ക്രമീകരണം സ്വീകരിക്കുക.