ഓഫീസ് LAN-ൽ VPN ക്ലയന്റ് എല്ലാ മറുപടിയും നഷ്ടപ്പെടുന്നത് എന്തുകൊണ്ട്
ഓഫീസിന്റെ LAN-ലും അതേ സബ്നെറ്റിലെ ഒരു ടണലിലും ഉള്ള ലാപ്ടോപ്പ് തെറ്റായ ഇന്റർഫേസിൽ നിന്ന് മറുപടി നൽകുന്നു. അയഞ്ഞ റിവേഴ്സ്-പാത്ത് ഫിൽട്ടറിംഗ് ഈ നിശ്ശബ്ദത വിശദീകരിക്കുന്നു.
ഒരു ലാപ്ടോപ്പ് ഈഥർനെറ്റിലൂടെ ഓഫീസിന്റെ /24-ൽ ഇരിക്കുന്നു, അതേ /24-ൽ താമസിക്കുന്ന OpenVPN സെർവറിലും ചേരുന്നു. ഒരു സഹപ്രവർത്തകൻ ടണൽ വിലാസത്തിലേക്ക് പിംഗ് ചെയ്യുന്നു; അഭ്യർത്ഥന വ്യക്തമായി എത്തുന്നു, പക്ഷേ ഒന്നും തിരികെ വരുന്നില്ല. ടണൽ ലോഗ് വ്യക്തമാണ്, ബ്രൗസിംഗ് ഇപ്പോഴും പ്രവർത്തിക്കുന്നു, അതിനാൽ ടണൽ തെറ്റായ സംശയിക്കുന്നയാളാണ്. സ്വീകരിക്കുന്ന യന്ത്രത്തിലെ IPv4 ഉറവിട പരിശോധന പാക്കറ്റ് എന്തെങ്കിലും വായിക്കുന്നതിന് മുൻപേ അത് വലിച്ചെറിയുന്നു.
പാക്കറ്റ് വായിക്കുന്നതിന് മുൻപേ വലിച്ചെറിയൽ സംഭവിക്കുന്നു
ഉറവിട പരിശോധന ഓരോ വരുന്ന പാക്കറ്റിനെക്കുറിച്ചും ഒരു ചോദ്യം ചോദിക്കുന്നു: ഈ ഹോസ്റ്റ് ആ ഉറവിടത്തിന് മറുപടി നൽകിയെങ്കിൽ, മറുപടി പാക്കറ്റ് ഇപ്പോൾ എത്തിയ ഇന്റർഫേസിലൂടെ തന്നെ പുറത്തുപോകുമോ? മറുപടി ഇല്ല എന്നാണെങ്കിൽ, കേർണൽ പാക്കറ്റ് വന്ന ഉടനെ വലിച്ചെറിയുന്നു. ഒരു സോക്കറ്റോ ഫോർവേഡിംഗ് പാത്തോ അത് ഒരിക്കലും കാണുന്നില്ല, അതിനാൽ ടണലിലെ ക്യാപ്ചർ ആപ്ലിക്കേഷൻ ഒരിക്കലും ലഭിക്കാത്ത ഒരു അഭ്യർത്ഥന ഇപ്പോഴും രേഖപ്പെടുത്തുന്നു.
ഇവിടെ ക്ലയന്റ് തന്റെ ടണലിൽ 10.66.0.9 വഹിക്കുന്നു, OpenVPN സെർവർ ഓഫീസ് പ്രിഫിക്സിനുള്ളിലെ 192.168.80.10-ൽ നിന്ന് മറുപടി നൽകുന്നു. 192.168.80.25-ലുള്ള സഹപ്രവർത്തകൻ ടണൽ വിലാസത്തിലേക്ക് പിംഗ് ചെയ്യുന്നു, അതിനാൽ അഭ്യർത്ഥന LAN കടക്കുന്നു, സെർവർ അതിനെ ടണലിലേക്ക് അയക്കുന്നു, അത് ഓഫീസിന്റെ ഉറവിട വിലാസം വഹിച്ച് ക്ലയന്റിന്റെ ടണൽ ഇന്റർഫേസിൽ എത്തുന്നു. ആ യന്ത്രത്തിന്റെ റൂട്ടിംഗ് പട്ടികയിൽ ഓഫീസ് പ്രിഫിക്സ് ഈഥർനെറ്റ് ഉപകരണത്തിനുള്ളതാണ്, ടണലിനല്ല. പരിശോധന ആഗമന ഇന്റർഫേസിനെ റൂട്ടുമായി താരതമ്യം ചെയ്ത്, പൊരുത്തക്കേട് കണ്ടെത്തി പാക്കറ്റ് വലിച്ചെറിയുന്നു, അതിനാൽ രണ്ട് അറ്റങ്ങളും ആരോഗ്യകരമായ ടണൽ റിപ്പോർട്ട് ചെയ്യുമ്പോൾ സഹപ്രവർത്തകൻ പൂർണ്ണ നഷ്ടം കാണുന്നു.
കണ്ണാടി ദിശയ്ക്കും അതേ രൂപമാണ്: ക്ലയന്റ് ഓഫീസിലേക്ക് തുടങ്ങുമ്പോൾ, അതേ കാരണത്താൽ ഓഫീസ് ഭാഗത്ത് മറുപടികൾ വലിച്ചെറിയപ്പെടാം. ഒരു ദിശയിൽ മാത്രം പരിശോധിച്ച അറ്റകുറ്റപ്പണി സാധാരണയായി രണ്ടാമത്തെ ടിക്കറ്റായി മടങ്ങുന്നു.
ഏതെങ്കിലും sysctl തൊടുന്നതിന് മുൻപേ പ്രാബല്യത്തിലുള്ള മോഡ് തെളിയിക്കുക
ഡിസ്ട്രിബ്യൂഷന്റെ സ്വതവേയുള്ളതിനെ വിശ്വസിക്കുന്നതിന് പകരം യഥാർത്ഥ മൂല്യങ്ങൾ വായിക്കുക, കാരണം ഓരോ ഇന്റർഫേസിലെ ക്രമീകരണം തീരുമാനത്തിന്റെ പകുതി മാത്രമാണ്. പ്രാബല്യത്തിലുള്ള മോഡ് ഇന്റർഫേസ് മൂല്യത്തിലും all മൂല്യത്തിലും വലുതാണ്, അതിനാൽ ടണൽ ഇന്റർഫേസിലെ പൂജ്യം all ഒന്നായിരിക്കുന്നിടത്തോളം ഒന്നും അർത്ഥമാക്കുന്നില്ല. കർശന മോഡിന്റെ തീരുമാനം ഒരു റൂട്ടിംഗ് തീരുമാനമാണ്, അതിനാൽ കേർണൽ നടത്തുന്ന തിരച്ചിൽ നടത്തി അതിന്റെ ഉത്തരം പാക്കറ്റ് യഥാർത്ഥത്തിൽ എത്തിയ ഇന്റർഫേസുമായി താരതമ്യം ചെയ്യുക.
tcpdump -ni tun0 icmp and host 192.168.80.25
ip route get 192.168.80.25
sysctl net.ipv4.conf.all.rp_filter net.ipv4.conf.tun0.rp_filter
പിന്നീട് പിശക് കൗണ്ടർ നോക്കിക്കൊണ്ട് പിംഗ് ആവർത്തിക്കുക. ക്യാപ്ചർ ഇതിനകം കാണിക്കുന്ന അഭ്യർത്ഥനയുടെ അടുത്ത് ഉയരുന്ന സംഖ്യ ഈ വലിച്ചെറിയലിന്റെ ഒപ്പാണ്, കാണാത്ത റൂട്ടിന്റേതല്ല. അവിടെ ഉള്ളപ്പോൾ ചൊവ്വാ ഗ്രഹ പാക്കറ്റ് ലോഗിംഗ് ഓൺ ചെയ്യുക, കേർണൽ തള്ളിയ ഉറവിടത്തിന്റെയും ഇന്റർഫേസിന്റെയും പേര് പറയാൻ. ഒരുമിച്ച് അവ എൻക്രിപ്ഷൻ, ഫയർവാൾ, കാണാത്ത iroute എന്നിവയെ വിശദീകരണങ്ങളിൽ നിന്ന് ഒഴിവാക്കുന്നു.
എന്തെങ്കിലും മാറ്റുന്നതിന് മുൻപേ അടിസ്ഥാന രേഖ എഴുതുക: രണ്ട് മൂല്യങ്ങളും, തിരച്ചിൽ തിരഞ്ഞെടുത്ത ഉപകരണവും, നിങ്ങൾ നിരീക്ഷിച്ച കൗണ്ടറും. മാറ്റം നിങ്ങൾ കരുതുന്നത് ചെയ്തുവോ എന്ന് പിന്നീട് പറയുന്നത് ആ രേഖയാണ്.
ഓരോ rp_filter മോഡും യഥാർത്ഥത്തിൽ എന്ത് സ്വീകരിക്കുന്നു
കേർണൽ ഓരോ ഇന്റർഫേസിനും മൂന്ന് മൂല്യങ്ങൾ കാണിക്കുന്നു, അവ ഒരു നിയമത്തിന്റെ മൂന്ന് ഛായകളല്ല. പൂജ്യം പരിശോധന ഓഫാക്കുന്നു. ഒന്ന് കർശനമാണ്, ഉറവിടം ആഗമന ഇന്റർഫേസിലൂടെ തിരികെ റൂട്ട് ചെയ്യണമെന്ന് ആവശ്യപ്പെടുന്നു. രണ്ട് അയഞ്ഞതാണ്, പട്ടികയിൽ ഉറവിടത്തിലേക്ക് ഏതെങ്കിലും റൂട്ട് ഉണ്ടായിരിക്കണമെന്ന് മാത്രം ആവശ്യപ്പെടുന്നു, അത് എങ്ങോട്ട് ചൂണ്ടിയാലും.
| Value | Name | Accepts | Still rejects |
|---|---|---|---|
| 0 | off | any source at all | nothing on this check |
| 1 | strict | a source routed back out the arrival interface | a source whose route points elsewhere |
| 2 | loose | a source with any route in the table | a source with no route at all |
ഇവിടെ പ്രധാനമായ വരി അയഞ്ഞതാണ്, അത് ഇപ്പോഴും തള്ളുന്നതും. നിങ്ങളുടെ പട്ടികയിൽ എവിടെയും റൂട്ട് ചെയ്യാവുന്ന വ്യാജ ഉറവിടം കടന്നുപോകുന്നു, റൂട്ട് ഇല്ലാത്ത ഉറവിടം ഇപ്പോഴും നിരസിക്കപ്പെടുന്നു. ലാപ്ടോപ്പിൽ ഇത് ഇടുങ്ങിയ വിട്ടുവീഴ്ചയാണ്; മറ്റുള്ളവരുടെ ട്രാഫിക് കൈമാറുന്ന റൂട്ടറിൽ അത് വിശാലമാണ്. മോഡ് ഹോസ്റ്റിന്റേതാണ്, അതിനാൽ അതേ സംഖ്യ രണ്ടിടത്ത് വ്യത്യസ്ത ഭാരം വഹിക്കുന്നു.
ഈ ടോപ്പോളജിക്ക് ഏത് വരി വേണമെന്ന് ശീലത്തിൽ നിന്നല്ല, പട്ടികയിൽ നിന്നാണ് വരുന്നത്. പാക്കറ്റ് സാധുവാണ്, അതിന്റെ ഉറവിടം റൂട്ട് ചെയ്യാവുന്നതാണ്, അതിനാൽ അയഞ്ഞത് അത് സ്വീകരിക്കുന്നു, കർശനമല്ല. ഈ കേസിൽ ഒന്നും പൂജ്യം ആവശ്യപ്പെടുന്നില്ല, പൂജ്യം തിരഞ്ഞെടുത്താൽ ഇവിടെ ഒന്നും ചെലവാകാത്ത ഒരു പരിശോധന ഒഴിവാക്കും.
അവ്യക്തത ഒഴിവാക്കുന്ന ഏറ്റവും ചെറിയ മാറ്റം തിരഞ്ഞെടുക്കുക
അയഞ്ഞ മോഡ് യോജിക്കുന്ന ഏറ്റവും ചെറിയ മാറ്റമാണ്, അത് നിരുപദ്രവകരമായ സ്വിച്ചല്ല, കർശനതയുടെ യഥാർത്ഥ കുറവാണ്. ടോപ്പോളജി അനുവദിക്കുമ്പോഴെല്ലാം മികച്ച ഓപ്ഷൻ ഉണ്ട്: ഓവർലാപ്പ് ഒഴിവാക്കുക, അവ്യക്തത മായുന്നു.
ഓഫീസ് പ്രിഫിക്സ് ഈഥർനെറ്റിലൂടെ മാത്രം വേണ്ടിടത്ത്, പ്രൊഫൈൽ വലിക്കുന്ന റൂട്ടുകളിൽ നിന്ന് അത് ഒഴിവാക്കുക, വിലാസം ഒരു പാതയിലൂടെ ലഭ്യമാകും. രണ്ട് പാതകളും യഥാർത്ഥത്തിൽ ഒരുമിച്ച് നിൽക്കണമെങ്കിൽ, ഓരോ ഇന്റർഫേസിലും പരിശോധന അയഞ്ഞതാക്കുന്നതിന് പകരം പോളിസി നിയമത്താൽ ഉറവിടവും ഉപകരണവും പിന്ന് ചെയ്യുക. അത് യന്ത്രത്തിലെ മറ്റെല്ലാത്തിനും കർശനമായ ഫിൽട്ടറിംഗ് നിലനിർത്തുന്നു, അടുത്ത എഞ്ചിനീയർ അത് തിരയുന്നിടത്ത് ഒഴിവാക്കലും രേഖപ്പെടുത്തുന്നു.
ഏത് പാത തിരഞ്ഞെടുത്താലും, അത് ലൈവ് കമാൻഡിലല്ല, sysctl drop-in-ൽ രേഖപ്പെടുത്തുക. all, default കീകൾ ഒരുമിച്ച് സജ്ജമാക്കുക, വീണ്ടും ബന്ധിപ്പിക്കൽ കർശന മോഡ് നിശ്ശബ്ദമായി പുനഃസ്ഥാപിക്കാതിരിക്കാൻ.
# /etc/sysctl.d/99-rp-filter.conf
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.all.rp_filter = 2
sysctl --system
അയഞ്ഞ മോഡ് എന്ത് വിട്ടുകൊടുക്കുന്നു, എവിടെ
അയഞ്ഞ മോഡ് ഏത് റൂട്ടും എത്താത്ത ഉറവിടത്തെ ഇപ്പോഴും തള്ളുന്നു, യാദൃച്ഛികമായി റൂട്ട് ചെയ്യാവുന്ന വ്യാജ ഉറവിടത്തെ തള്ളുന്നത് നിർത്തുന്നു. ലാപ്ടോപ്പിൽ ഇത് ഇടുങ്ങിയ വിട്ടുവീഴ്ചയാണ്. തന്റേതല്ലാത്ത ട്രാഫിക് കൈമാറുന്ന ഉപകരണത്തിൽ അതേ തിരഞ്ഞെടുപ്പ് വളരെ വിശാലമാണ്. അതിനാൽ അതേ ക്രമീകരണം എവിടെ പ്രവർത്തിക്കുന്നു എന്നതിന് അനുസരിച്ച് രണ്ട് വളരെ വ്യത്യസ്ത അർത്ഥങ്ങൾ വഹിക്കുന്നു.
മറ്റുള്ളവർക്കുവേണ്ടി ട്രാഫിക് കൈമാറുന്ന ഹോസ്റ്റിൽ പരിശോധന പൂർണ്ണമായി ഓഫാക്കുന്നത് ഒഴിവാക്കേണ്ട ഏക അറ്റകുറ്റപ്പണിയാണ്. പൂജ്യം അയഞ്ഞ മോഡ് സൂക്ഷ്മമായി സൂക്ഷിക്കുന്ന പരിശോധന വലിച്ചെറിയുന്നു. ഹോസ്റ്റ് മറ്റുള്ളവർക്കുവേണ്ടി കൈമാറുന്നുവെങ്കിൽ, പകരം മുൻ വിഭാഗത്തിലെ പോളിസി നിയമ ഓപ്ഷനെ പിന്തുണയ്ക്കുക.
രണ്ട് ഇന്റർഫേസുകൾ, ഓവർലാപ്പ് ചെയ്യുന്ന പ്രിഫിക്സ്, ഇപ്പോൾ വിജയിക്കുന്ന കൃത്യമായ പരിശോധന എന്നിവയുടെ പേര് പറയുന്ന ഒരു കുറിപ്പ് വിടുക. ഫിൽട്ടറിംഗ് ക്രമീകരിച്ചു എന്ന വരിയെക്കാൾ അത് അടുത്ത എഞ്ചിനീയർക്ക് ഉപകാരപ്രദമാണ്.