ഒരു പരീക്ഷണ LAN-ന് അതിന്റെ സ്വന്തം WireGuard എക്സിറ്റ് എങ്ങനെ നൽകാം
സമർപ്പിത റൂട്ടിംഗ് പട്ടികയും എത്തിച്ചേരാനാകാത്ത കാവൽക്കാരനും ഉപയോഗിച്ച് ഒരു LAN-നെ WireGuard എക്സിറ്റിലേക്ക് പരിമിതപ്പെടുത്തുക; ഗേറ്റ്വേ അതിന്റെ സാധാരണ WAN ഡിഫോൾട്ട് റൂട്ട് നിലനിർത്തുന്നു.
മൂന്ന് രൂപകൽപ്പനകൾ ഒരേ ലാബ് പ്രശ്നം പരിഹരിക്കുന്നു: ഒരു ചെറിയ LAN ഒരു WireGuard പിയർ വഴി പുറത്തുപോകണം, അതേസമയം ഗേറ്റ്വേ തന്നെ അതിന്റെ സാധാരണ അപ്ലിങ്ക് നിലനിർത്തുന്നു. പ്രലോഭിപ്പിക്കുന്ന എളുപ്പവഴി റൗട്ടറിന്റെ ഡിഫോൾട്ട് റൂട്ട് ടണലിനുള്ളിലേക്ക് മാറ്റുന്നതാണ്, പക്ഷേ അത് ബോക്സിന്റെ സ്വന്തം മാനേജ്മെന്റ് പാതയും അത് ഫോർവേഡ് ചെയ്യുന്ന മറ്റെല്ലാം തകർക്കുന്നു. രസകരമായ ഓപ്ഷൻ ഒരു ഇന്റർഫേസിലും ഒരു പ്രിഫിക്സിലും പരിമിതപ്പെടുത്തിയ പോളിസി റൂട്ടിംഗ് ആണ്. നിങ്ങളുടെ കൈവശം യഥാർത്ഥത്തിൽ ഉള്ള യന്ത്രത്തെക്കുറിച്ചുള്ള മൂന്ന് ചോദ്യങ്ങൾക്ക് ഉത്തരം നൽകി അവയ്ക്കിടയിൽ തിരഞ്ഞെടുക്കുക.
എക്സിറ്റ് എവിടെയാണ് താമസിക്കുന്നതെന്ന് തീരുമാനിക്കുക
ആദ്യ ചോദ്യം: ഈ ഹോസ്റ്റ് മറ്റെന്തിനെങ്കിലും ഫോർവേഡ് ചെയ്യുന്നുണ്ടോ? സമർപ്പിത ലാബ് ഗേറ്റ്വേയ്ക്ക് സ്വതവേ എല്ലാം ഉപേക്ഷിക്കുന്ന ഫോർവേഡിംഗ് പോളിസിയുമായി ജീവിക്കാം. ഉൽപ്പാദന ചുമതലകളുള്ള റൗട്ടറിന് അതിന് കഴിയില്ല, കൂടാതെ മാനേജ് ചെയ്യുന്ന ഫയർവാളിന് മുകളിൽ എതിരാളിയായ ഒരു നിയമക്കൂട്ടം വയ്ക്കുന്നതാണ് തടസ്സങ്ങൾ ഷെഡ്യൂൾ ചെയ്യുന്ന രീതി. രണ്ടാമത്: റീബൂട്ടുകൾക്കിടയിൽ രണ്ട് പോളിസി ഒബ്ജക്റ്റുകളും അവയുടെ ക്രമവും നിങ്ങൾക്ക് കൈവശം വയ്ക്കാമോ? മൂന്നാമത്: നിങ്ങളുടെ പിയർ നിങ്ങളുടെ ടണൽ സ്രോതസ്സ് വിലാസം അനുവദിക്കുന്നുണ്ടോ, ഇന്റർനെറ്റ് എക്സിറ്റ് വാഗ്ദാനം ചെയ്യുന്നുണ്ടോ? സ്വകാര്യ നെറ്റ്വർക്ക് മാത്രം വെളിപ്പെടുത്തുന്ന പിയർ മറ്റൊരു ഉൽപ്പന്നമാണ്, ഏതെങ്കിലും തദ്ദേശീയ റൂട്ടിംഗ് മാറ്റം അത് ശരിയാക്കുന്നില്ല. ഏതെങ്കിലും ഉത്തരം ഇല്ല എന്നാണെങ്കിൽ, എക്സിറ്റ് പകരം ഒരു നെയിംസ്പേസിലോ ഒരുതവണ മാത്രം ഉപയോഗിക്കുന്ന വെർച്വൽ മെഷീനിലോ ഇടുക.
നെയിംസ്പേസോ VM-ഓ മെമ്മറി ചെലവാക്കുന്നു, വ്യക്തമായ സ്ഫോടന ആരം നൽകുന്നു. പോളിസി റൂട്ടിംഗ് രണ്ട് നിയമങ്ങൾ ചെലവാക്കുന്നു, ഡീബഗ് ചെയ്യാൻ ഒരു ബോക്സ് മാത്രം വിടുന്നു.
നിങ്ങളുടെ സ്രോതസ്സ് അനുവദിക്കുന്ന എക്സിറ്റ് തിരഞ്ഞെടുക്കുക
ഈ ലാബിലെ മിക്ക പരാജയങ്ങളും ഒരൊറ്റ ഫയർവാൾ നിയമം പോലും നിലവിൽ വരുന്നതിന് മുമ്പാണ് സംഭവിക്കുന്നത്. പരിഭാഷയ്ക്ക് ശേഷം നിങ്ങളുടെ പാക്കറ്റുകൾ വഹിക്കുന്ന സ്രോതസ്സ് വിലാസം എക്സിറ്റ് ഓപ്പറേറ്റർ അംഗീകരിക്കണം, ഈ രൂപകൽപ്പനയിൽ അത് LAN പ്രിഫിക്സല്ല, ടണൽ വിലാസമാണ്. അതുകൊണ്ടാണ് മാസ്കറേഡിംഗ് തുടക്കം മുതൽ രൂപകൽപ്പനയിൽ ഉള്ളത്, പിന്നീടുള്ള കൂട്ടിച്ചേർക്കലായല്ല.
ഓപ്പറേറ്ററുമായി മൂന്ന് കാര്യങ്ങൾ സ്ഥിരീകരിക്കുക: പിയർ നിങ്ങളുടെ ടണൽ വിലാസം അനുവദിക്കുന്നു, അത് സ്വയം അവസാനിക്കുന്നതിനുപകരം IPv4 ഫോർവേഡ് ചെയ്യുന്നു, ഒപ്പം എക്സിറ്റ് NAT പ്രയോഗിക്കുന്നു. ആദ്യത്തേതില്ലാതെ നിങ്ങളുടെ പാക്കറ്റുകൾ എത്തി അപ്രത്യക്ഷമാകുന്നു. മൂന്നാമത്തേതില്ലാതെ അവ സ്വകാര്യ സ്രോതസ്സുമായി പുറത്തുപോയി അടുത്ത ഹോപ്പിൽ മരിക്കുന്നു. തുടർന്ന് wg-quick സ്വന്തം ഡിഫോൾട്ട് റൂട്ട് ഇൻസ്റ്റാൾ ചെയ്യുന്നില്ലെന്ന് പരിശോധിക്കുക, അത് Table = off തടയുന്നു; ആ ക്രമീകരണം റൂട്ട് സൃഷ്ടി അടിച്ചമർത്തുന്നു, പിയറിന്റെ AllowedIPs പരിശോധനകളോ അതിന്റെ DNS കൈകാര്യം ചെയ്യലോ അല്ല.
രണ്ട് പോളിസി ഒബ്ജക്റ്റുകൾ സ്റ്റിയറിംഗ് ചെയ്യുന്നു
സ്റ്റിയറിംഗിന് ഒരു പട്ടികയും ഒരു നിയമവും വേണം. പട്ടികയിൽ രണ്ട് റൂട്ടുകളുണ്ട്: LAN ഇന്റർഫേസിൽ നിന്ന് പുറത്തുപോകുന്ന LAN പ്രിഫിക്സും ടണലിൽ നിന്ന് പുറത്തുപോകുന്ന ഡിഫോൾട്ടും. LAN ഇന്റർഫേസിൽ എത്തി ആ പ്രിഫിക്സ് വഹിക്കുന്ന ട്രാഫിക്കിനെ നിയമം പട്ടികയിലേക്ക് അയയ്ക്കുന്നു. സ്രോതസ്സ് പൊരുത്തത്തോടൊപ്പം iif സെലക്ടർ ഉപയോഗിക്കുക, കാരണം ഗേറ്റ്വേയുടെ സ്വന്തം WireGuard പാക്കറ്റുകൾ പ്രാദേശികമായി ഉണ്ടാകുന്നു, ഒരിക്കലും ഇൻകമിംഗ് ഇന്റർഫേസുമായി പൊരുത്തപ്പെടുന്നില്ല.
കാവൽക്കാരൻ തിരയലിന് മുമ്പ് വരുന്നു, അതിന് ശേഷമല്ല. ആ ക്രമമാണ് രൂപകൽപ്പനയുടെ മുഴുവൻ സുരക്ഷാ സ്വഭാവം.
കാവൽക്കാരൻ അതേ സെലക്ടറിലെ രണ്ടാമത്തെ നിയമമാണ്, അതിന്റെ വിധി unreachable ആണ്. ടണൽ ഉയർന്നിരിക്കുമ്പോൾ തിരയൽ തുടർന്നും വിജയിക്കാൻ അതിന് ഉയർന്ന സംഖ്യാ മുൻഗണന നൽകുക. ടണൽ റൂട്ട് അപ്രത്യക്ഷമാകുമ്പോൾ തിരയൽ ഒന്നും തിരികെ നൽകുന്നില്ല, കൂടാതെ പ്രധാന പട്ടികയിലെ WAN ഡിഫോൾട്ടിലേക്ക് വീഴാൻ അനുവദിക്കുന്നതിനുപകരം കാവൽക്കാരൻ തിരയൽ നിർത്തുന്നു.
ip rule add from 192.168.50.0/24 iif lan0 lookup 51861 pref 1000
ip rule add from 192.168.50.0/24 iif lan0 unreachable pref 1001
ip route add table 51861 default dev wg0
പിൻവാങ്ങൽ വിടവ് തുറക്കുന്നതിന് മുമ്പ് അടയ്ക്കുക
ആദ്യം കാവൽക്കാരനും പിന്നീട് തിരയലും ഇൻസ്റ്റാൾ ചെയ്യുക. മറിച്ച് ചെയ്താൽ കുറച്ച് സെക്കൻഡ് നീളുന്ന ഒരു ജാലകം അവശേഷിക്കും, അതിൽ പരീക്ഷണ ക്ലയന്റിന്റെ ട്രാഫിക് അപ്ലിങ്കിലെത്താം.
ഫിൽട്ടർ ചിത്രം പൂർത്തിയാക്കുന്നു. forward ഹൂക്കിൽ പരീക്ഷണ പ്രിഫിക്സിനായി LAN-ൽ നിന്ന് ടണലിലേക്കുള്ള ദിശയും സ്ഥാപിതമായ മടങ്ങിവരവ് ദിശയും സ്വീകരിച്ച്, ബാക്കിയെല്ലാം ഉപേക്ഷിക്കുക; ആ പ്രിഫിക്സിന്റെ NAT ടണൽ ഇന്റർഫേസിലേക്ക് postrouting-ൽ പോകുന്നു. ഫോർവേഡ് ചെയിനിൽ policy drop വിടുന്നതാണ് കാണാതായ റൂട്ടിനെ ചോർച്ചയ്ക്ക് പകരം നിശബ്ദതയാക്കി മാറ്റുന്നത്. റിവേഴ്സ്-പാത്ത് ഫിൽട്ടറിംഗിന് ടണൽ ഇന്റർഫേസിൽ ലൂസ് മോഡ് വേണം, കാരണം ഡീകാപ്സുലേറ്റ് ചെയ്ത് എത്തുന്ന പൊതു സ്രോതസ്സിന്റെ ഏറ്റവും നല്ല റിവേഴ്സ് റൂട്ട് WAN വശത്താണ്. Linux all, ഓരോ ഇന്റർഫേസ് മൂല്യങ്ങളിൽ ഉയർന്നത് എടുക്കുന്നു, അതിനാൽ ടണൽ ഇന്റർഫേസ് സജ്ജീകരിക്കുന്നത് എല്ലായിടത്തും സാധുത കുറയ്ക്കുന്നതിന് തുല്യമല്ല.
പരാജയ സന്ദർഭം കൊണ്ട് അത് തെളിയിക്കുക
ക്ലയന്റിന്റെ സ്രോതസ്സ് വിലാസവും അത് എത്തുന്ന ഇന്റർഫേസും പേരെടുത്ത് പറഞ്ഞ് കേർണലിനോട് കൃത്യമായ ചോദ്യം ചോദിക്കുക. രണ്ടും ഇല്ലാത്ത തിരയൽ മറ്റൊരു ചോദ്യത്തിന് ഉത്തരം നൽകും, രണ്ട് സന്ദർഭങ്ങളിലും ശരിയാണെന്ന് തോന്നും. തുടർന്ന് ഫയർവാൾ കൗണ്ടറുകൾ, പിയറിന്റെ കൈമാറ്റ നില, ക്ലയന്റിന്റെ സ്വന്തം സേവനം എന്നിവ നോക്കുക.
നീക്കം ശരിയായി പരിശോധിക്കുക. നിയമവും ഫിൽട്ടറും അവയുടെ സ്ഥാനത്ത് നിർത്തി ടണൽ നിർത്തുക: ക്ലയന്റ് നിശ്ചലമാകണം, ഗേറ്റ്വേയുടെ സ്വന്തം ട്രാഫിക് തുടർന്നും പ്രവർത്തിക്കണം. തുടർന്ന് പ്രാദേശിക ഇന്റർഫേസ് തൊടാതെ പിയർ നിർത്തുക, റൂട്ടിന്റെ സാന്നിധ്യത്തിൽ മാത്രം ആശ്രയിക്കുന്ന രൂപകൽപ്പനകളെ പിടിക്കുന്നത് ഈ സന്ദർഭമാണ്. അവസാനം റീബൂട്ട് ചെയ്ത് നിയമങ്ങളുടെ ക്രമം വീണ്ടും പരിശോധിക്കുക, കാരണം കാവൽക്കാരനെ നീക്കുന്ന ടിയർഡൗൺ ഹൂക്ക് മുഴുവൻ രൂപകൽപ്പനയും പ്രധാന പട്ടികയ്ക്ക് തിരികെ നൽകുന്നു. പട്ടിക നമ്പർ, മുൻഗണനകൾ, ഇന്റർഫേസ് പേരുകൾ എന്നിവ മാറ്റ ടിക്കറ്റിൽ രേഖപ്പെടുത്തുക, കാരണം അടുത്തതായി നിയമം ചേർക്കുന്ന വ്യക്തിയാണ് ഇത് തകർക്കുന്നത്.