XFRM ഇന്റർഫേസുമായി റൂട്ട് അധിഷ്ഠിത IPsec എങ്ങനെ പ്രവർത്തിക്കുന്നു
XFRM ഇന്റർഫേസ് റൂട്ട് അധിഷ്ഠിത IPsec-ന് റൂട്ട് ചെയ്യാനുള്ള ഒരു ഉപകരണം നൽകുന്നു. if_id, അതിനു പിന്നിലെ സുരക്ഷാ അസോസിയേഷനുകൾ, പുറം റൂട്ട് എന്നിവയെല്ലാം ഒത്തുപോകണം.
റൂട്ട് അധിഷ്ഠിത IPsec റൂട്ടിംഗ് പട്ടികയ്ക്ക് മുമ്പ് പോളിസി സെലക്ടർമാർ എടുത്തിരുന്ന തീരുമാനം നൽകുന്നു. Linux-ൽ ഇത് സാധ്യമാക്കുന്ന ഭാഗം XFRM ഇന്റർഫേസാണ്: സെലക്ടർ വഴിയല്ല, ഇന്റർഫേസ് ഐഡന്റിഫയർ വഴി ട്രാഫിക് IPsec അവസ്ഥയുമായി ഒത്തുനോക്കുന്ന ഒരു വെർച്വൽ ഉപകരണം. ഒന്ന് സൃഷ്ടിക്കാൻ ഒരു കമാൻഡ് മതി, ടണൽ ഉണ്ടോ എന്നതിനെക്കുറിച്ച് അത് ഒന്നും തെളിയിക്കുന്നില്ല. ഉപകരണം റൂട്ടിംഗിനും സുരക്ഷാ പോളിസിക്കും ഇടയിലുള്ള ഒരു കൊളുത്താണ്, എന്തെങ്കിലും സംരക്ഷിക്കപ്പെടുന്നതിന് മുമ്പ് ആ കൊളുത്തിന്റെ ഇരുവശവും ക്രമീകരിക്കണം.
ഉപകരണം എന്താണ്, എന്തല്ല
XFRM ഇന്റർഫേസ് ഒരു റൂട്ടിംഗ് ഹാൻഡിലാണ്. അതിലേക്ക് റൂട്ട് ചെയ്യുന്ന പാക്കറ്റുകൾ അതേ ഇന്റർഫേസ് ഐഡന്റിഫയർ പരാമർശിക്കുന്ന XFRM പോളിസികളുമായി ഒത്തുനോക്കുന്നു, പോളിസിയും അവസ്ഥയും ഉണ്ടെങ്കിൽ അവ എൻകാപ്സുലേറ്റ് ചെയ്യുന്നു. അവയില്ലാതെ ഇന്റർഫേസ് നിലനിൽക്കുന്നു, കൗണ്ടറുകൾ നിശ്ചലമാകുന്നു, ട്രാഫിക് ഉപയോഗമില്ലാത്തിടത്തേക്ക് പോകുന്നു.
ഇതാണ് ആദ്യ ഡയഗ്നോസ്റ്റിക് വിഭജനം. ഉപകരണത്തിലേക്കുള്ള റൂട്ട് ഒരു റൂട്ടിംഗ് വസ്തുതയാണ്, ഇൻസ്റ്റാൾ ചെയ്ത അവസ്ഥ ഒരു സുരക്ഷാ വസ്തുതയാണ്, ഉപകരണത്തിൽ ഉയരുന്ന കൗണ്ടർ ഇവ രണ്ടുമല്ല. ഇന്റർഫേസ് UP കാണിക്കുന്നതിനാൽ ടണൽ ഉയർന്നിട്ടുണ്ടെന്ന് ആളുകൾ പറയുമ്പോൾ, സ്വന്തം ജോടിയില്ലാത്ത ഒരു വെർച്വൽ ഉപകരണത്തിന്റെ ലിങ്ക് ഫ്ലാഗുകളാണ് അവർ വിവരിക്കുന്നത്. ഫ്ലാഗിന്റെ അർത്ഥം ഉപകരണം സൃഷ്ടിക്കപ്പെട്ടു, സജീവമാക്കപ്പെട്ടു എന്നത്രയാണ്.
ഒരു അതിർത്തി കൂടി: ഇന്റർഫേസ് ഐഡന്റിഫയർ ഒരു പേരല്ല. സമാന പേരുകളും വ്യത്യസ്ത ഐഡന്റിഫയറുകളുമുള്ള രണ്ട് ഉപകരണങ്ങൾ അവസ്ഥ പങ്കിടുന്നില്ല, തെറ്റായ ഐഡന്റിഫയർ ഉപയോഗിച്ച് ക്രമീകരിച്ച കണക്ഷൻ ഒരു റൂട്ടും ഒരിക്കലും ഉപയോഗിക്കാത്ത അവസ്ഥ ഇൻസ്റ്റാൾ ചെയ്യുന്നു.
ശരിയായ ക്രമത്തിൽ ഒന്ന് നിർമ്മിക്കുക
പുറം ഉപകരണവും ഡീമൺ ക്രമീകരണത്തിലും ചേർക്കുന്ന ഒരു സംഖ്യയും കൊണ്ട് തുടങ്ങുക. ഉദാഹരണം പുറം ഇന്റർഫേസായി eth0 ഉം ഐഡന്റിഫയറായി 42 ഉം ഉപയോഗിക്കുന്നു, ഇവ നിങ്ങളുടേത് കൊണ്ട് മാറ്റേണ്ട വിലാസങ്ങളാണ്.
ഉപകരണം ഉയർത്തുക, തുടർന്ന് VPN ക്രമീകരണത്തിൽ സ്പർശിക്കുന്നതിന് മുമ്പ് കേർണൽ രേഖപ്പെടുത്തിയ ഐഡന്റിഫയർ സ്ഥിരീകരിക്കുക:
sudo ip link add xfrm0 type xfrm dev eth0 if_id 42
sudo ip link set xfrm0 up
ip -d link show xfrm0 | grep -o 'if_id [0-9]*'ഇപ്പോൾ strongSwan-ൽ അതേ ഐഡന്റിഫയർ ഉപയോഗിച്ച് കണക്ഷൻ ക്രമീകരിക്കുക, കാരണം ഡീമൺ അതിനെ പരാമർശിക്കുന്ന പോളിസികളും അവസ്ഥകളും ഇൻസ്റ്റാൾ ചെയ്യണം. പ്രാദേശിക, വിദൂര ട്രാഫിക് സെലക്ടർമാരെ റൂട്ട് ചെയ്യാൻ ഉദ്ദേശിക്കുന്ന ശ്രേണിയിലേക്ക് ക്രമീകരിച്ച്, ആ ശ്രേണി ഉപകരണത്തിലേക്ക് റൂട്ട് ചെയ്യുക. ഡീമൺ ക്രമീകരണവും റൂട്ടിംഗ് പട്ടികയും ഐഡന്റിഫയറിലും ലക്ഷ്യസ്ഥാനങ്ങളിലും യോജിക്കണം, ഒന്നും മറ്റൊന്ന് നൽകുന്നില്ല.
IKE-ഉം ESP-ഉം ടണൽ റൂട്ടിന് പുറത്ത് നിർത്തുക
XFRM ഉപകരണത്തിലേക്ക് ചൂണ്ടുന്ന സ്ഥിര റൂട്ട് എൻകാപ്സുലേറ്റ് ചെയ്ത പാക്കറ്റുകളും അവ വഹിക്കുന്ന ട്രാഫിക്കും പിടിക്കുന്നു. ഫലം ഒരു ലൂപ്പാണ്: ഗേറ്റ്വേ തന്റെ ESP ESP നിർമ്മിക്കേണ്ട ടണലിലൂടെ അയക്കാൻ ശ്രമിക്കുന്നു.
പരിഹാരം ജോടിയുടെ പുറം വിലാസത്തിനായി കൂടുതൽ നിർദ്ദിഷ്ടമായ ഒരു റൂട്ട് ഫിസിക്കൽ ഇന്റർഫേസിലൂടെ നൽകുകയാണ്, അത് കൂടുതൽ ബിറ്റുകളുമായി ഒത്തുപോകുന്നതിനാൽ സ്ഥിര റൂട്ടിനെ തോൽപ്പിക്കുന്നു. പല ടണലുകൾ ഒരു പട്ടിക പങ്കിടുമ്പോൾ അടയാള അധിഷ്ഠിത റൂട്ടിംഗ് ഇതേ ജോലി ചെയ്യുന്നു, റൂട്ട് അധിഷ്ഠിത വിന്യാസങ്ങൾക്കായി strongSwan രണ്ട് സമീപനങ്ങളും രേഖപ്പെടുത്തുന്നു.
നിങ്ങൾ എന്ത് തിരഞ്ഞെടുത്താലും, പുറം പാക്കറ്റ് എൻകാപ്സുലേഷൻ ഇല്ലാതെ പുറത്തുപോകുന്നുവെന്ന് പരിശോധിക്കുക. ടണൽ ഉയർന്നതിന് ശേഷം ജോടിയുടെ പുറം വിലാസത്തിലേക്ക് ping ചെയ്യുകയാണ് വേഗത്തിലുള്ള പരിശോധന; ഇന്റർഫേസ് ഉയർന്നിരിക്കെ അത് പരാജയപ്പെട്ടാൽ, എത്തിച്ചേരാനുള്ള കഴിവിനെക്കാൾ പിടിച്ചെടുക്കലിനെ സംശയിക്കുക. ഇതേ യുക്തി IKE പോർട്ടിനും ബാധകമാണ്, കാരണം ഡീമന്റെ സ്വന്തം UDP ട്രാഫിക് അത് സ്ഥാപിക്കാൻ ശ്രമിക്കുന്ന ഉപകരണത്തിലേക്ക് റൂട്ട് ചെയ്യരുത്.
എൻക്രിപ്ഷനെ കുറ്റപ്പെടുത്തുന്നതിന് മുമ്പ് രണ്ടിടത്ത് കൗണ്ടറുകൾ പരിശോധിക്കുക
ഇന്റർഫേസ് കൗണ്ടറുകളും അവസ്ഥാ കൗണ്ടറുകളും വ്യത്യസ്ത ഘട്ടങ്ങൾ അളക്കുന്നു. ഉപകരണത്തിലേക്ക് റൂട്ട് ചെയ്യുന്ന പാക്കറ്റുകൾ ഒരു അവസ്ഥയും ഒത്തുപോകാത്തപ്പോഴും ഉപകരണം കൂട്ടുന്നു, അവസ്ഥാ കൗണ്ടറുകൾ യഥാർത്ഥത്തിൽ എൻകാപ്സുലേറ്റ് ചെയ്ത ട്രാഫിക്കിന് മാത്രം ചലിക്കുന്നു.
രണ്ടും വായിക്കുക, തുടർന്ന് ചൈൽഡ് അസോസിയേഷനെക്കുറിച്ചുള്ള ഡീമന്റെ കാഴ്ചപ്പാട് വായിക്കുക:
ip -s link show xfrm0
sudo ip xfrm state list | grep -E 'src|proto|mode'
sudo swanctl --list-sasഅവസ്ഥാ ഔട്ട്പുട്ട് ശൂന്യമായിരിക്കെ ഉപകരണ കൗണ്ടറുകൾ ഉയരുന്നത് റൂട്ടിംഗ് പ്രവർത്തിക്കുന്നുവെന്നും പോളിസി ഒത്തുപോകുന്നില്ലെന്നും അർത്ഥമാക്കുന്നു, സാധാരണയായി ഐഡന്റിഫയർ അല്ലെങ്കിൽ സെലക്ടർ പിശക്. വിദൂര വശം ഒന്നും റിപ്പോർട്ട് ചെയ്യാതിരിക്കെ അവസ്ഥാ കൗണ്ടറുകൾ ഉയരുന്നത് പാക്കറ്റുകൾ പുറത്തുപോകുന്നുവെന്നും എന്നാൽ എത്തുന്നില്ലെന്നും അല്ലെങ്കിൽ പ്രാമാണീകരണത്തിൽ പരാജയപ്പെടുന്നുവെന്നും അർത്ഥമാക്കുന്നു, അത് പാതയിലേക്കോ ജോടിയുടെ ക്രമീകരണത്തിലേക്കോ ചൂണ്ടുന്നു. പൂജ്യം ട്രാഫിക്കുള്ള ലിസ്റ്റ് ചെയ്ത ചൈൽഡ് ഒരറ്റത്തെ സെലക്ടർ പ്രശ്നമാണ്, കേടായ സൈഫർ അല്ല.
റൂട്ടുകൾ ആര് ഇൻസ്റ്റാൾ ചെയ്യുമെന്ന് തീരുമാനിക്കുക
ഒരു റൂട്ടിംഗ് പട്ടികയ്ക്ക് രണ്ട് ഉടമകൾ എന്നത് ഫ്ലാപ്പിംഗിന്റെ സാധാരണ ഉറവിടമാണ്. ഡീമൺ റൂട്ടുകൾ സ്വയമേവ ഇൻസ്റ്റാൾ ചെയ്യുന്നുവെങ്കിൽ, നിങ്ങളുടെ നെറ്റ്വർക്ക് മാനേജർ അതേ ഉപകരണത്തിലൂടെ സ്ഥിര റൂട്ടും ഇൻസ്റ്റാൾ ചെയ്യരുത്, സ്റ്റാർട്ടപ്പ് സ്ക്രിപ്റ്റ് ചേർത്ത കൈയിൽ ചെയ്ത റൂട്ട് അടുത്ത തവണ ഡീമൺ വീണ്ടും ക്രമീകരിക്കുമ്പോൾ നീക്കം ചെയ്യപ്പെടും.
ഒരു ഉടമയെ തിരഞ്ഞെടുത്ത് അത് എഴുതിവെക്കുക. റൂട്ടുകൾ ഡീമന്റേതാണെങ്കിൽ, സ്റ്റാർട്ടപ്പ് സ്ക്രിപ്റ്റ് പട്ടികയ്ക്ക് പുറത്ത് നിർത്തുക, കണക്ഷൻ നിർവചനം ട്രാഫിക് സെലക്ടർമാരെ വിവരിക്കാൻ അനുവദിക്കുക. അവ നെറ്റ്വർക്ക് മാനേജരുടേതാണെങ്കിൽ, സ്വയമേവയുള്ള ഇൻസ്റ്റാളേഷൻ പ്രവർത്തനരഹിതമാക്കുക, വീണ്ടും ബന്ധിപ്പിക്കുമ്പോൾ ഡീമൺ നഷ്ടമായ റൂട്ട് നന്നാക്കില്ലെന്ന് സ്വീകരിക്കുക.
ഫോർവേഡിംഗും ഫയർവാൾ നിയമങ്ങളും അതിന് മേലുള്ള പ്രത്യേക തീരുമാനമാണ്, കാരണം മറ്റ് ഹോസ്റ്റുകളുടെ ട്രാഫിക് കടത്തിവിടുന്ന ഗേറ്റ്വേയ്ക്ക് രണ്ടും വേണം. റൂട്ട് അധിഷ്ഠിത IPsec ആ ട്രാഫിക് സാധാരണ റൂട്ടിംഗ് ഉപകരണങ്ങൾ കൊണ്ട് പ്രകടിപ്പിക്കാൻ എളുപ്പമാക്കുന്നു; അത് പോളിസി പാളിയെ ഐച്ഛികമാക്കുന്നില്ല.