ബ്രിഡ്ജ് ചെയ്ത OpenVPN ക്ലയന്റുകൾക്ക് ഇന്റർനെറ്റ് ഇല്ലേ? NAT റൂൾ പരിശോധിക്കുക
ബ്രിഡ്ജ് ചെയ്ത OpenVPN ക്ലയന്റുകൾ tap ഉപകരണത്തിലൂടെ പുറത്തുപോകുന്നു, അതിനാൽ ഫിസിക്കൽ നെറ്റ്വർക്ക് കാർഡിനെ പേര് പറയുന്ന masquerade റൂൾ ഒരിക്കലും പൊരുത്തപ്പെടുന്നില്ല, കൗണ്ടർ പൂജ്യത്തിൽ നിൽക്കുന്നു.
ബ്രിഡ്ജ് ചെയ്ത സെർവർ പ്രവർത്തിക്കുന്നു, masquerade റൂൾ ഉണ്ട്, എന്നിട്ടും ക്ലയന്റിലെ ബ്രൗസർ കറങ്ങിക്കൊണ്ടിരിക്കുന്നു. എല്ലാം ശരിയായി പ്രവർത്തിക്കേണ്ടതുപോലെ തോന്നുന്നു, അതുകൊണ്ടാണ് ആദ്യ മണിക്കൂർ ടണലും ക്രെഡൻഷ്യലുകളും പരിശോധിക്കാൻ പോകുന്നത്. തുടർന്ന് NAT റൂളിലെ കൗണ്ടർ വായിക്കുമ്പോൾ അനങ്ങാത്ത ഒരു പൂജ്യം കാണാം. ഒരു പാക്കറ്റും എണ്ണാത്ത റൂൾ ഒരു പാക്കറ്റിനെയും പൊരുത്തപ്പെടുത്തിയിട്ടില്ല, ബ്രിഡ്ജ് ചെയ്ത സെർവറിൽ കാരണം ഘടനാപരമാണ്: ക്ലയന്റ് ട്രാഫിക് വെർച്വൽ tap ഉപകരണത്തിലൂടെ പുറത്തുപോകുന്നു, എന്നാൽ റൂൾ നിങ്ങൾ പഴയ ഗൈഡിൽ നിന്ന് പകർത്തിയ ഫിസിക്കൽ കാർഡിനെ പേര് പറയുന്നു.
തെളിവ് കൗണ്ടറാണ്, പട്ടികയിലെ വരിയല്ല
നിലവിലുള്ള റൂളുകളും പൊരുത്തപ്പെടുന്ന റൂളുകളും വ്യത്യസ്ത കാര്യങ്ങളാണ്, അവയെ വേർതിരിക്കുന്നത് കൗണ്ടറാണ്. വിശദമായ കൗണ്ടറുകളോടെ NAT പട്ടിക ലിസ്റ്റ് ചെയ്ത് എന്തെങ്കിലും മാറ്റുന്നതിന് മുമ്പ് ഓരോ റൂളിനരികിലുമുള്ള സംഖ്യകൾ വായിക്കുക. ട്രാഫിക് ഒഴുകുമ്പോൾ പൂജ്യത്തിൽ നിൽക്കുന്ന കൗണ്ടർ എന്നാൽ റൂൾ ഒഴിവാക്കപ്പെട്ടു എന്നാണ്, അതിന്റെ വിലാസങ്ങൾ എത്ര ന്യായയുക്തമായി തോന്നിയാലും. കണക്ഷൻ ഇപ്പോഴും പരാജയപ്പെടുമ്പോൾ കയറുന്ന കൗണ്ടർ നിങ്ങളെ മറ്റൊരിടത്തേക്ക് അയയ്ക്കുന്നു: ഫോർവേഡിംഗ്, മടക്കപ്പാത, അല്ലെങ്കിൽ അപ്രേം അറ്റം.
iptables -t nat -L POSTROUTING -v -nആദ്യം ഇന്റർഫേസ് പൊരുത്തത്തിനരികിലുള്ള കൗണ്ടർ വായിക്കുക. സോഴ്സ് ശ്രേണി ശരിയും ഔട്ട്പുട്ട് വശം തെറ്റുമാണെങ്കിൽ, പരിഹാരം പുതിയ റൂളല്ല, റൂളിലെ ഒരു വാക്കാണ്.
കേർണൽ യഥാർത്ഥത്തിൽ രേഖപ്പെടുത്തുന്ന പേര് കണ്ടെത്തുക
റൂൾ എഴുതുന്നതിന് മുമ്പ് ഓർമ്മയെ അല്ല, ഇന്റർഫേസ് പട്ടികയെ ഉപയോഗിച്ച് ടണൽ ഉപകരണത്തിന്റെ പേര് കണ്ടെത്തുക. ബ്രിഡ്ജ് ചെയ്ത OpenVPN ക്രമീകരണത്തിൽ ഉപകരണം സാധാരണയായി സെർവർ സൃഷ്ടിച്ച tap ഇന്റർഫേസാണ്, അതിന്റെ പേര് സാർവത്രിക സ്ഥിരാങ്കമല്ല, നിങ്ങളുടെ പ്രാദേശിക കോൺഫിഗറേഷന്റെ ഭാഗമാണ്. ടണൽ സജീവമായിരിക്കുമ്പോൾ അത് നിലവിലുണ്ടെന്ന് ഉറപ്പാക്കുക, കാരണം ക്ലയന്റ് കണക്ട് ചെയ്തതിന് ശേഷം മാത്രം പ്രത്യക്ഷപ്പെടുന്ന ഉപകരണം മുൻകാല പരിശോധനയെ റൂൾ പ്രശ്നമായി തോന്നിപ്പിക്കും.
ip -brief linkപേര് എഴുതിവയ്ക്കുക. ഈ രോഗനിർണ്ണയത്തിലെ ഓരോ തുടർന്നുള്ള കമാന്റും അതിനെ സൂചിപ്പിക്കുന്നു, ഇവിടെയുള്ള ഒരു അക്ഷരത്തെറ്റ് യഥാർത്ഥ തെറ്റുപോലെ അതേ പൂജ്യം കൗണ്ടർ ഉണ്ടാക്കും.
ടണൽ ഉപകരണത്തിനെതിരെ റൂൾ വീണ്ടും എഴുതുക
റൂൾ ടണൽ ഉപകരണത്തിലേക്ക് തിരിച്ചുവിട്ട് ക്ലയന്റ് ശ്രേണി അതിന്റെ പൊരുത്ത വ്യവസ്ഥയായി നിലനിർത്തുക, അങ്ങനെ അത് ടണൽ ട്രാഫിക് ഉൾക്കൊള്ളുകയും ഹോസ്റ്റിന്റെ സ്വന്തം കണക്ഷനുകളെ വിടുകയും ചെയ്യും. നിങ്ങളുടെ സ്വന്തം ശ്രേണിയും ഉപകരണനാമവും പകരം വയ്ക്കുക, കാരണം താഴെയുള്ള രണ്ടും ഉദാഹരണങ്ങളാണ്, ഒന്നും ഇൻസ്റ്റാളേഷനുകൾക്കിടയിൽ കൊണ്ടുപോകാനാവില്ല.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o tap0 -j MASQUERADEതുടർന്ന് അതേ ലക്ഷണം മറയ്ക്കുന്ന മറ്റ് രണ്ട് വ്യവസ്ഥകൾ പരിശോധിക്കുക. ഫോർവേഡിംഗ് പ്രവർത്തനക്ഷമമാണോ എന്ന് നോക്കുക, ഇല്ലെങ്കിൽ റീബൂട്ടിൽ അപ്രത്യക്ഷമാകുന്ന echo ഉപയോഗിച്ചല്ല, ഡിസ്ട്രിബ്യൂഷന്റെ സ്വന്തം കോൺഫിഗറേഷനിൽ അത് പ്രവർത്തനക്ഷമമാക്കുക. forward ചെയിനിന്റെ കൗണ്ടറുകളും വായിക്കുക, അത് ടണൽ ട്രാഫിക് ഡ്രോപ്പ് ചെയ്യുന്നുവെങ്കിൽ ആ ഇന്റർഫേസ് പ്രത്യേകം അനുവദിക്കുക, ചെയിൻ പോളിസി അതേപടി വിടുക.
കൗണ്ടറുകളോടെ forward ചെയിൻ വായിക്കാൻ ഒരു കമാന്റ് മാത്രം മതി, അടുത്ത റൂളിൽ തൊടുന്നതിന് മുമ്പ് ബാക്കിയുള്ള സാധ്യതകളിൽ പകുതിയും ഒഴിവാക്കാം.
ഫിസിക്കൽ കാർഡ് ഒരിക്കലും പൊരുത്തപ്പെടാത്തത് എന്തുകൊണ്ട്
ഒരു ബ്രിഡ്ജ് tap ഉപകരണവും ഒരു ഫിസിക്കൽ ഇന്റർഫേസും ചേർന്ന് നിർമ്മിച്ച സോഫ്റ്റ്വെയർ സ്വിച്ചാണ്. ക്ലയന്റ് ഫ്രെയിം ആ സ്വിച്ചിലേക്ക് പ്രവേശിച്ച് കാർഡിലെ പാക്കറ്റായല്ല, ബ്രിഡ്ജിലെ അംഗമായി ഫിസിക്കൽ നെറ്റ്വർക്കിലേക്ക് പുറത്തുപോകുന്നു. അതിനാൽ കേർണൽ ആ പാക്കറ്റ് ബ്രിഡ്ജിനും അതിന്റെ പോർട്ടിനും ആരോപിക്കുന്നു, അതുകൊണ്ടാണ് നിങ്ങൾ ചിന്തിച്ച കാർഡ് പൊരുത്തത്തിൽ ഒരിക്കലും പ്രത്യക്ഷപ്പെടാത്തത്. ഫിസിക്കൽ ഇന്റർഫേസിൽ ഒന്നും കേടായിട്ടില്ല; കേർണൽ ആ പാക്കറ്റിന് ആരോപിക്കുന്ന ഉപകരണം അല്ല അത് എന്ന് മാത്രം.
ആളുകൾ അടുത്തതായി നേരിടുന്ന പ്രശ്നം അതേ ഘടനയിൽ നിന്നാണ് വരുന്നത്: ബ്രിഡ്ജിലെ ഫ്രെയിം ഫിൽട്ടറിംഗ് IP ഫിൽട്ടറിംഗിൽ നിന്ന് വേറിട്ട ഒരു സൗകര്യമാണ്. ഫ്രെയിം തലത്തിലുള്ള നിയന്ത്രണമാണ് ആവശ്യമെങ്കിൽ, അത് ബ്രിഡ്ജ് ഫിൽട്ടറിംഗിൽ പെടുന്നതാണ്, IP പട്ടികയിലെ റൂളിലല്ല.
ഇത് ആദ്യം മുതൽ അവസാനം വരെ തെളിയിക്കുക, പിന്നീട് സ്ഥിരമാക്കുക
ഒരു ക്ലയന്റ് ഉയർത്തി സെർവറിന്റെ LAN-ൽ എന്തെങ്കിലും പിംഗ് ചെയ്യുക; ആ പാത ഒരു വിവർത്തനവുമില്ലാതെ ഫോർവേഡിംഗ് പരീക്ഷിക്കുന്നു. അതിന് ശേഷം പൊതുവായ എന്തെങ്കിലും അഭ്യർത്ഥിക്കുക, അപ്പോൾ masquerade റൂൾ ഉപയോഗിക്കേണ്ടിവരും, കൗണ്ടർ വീണ്ടും വായിക്കുക: ഈ പരിശോധനയ്ക്ക് അത് നീങ്ങണം, മുമ്പത്തേതിനല്ല. ടണൽ ഉപകരണത്തിൽ എടുത്ത ക്യാപ്ചർ ഫ്രെയിം എവിടെ പ്രത്യക്ഷപ്പെടുന്നു, ഏത് വിലാസമാണ് അത് വഹിക്കുന്നത് എന്നിവ രണ്ടും കാണിക്കുന്നു.
അവസാന ഘട്ടം: പ്രവർത്തിക്കുന്ന റൂളുകൾ റീസ്റ്റാർട്ട് വായിക്കുന്ന കോൺഫിഗറേഷനിൽ ഇടുക, ഈ ഹോസ്റ്റിന്റെ ബ്രിഡ്ജ് യഥാർത്ഥത്തിൽ ഉപയോഗിക്കുന്ന ഉപകരണനാമം കുറിച്ചുവയ്ക്കുക. കൈകൊണ്ട് ടൈപ്പ് ചെയ്തതെല്ലാം റീബൂട്ടിന് ശേഷം പോകും, അതേ തകരാർ വിശദീകരിക്കാൻ ഒന്നുമില്ലാതെ തിരികെ വരും.
വീണ്ടും എഴുതിയ ശേഷവും കൗണ്ടർ അനങ്ങുന്നില്ലെങ്കിൽ, റൂളിലെ സോഴ്സ് ശ്രേണിയെ ക്ലയന്റ് യഥാർത്ഥത്തിൽ ലഭിച്ച വിലാസവുമായി താരതമ്യം ചെയ്യുക, കാരണം ബ്രിഡ്ജ് ചെയ്ത സെർവർ നിങ്ങൾ ഉദ്ദേശിക്കാത്ത ശ്രേണിയിൽ നിന്ന് വിലാസങ്ങൾ നൽകാം.