Windows-ൽ OpenVPN അഡാപ്റ്റർ ഇടയ്ക്കിടെ മുറിയുന്നോ? ഇരട്ട IP പരിശോധിക്കുക
Windows-ൽ ഇടയ്ക്കിടെ മുറിയുന്ന അഡാപ്റ്റർ പലപ്പോഴും വിലാസ കൂട്ടിയിടിയാണ്, ഡ്രൈവർ ബഗ് അല്ല. ഇവന്റുകൾ 4198, 4199 വായിക്കുക, രണ്ടാമത്തെ ഉടമയെ കണ്ടെത്തി അതുല്യ വിലാസങ്ങൾ ഉറപ്പിക്കുക.
Windows-ൽ, ഒരു വിലാസം എടുത്ത്, അത് ഉപേക്ഷിച്ച്, ഓരോ കുറച്ച് സെക്കൻഡിലും അത് ആവർത്തിക്കുന്ന OpenVPN അഡാപ്റ്റർ സാധാരണയായി DHCP ബഗ് അല്ല. മറ്റെന്തോ ഇതിനകം പ്രതികരിക്കുന്ന ഒരു വിലാസം ഉപയോഗിക്കാൻ അഡാപ്റ്ററിനോട് പറയുന്നു, അതിനാൽ Windows അത് ഉപയോഗശൂന്യമെന്ന് അടയാളപ്പെടുത്തുകയും ക്ലയന്റ് വീണ്ടും തുടങ്ങുകയും ചെയ്യുന്നു. കൂട്ടിയിടി അതിന് താഴെ, ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ സ്വന്തം നെറ്റ്വർക്ക് സ്റ്റാക്കിനുള്ളിൽ പരിഹരിക്കുന്നതിനാൽ ക്ലയന്റ് ലോഗ് നിശ്ശബ്ദമായിരിക്കും.
ഈ വ്യത്യാസം പ്രധാനമാണ്, കാരണം ടണൽ കോൺഫിഗറേഷനെ ലക്ഷ്യമിടുന്ന ഓരോ പ്രശ്നപരിഹാര ഘട്ടവും സെർവർ വശത്തെ ഇരട്ട വിലാസം വിട്ടുകളയും.
ക്ലയന്റ് ലോഗിൽ നിന്നല്ല, Windows ഇവന്റ് ലോഗിൽ നിന്ന് ആരംഭിക്കുക
Windows വിലാസ കൂട്ടിയിടികൾ സിസ്റ്റം ലോഗിൽ ഇവന്റ് ID 4198, 4199 എന്നിവയോടെ രേഖപ്പെടുത്തുന്നു. ആദ്യത്തേത് ഒരു വിലാസത്തിനായി കണ്ടെത്തിയ കൂട്ടിയിടി റിപ്പോർട്ട് ചെയ്യുന്നു, രണ്ടാമത്തേത് ഒരു ഇന്റർഫേസിന് താൻ കോൺഫിഗർ ചെയ്ത വിലാസം ഉപയോഗിക്കാനായില്ലെന്ന് റിപ്പോർട്ട് ചെയ്യുന്നു. ഒന്നും OpenVPN പരാമർശിക്കുന്നില്ല, അതുകൊണ്ടുതന്നെ അവ വിട്ടുകളയാൻ എളുപ്പമാണ്.
സമീപകാല ഇവന്റുകൾ എടുത്ത് അവയുടെ ടൈംസ്റ്റാമ്പുകൾ അഡാപ്റ്ററിന്റെ പുതുക്കൽ ചക്രവുമായി താരതമ്യപ്പെടുത്തുക: Get-WinEvent -FilterHashtable @{LogName='System'; Id=4198,4199} -MaxEvents 40 | Format-Table TimeCreated,Id,Message -Wrap. ഓരോ പതിനഞ്ച് സെക്കൻഡിലുമുള്ള കൂട്ടിയിടി, അതേ വിലാസത്തിന് തുടർന്നും പ്രതികരിക്കുന്ന ഉടമയ്ക്കെതിരെ അതേ വിലാസം വീണ്ടും ശ്രമിക്കുന്ന ക്ലയന്റുമായി യോജിക്കുന്നു. കണക്ഷൻ സമയത്തെ ഒരു ഒറ്റ കൂട്ടിയിടി പകരം ഒറ്റത്തവണ കൂട്ടിയിടിയിലേക്ക് സൂചിപ്പിക്കുന്നു. ഏതായാലും, അടുത്ത ചോദ്യം വിലാസം മറ്റാരുടെ കൈവശമുണ്ടെന്നാണ്.
മൂന്ന് ക്രമീകരണങ്ങൾ രണ്ട് ഹോസ്റ്റുകളെ ഒരു വിലാസത്തിൽ കൊണ്ടുവരുന്നു
വിലാസം അവരുടെ അഭിപ്രായത്തിൽ ആരുടെ പക്കലുണ്ടെന്ന് സെർവറിനോട് ചോദിക്കുക, തുടർന്ന് അതിന് ആരാണ് പ്രതികരിക്കുന്നതെന്ന് നെറ്റ്വർക്കിനോട് ചോദിക്കുക. grep -H ifconfig-push /etc/openvpn/ccd/* ഓരോ പിൻ ചെയ്ത ടണൽ വിലാസവും അത് ഉൾപ്പെടുന്ന സർട്ടിഫിക്കറ്റും പട്ടികപ്പെടുത്തുന്നു. ip -4 neigh show dev tap0 ബ്രിഡ്ജ് രണ്ടാം ലെയറിൽ പഠിച്ചത് കാണിക്കുന്നു. ഈ രണ്ട് പട്ടികകളും താരതമ്യം ചെയ്താൽ മിക്ക ഇരട്ടകളും ഒരു മിനിറ്റിൽ താഴെ കണ്ടെത്താം.
മൂന്ന് ക്രമീകരണങ്ങൾ ഏതാണ്ടെല്ലാം വിശദീകരിക്കുന്നു: client-config-dir എൻട്രി രണ്ട് സർട്ടിഫിക്കറ്റുകൾക്ക് ഒരു വിലാസം പിൻ ചെയ്യുന്നു, ബ്രിഡ്ജ് ചെയ്ത tap സെഗ്മെന്റ് മറ്റൊരു ഹോസ്റ്റിന് ഇതിനകം സ്റ്റാറ്റിക് ആയി ഉള്ള വിലാസം ഒരു മെഷീന് നൽകുന്നു, അല്ലെങ്കിൽ കാലഹരണപ്പെട്ട ലീസ് ഫയൽ ഇപ്പോഴും കണക്റ്റ് ചെയ്തിരിക്കുന്ന ക്ലയന്റ് തന്നെയുള്ളതാണെന്ന് കരുതുന്ന വിലാസം തിരികെ നൽകുന്നു. മൂന്നാമത്തെ സാഹചര്യമാണ് ഏറ്റവും വഞ്ചനാപരം, കാരണം ifconfig-pool-persist അറിയപ്പെടുന്ന ക്ലയന്റുകൾക്ക് വിലാസങ്ങൾ ബോധപൂർവം പുനരുപയോഗിക്കുന്നു.
വിലാസത്തിനായി മത്സരിക്കുന്നതിന് പകരം അത് അതുല്യമാക്കുക
ബൂട്ട് ക്രമം ഇന്ന് ആര് വിജയിക്കും എന്ന് മാത്രം തീരുമാനിക്കുന്നു, അതിനാൽ റീസ്റ്റാർട്ട് ക്രമത്തെ അടിസ്ഥാനമാക്കിയുള്ള ഏത് പരിഹാരവും താൽക്കാലികമായി കാണുക. ഓരോ ക്ലയന്റിനും അതിന്റേതായ ifconfig-push വരി നൽകുക, അല്ലെങ്കിൽ ഒരു ബ്രിഡ്ജോ സെർവർ ഇന്റർഫേസോ തൊടാത്ത ശ്രേണിയിൽ നിന്ന് സ്റ്റാറ്റിക് വിലാസങ്ങൾ അനുവദിക്കുക. ക്ലയന്റ് പട്ടികയിൽ ഇരട്ട പൊതു നാമങ്ങളും പരിശോധിക്കുക, കാരണം duplicate-cn രണ്ട് സെഷനുകൾക്ക് ഒരു ഐഡന്റിറ്റിയും അതുവഴി ഒരു പിൻ ചെയ്ത വിലാസവും പങ്കിടാൻ അനുവദിക്കുന്നു. ബ്രിഡ്ജ് ചെയ്ത ഉപകരണത്തിന് ശരിക്കും സ്ഥിര വിലാസം ആവശ്യമാണെങ്കിൽ, അതിനെ അതിന്റെ സ്വന്തം സബ്നെറ്റിലേക്ക് മാറ്റുക അല്ലെങ്കിൽ സെർവർ രേഖപ്പെടുത്തുന്ന സ്ഥലത്ത് പൂളിൽ നിന്ന് റിസർവ് ചെയ്യുക.
persist ഫയൽ അതിൽ ഏത് ലീസുകളുണ്ടെന്ന് അറിഞ്ഞതിന് ശേഷം മാത്രം ഇല്ലാതാക്കുക, അല്ലെങ്കിൽ അടുത്ത വീണ്ടും കണക്ഷൻ അതേ വിലാസങ്ങൾ വീണ്ടും വിതരണം ചെയ്യും.
ശരിയായ ക്രമത്തിൽ വീണ്ടും ആരംഭിച്ച് ഓരോ വിലാസത്തിനും ഒരു ഉടമയുണ്ടെന്ന് ഉറപ്പാക്കുക
മാറ്റം ആദ്യം സെർവറിൽ പ്രയോഗിക്കുക, തുടർന്ന് ക്ലയന്റുകൾ വീണ്ടും കണക്റ്റ് ചെയ്യുക, അങ്ങനെ ഓരോ പങ്കാളിയും തിരുത്തിയ പൂളിനെതിരെ രജിസ്റ്റർ ചെയ്യും. ആദ്യം ക്ലയന്റുകൾ വീണ്ടും ആരംഭിച്ചാൽ സെർവർ ഇപ്പോഴും എടുത്തതായി കരുതുന്ന വിലാസങ്ങളുമായി അവ തുടരും. വീണ്ടും ആരംഭിച്ചതിന് ശേഷം സ്റ്റാറ്റസ് ഫയൽ വായിച്ച് ഓരോ പൊതു നാമവും ഒരു വിലാസത്തോടെ ഒരിക്കൽ മാത്രം പ്രത്യക്ഷപ്പെടുന്നുവെന്ന് ഉറപ്പാക്കുക. ഒരു നാമത്തിന് രണ്ട് എൻട്രികൾ എന്നാൽ പഴയ സെഷൻ ഒരിക്കലും അടച്ചിട്ടില്ല എന്നാണ്, പൂൾ തകർന്നു എന്നല്ല.
ഒരു ക്ലയന്റിന് ഇപ്പോഴും അതിന്റെ വിലാസം നിലനിർത്താൻ കഴിയുന്നില്ലെങ്കിൽ, അതേ ഹോസ്റ്റിലെ ഒരു ബ്രിഡ്ജ് ഇന്റർഫേസ് അത് വഹിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കുക. വെണ്ടർ ഉപകരണത്തിൽ നിന്ന് വിലാസം പാരമ്പര്യമായി ലഭിച്ച ബ്രിഡ്ജ്, VPN സെർവർ ആ വിലാസം ഒരു ക്ലയന്റിന് നൽകിക്കഴിഞ്ഞാലും അതിന് ARP പ്രതികരിക്കും.
ടിക്കറ്റ് അടയ്ക്കുന്നതിന് മുമ്പ് ഒരു പൂർണ്ണ പുതുക്കൽ ചക്രം നിരീക്ഷിക്കുക
ഒരു വ്യക്തമായ വായന ഒന്നും തെളിയിക്കുന്നില്ല. കുറഞ്ഞത് പത്ത് മിനിറ്റ് അഡാപ്റ്റർ നിരീക്ഷിച്ച് ഇടയ്ക്ക് ഒരു വീണ്ടും കണക്ഷൻ നിർബന്ധമാക്കുക: Get-NetIPAddress -InterfaceAlias "OpenVPN*" | Select-Object IPAddress,AddressState. വിലാസം വീണ്ടും കണക്ഷനെ അതിജീവിച്ച് മുൻഗണനാ അവസ്ഥയിൽ തുടരണം.
തുടർന്ന് ആദ്യ ഘട്ടത്തിലെ ഇവന്റ് ക്വറി വീണ്ടും പ്രവർത്തിപ്പിച്ച് അത് പുതിയതൊന്നും തിരികെ നൽകുന്നില്ലെന്ന് ഉറപ്പാക്കുക. വീണ്ടും കണക്ഷനിലുടനീളം നിശ്ശബ്ദമായ ലോഗ് കൂട്ടിയിടി മാറിയതിന്റെ തെളിവാണ്, അതേസമയം ഒരു കണക്ഷന് ശേഷമുള്ള നിശ്ശബ്ദ ലോഗ് മത്സരം ഇതുവരെ സംഭവിച്ചിട്ടില്ല എന്ന് മാത്രം അർത്ഥമാക്കുന്നു. അവസാനമായി, ടണൽ ഉള്ള റിസോഴ്സ് പരിശോധിക്കുക, കാരണം വിലാസം നഷ്ടപ്പെട്ട ബ്രിഡ്ജ് VPN തന്നെ ആരോഗ്യകരമായി തോന്നുമ്പോഴും വെണ്ടർ പാത്ത് തകർക്കാം.
പൂൾ ശ്രേണി, ഓരോ പിൻ ചെയ്ത വിലാസം, അത് കൈവശമുള്ള ഹോസ്റ്റ് എന്നിവ സെർവർ കുറിപ്പുകളിൽ രേഖപ്പെടുത്തുക. അപ്പോൾ അടുത്ത കൂട്ടിയിടി കണ്ടെത്താൻ മിനിറ്റുകൾ മതി, വീണ്ടും കണ്ടെത്താൻ ഒരു ഉച്ചയ്ക്ക് മുഴുവൻ വേണ്ട.