പേരുകൾ വിലാസങ്ങളായി പരിഹരിക്കപ്പെടുന്നു, ആ വിലാസങ്ങൾ പിന്നീട് റൂട്ടിംഗിനെ സ്വാധീനിക്കുന്ന ഫയർവാൾ സെറ്റിൽ എത്താം, അത് പ്രോക്സി ഇല്ലാതെ പേരടിസ്ഥാനമാക്കിയ സ്റ്റിയറിംഗ് സാധ്യമാക്കുന്നു. കെണി എന്തെന്നാൽ നാല് ഘടകങ്ങൾ ശരിയായി കൈമാറണം: റിസോൾവർ, സെറ്റ്, പുതിയ ഫ്ലോ അടയാളപ്പെടുത്തുന്ന വർഗ്ഗീകരണി, അത് വഹിക്കുന്ന പിയർ. ഓരോ കൈമാറ്റവും വ്യത്യസ്തമായി പരാജയപ്പെടുന്നു, ഓരോന്നും സ്വന്തം സമയം സൂക്ഷിക്കുന്നു.

ഡിസൈൻ ഒരു കോൺഫിഗറേഷനല്ല, ഒരു ശൃംഖലയായി കാണുക. ഓരോ ഘട്ടത്തിലെയും ചോദ്യം ഏത് ഘടകമാണ് തീരുമാനം കൈവശം വയ്ക്കുന്നത്, അതിന്റെ ഇൻപുട്ട് ഇല്ലാത്തപ്പോൾ എന്ത് സംഭവിക്കുന്നു എന്നതാണ്.

DNS ഉത്തരത്തിന് എന്ത് ചെയ്യാനാകും, എന്ത് ചെയ്യാനാകില്ല

dnsmasq ഉത്തരങ്ങളിൽ നിന്ന് വിലാസങ്ങൾ nftables സെറ്റിലേക്ക് പകർത്താം, അത് പോഷണമാണ്, റൂട്ടിംഗ് തീരുമാനമല്ല. ആ ഓപ്ഷൻ, dnsmasq കൈപ്പുസ്തകത്തിൽ രേഖപ്പെടുത്തിയിരിക്കുന്നത്, കുടുംബം, പട്ടിക, സെറ്റ് എന്നിവ പേരിടുന്നു, അതിന്റെ ആദ്യത്തെ 4# A റെക്കോർഡുകൾ മാത്രം തിരഞ്ഞെടുക്കുന്നു, അതിനാൽ v6 ലക്ഷ്യങ്ങൾക്ക് സ്വന്തം ക്രമീകരണം വേണം. സെറ്റ് മുൻകൂട്ടി നിലനിൽക്കണം, കാരണം റിസോൾവർ ഫയർവാൾ ഉടമ സൃഷ്ടിച്ചതിലേക്ക് ഘടകങ്ങൾ ചേർക്കുന്നു. ആ ഘട്ടത്തിൽ ഒന്നും ഇന്റർഫേസോ പട്ടികയോ പിയറോ തിരഞ്ഞെടുക്കുന്നില്ല.

ക്ലയന്റും പേരിനായി ആ റിസോൾവർ ഉപയോഗിക്കണം. സ്വന്തം എൻക്രിപ്റ്റ് ചെയ്ത DNS ഉള്ള ആപ്പ്, അല്ലെങ്കിൽ നയം നിലവിൽ വരുന്നതിന് മുൻപുള്ള കാഷ് ഉത്തരം, സെറ്റിൽ ഒരു എൻട്രിയും ഉണ്ടാക്കാതെ ബന്ധിപ്പിക്കുന്നു.

സെറ്റ് ഇൻപുട്ടാണ്, റൂട്ടല്ല

സെറ്റിലെ ഘടകം ഒരു പൊരുത്ത ഷർത്താണ്. എന്തെങ്കിലും അതിൽ നോക്കി, ഈ പാക്കറ്റ് പുതിയ ഫ്ലോ തുടങ്ങുന്നു എന്ന് തീരുമാനിച്ച്, ഫ്ലോയെ ടണലിലൂടെ അയയ്ക്കുന്ന നയം പ്രയോഗിക്കണം. Linux ൽ ഇത് സാധാരണയായി അടയാളം വയ്ക്കാൻ കഴിയുന്ന റൂട്ടിംഗ് സാമർഥ്യമുള്ള ഔട്ട്പുട്ട് പാത, അടയാളപ്പെടുത്തിയ പാക്കറ്റുകളെ സമർപ്പിത പട്ടികയിലേക്ക് അയയ്ക്കുന്ന നിയമം, ആ പട്ടികയിൽ WireGuard ഉപകരണത്തിലേക്ക് ചൂണ്ടുന്ന റൂട്ട് എന്നിവയാണ് അർഥമാക്കുന്നത്. അംഗത്വം മാത്രം ഇവയൊന്നും ഇൻസ്റ്റാൾ ചെയ്യുന്നില്ല.

nft add set inet vpn_select office_v4 { type ipv4_addr\; }
ip rule add fwmark 0x40 table 200
ip route add default dev wg0 table 200
wg show wg0 allowed-ips

പിയർ ആളുകൾ മറക്കുന്ന രണ്ടാമത്തെ കവറേജ് പരിശോധന നടത്തുന്നു. WireGuard അനുവദിച്ച വിലാസങ്ങളിൽ ലക്ഷ്യം ഉള്ള പിയറിന് മാത്രമാണ് പാക്കറ്റ് എൻക്രിപ്റ്റ് ചെയ്യുന്നത്, അതിനാൽ പിയറിന്റെ പട്ടിക ആ പ്രിഫിക്സ് ഒഴിവാക്കുമ്പോൾ ഇന്റർഫേസിലേക്കുള്ള നയ-റൂട്ട് മതിയാകില്ല. പട്ടിക മാനേജർ യാദൃച്ഛികമായി സൃഷ്ടിക്കുന്ന റൂട്ടിനെ ആശ്രയിക്കാതെ റൂട്ടിംഗ് ഉടമയുടെ നിയന്ത്രണത്തിൽ സൂക്ഷിക്കുക.

അടയാളങ്ങൾ, പട്ടികകൾ, പിയർ കവറേജ്

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

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

ഓരോ ആയുസ്സും വെവ്വേറെ പരിശോധിക്കുക

മൂന്ന് സംഭരണികൾ മൂന്ന് ഷെഡ്യൂളുകൾ പ്രകാരം പഴകുന്നു: റിസോൾവർ കാഷ്, സെറ്റിലെ ഘടകങ്ങൾ, ട്രാക്ക് ചെയ്യുന്ന കണക്ഷൻ. അവ ആ ക്രമത്തിൽ പരിശോധിച്ച് ഓരോന്നും വേണ്ടപ്പോൾ നീങ്ങുന്നുണ്ടോ എന്ന് നോക്കുക. താഴെയുള്ള കമാൻഡുകൾ ഒന്നും മാറ്റാതെ റിസോൾവർ, സെറ്റ്, കണക്ഷൻ പട്ടിക, നയ നിയമങ്ങൾ എന്നിവ വായിക്കുന്നു.

dig +short office.example
nft list set inet vpn_select office_v4
conntrack -L -d 10.60.8.15
ip rule show

ഘടകം ചേർക്കുന്ന പുതിയ തിരച്ചിൽ പോഷണം പ്രവർത്തിക്കുന്നു എന്ന് തെളിയിക്കുന്നു, സ്വന്തം ഉത്തരത്തെ അതിജീവിക്കുന്ന പഴയ ഘടകം എഴുതിവയ്ക്കാൻ യോഗ്യമായ ആയുസ്സ് പൊരുത്തക്കേടാണ്. കണക്ഷൻ പട്ടികയിൽ പ്രതീക്ഷിച്ച അടയാളത്തോടെ പുതിയ കണക്ഷൻ പ്രത്യക്ഷപ്പെടുന്നത് വർഗ്ഗീകരണി പ്രവർത്തിച്ചു എന്ന് കാണിക്കുന്നു, പഴയ കണക്ഷൻ അതിന്റെ യഥാർഥ അടയാളം നിലനിർത്തുന്നത് തകരാറല്ല, ശരിയായ പെരുമാറ്റമാണ്. നിയമങ്ങളുടെ പട്ടിക നയ-തിരച്ചിൽ ഉണ്ടോ എന്ന് ഉത്തരം നൽകുന്നു, ഇത് അത് പൊരുത്തപ്പെട്ടോ എന്നതിൽ നിന്ന് വ്യത്യസ്തമായ ചോദ്യമാണ്. നാല് ഔട്ട്പുട്ടുകൾ ആ ക്രമത്തിൽ വായിക്കുക, പരാജയപ്പെട്ട കൈമാറ്റം സ്വയം വെളിപ്പെടും.

ഒരു പ്രത്യേക പേര് എപ്പോഴും ഒരു പാത മാത്രം ഉപയോഗിക്കണം എന്നതാണ് ആവശ്യമെങ്കിൽ, DNS നൽകുന്ന സെറ്റിന് അത് തെളിയിക്കാനാകില്ല, കാരണം പങ്കിട്ട വിലാസങ്ങൾ മറ്റ് പേരുകളും വഹിക്കുന്നു. പ്രോക്സിയോ ആപ്ലിക്കേഷൻ തലത്തിലുള്ള സംവിധാനമോ ആണ് ആ ഉറപ്പിന്റെ ഉപകരണം.

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