ക്ലയന്റ് പ്രാമാണീകരിക്കുന്നു, ലോഗ് കണക്ട് ചെയ്തു എന്ന് പറയുന്നു, ഒരു പാക്കറ്റും ടണലിലൂടെ കടക്കുന്നില്ല. സെർവർ write to TUN/TAP: Invalid argument (code=22) ഉപയോഗിച്ച് ശ്രമം അവസാനിപ്പിക്കുന്നു, ഇത് ഡ്രൈവർ തകരാറായി തോന്നുന്നു, സാധാരണയായി അങ്ങനെയല്ല. റൗട്ടറുകളിലും ചെറിയ Linux സെർവറുകളിലും ആ വരി പലപ്പോഴും അർത്ഥമാക്കുന്നത് ഡാറ്റ പാക്കറ്റുകൾ എങ്ങനെ ഫ്രെയിം ചെയ്യണം എന്നതിൽ ഇരുവശവും യോജിക്കുന്നില്ല എന്നാണ്, അതിനാൽ കേർണൽ തനിക്ക് നൽകിയ ഡീക്രിപ്റ്റ് ചെയ്ത ബഫർ നിരസിക്കുന്നു. ആ ഘട്ടത്തിൽ റൗട്ടിംഗ് ഇതുവരെ പരീക്ഷിച്ചിട്ടില്ല.

ശരിയായ റൗട്ടിംഗ് ടേബിളും തകർന്ന ഫ്രെയിമിംഗ് കരാറും ക്ലയന്റ് വശത്തുനിന്ന് ഒരേപോലെ കാണപ്പെടുന്നു: കണക്ട് ചെയ്തു, ഒന്നും പ്രവർത്തിക്കുന്നില്ല.

ടണൽ ഉയരുന്നു, ഒന്നും അതിലൂടെ കടക്കുന്നില്ല

ടണൽ ഉപകരണത്തിലെ എഴുത്ത് പിശകുകൾ ഡീക്രിപ്ഷന് ശേഷവും റൗട്ടിംഗിന് മുമ്പും സംഭവിക്കുന്നു. ഡീമൺ ഒരു പാക്കറ്റ് ഡീക്രിപ്റ്റ് ചെയ്ത് ഇന്റർഫേസിന് നൽകുന്നു, ബഫർ ആ ഉപകരണം പ്രതീക്ഷിക്കുന്നതുമായി പൊരുത്തപ്പെടാത്തതിനാൽ ഇന്റർഫേസ് അത് നിരസിക്കുന്നു. കോഡ് 22 അസാധുവായ ആർഗ്യുമെന്റിന്റെ പൊതുവായ ഉത്തരമാണ്, അതിനാൽ ഉപയോഗപ്രദമായ വിവരം പരതമാണ്: ഇത് ഡാറ്റ പാതയാണ്, ഹാൻഡ്ഷേക്ക് അല്ല. ഇന്നലെ ട്രാഫിക് പ്രവർത്തിച്ചിരുന്നെങ്കിൽ ഇന്ന് കോൺഫിഗറേഷൻ മാറ്റമില്ലാതെ നിന്നാൽ, നെറ്റ്വർക്കിനെ സംശയിക്കുന്നതിന് മുമ്പ് ഒരു ഡിഫോൾട്ട് നീക്കിയ പാക്കേജ് അല്ലെങ്കിൽ ഫേംവെയർ അപ്ഡേറ്റിനെ സംശയിക്കുക.

ആദ്യ പിശകിന് പകരം ഡാറ്റ ചാനൽ സെറ്റപ്പിന് ചുറ്റുമുള്ള ലോഗ് വായിക്കുക. യോജിച്ച കംപ്രഷൻ മോഡ്, dev തരം, പുഷ് ചെയ്ത ഓപ്ഷനുകൾ എന്നിവ എല്ലാം ഉയർന്ന വെർബോസിറ്റിയിൽ പ്രത്യക്ഷപ്പെടുന്നു, അവ മൂന്ന് പൊരുത്തക്കേടുകളിൽ ഏതാണ് നിങ്ങൾക്കുള്ളതെന്ന് പറയുന്നു.

കംപ്രഷൻ ഫ്രെയിമിംഗാണ്, ബാൻഡ്വിഡ്ത്തല്ല

കംപ്രഷൻ പ്രവർത്തനക്ഷമമാകുമ്പോൾ, ഓരോ ഡാറ്റ പാക്കറ്റും അത് എങ്ങനെ എൻകോഡ് ചെയ്തു എന്ന് വിവരിക്കുന്ന ഒരു ഹെഡർ വഹിക്കുന്നു, ഇരു അറ്റങ്ങളും ആ ഹെഡറിൽ യോജിക്കണം. പുരാതന മാതൃകാ കോൺഫിഗറേഷനിൽ നിന്ന് ഇപ്പോഴും comp-lzo വഹിക്കുന്ന സെർവർ, കംപ്രഷൻ വരിയില്ലാത്ത ക്ലയന്റുമായി ചേർത്താൽ കൃത്യമായി ഈ പിശക് ഉണ്ടാക്കുന്നു: സെർവർ ക്ലയന്റ് ഒരിക്കലും എഴുതിയിട്ടില്ലാത്ത ഹെഡർ പ്രതീക്ഷിക്കുന്നു. comp-lzo compress lz4-v2 മായി കലർത്തുന്നതും അതേ രീതിയിൽ പരാജയപ്പെടുന്നു, രണ്ടും കംപ്രഷൻ എന്ന് വിളിക്കപ്പെട്ടാലും അൽഗോരിതങ്ങൾ വ്യത്യസ്തമാണ്. ആധുനിക ലിങ്കുകളിൽ ഓപ്ഷൻ ബാൻഡ്വിഡ്ത്ത് സവിശേഷതയല്ല, ഫ്രെയിമിംഗ് കരാറാണ്.

പതിപ്പുകളുടെ സ്വഭാവം ഒരു കെണി കൂട്ടിച്ചേർക്കുന്നു. 2.5 പരമ്പര കംപ്രഷൻ ഓപ്ഷനുകൾക്ക് കാലഹരണ മുന്നറിയിപ്പുകൾ നൽകാൻ തുടങ്ങി, 2.6 കംപ്രസ്ഡ് പാക്കറ്റുകൾ നിരസിക്കുന്നതിനും ഡാറ്റ കംപ്രസ് ചെയ്യാതെ വെറുതെ വിടുന്നതിനും ഇടയിൽ ഒരു വര വരയ്ക്കുന്നു. അതിനാൽ റൗട്ടർ ഫേംവെയർ അപ്ഡേറ്റ് ആരും ടണൽ എഡിറ്റ് ചെയ്യാതെ തന്നെ ഫലപ്രദമായ കരാർ മാറ്റാം.

ഇരു അറ്റങ്ങളും വിന്യസിക്കുക അല്ലെങ്കിൽ രണ്ടിൽ നിന്നും നീക്കം ചെയ്യുക

എല്ലാ കംപ്രഷൻ നിർദ്ദേശവും എണ്ണുക: സെർവർ ഫയൽ, പുഷ് ചെയ്ത ഏതെങ്കിലും ഓപ്ഷനുകൾ, ക്ലയന്റ്-നിർദ്ദിഷ്ട ഫയലുകൾ, ക്ലയന്റ് പ്രൊഫൈൽ. സെർവറിലെ comp-lzo ക്ലയന്റിലും അതേ വാക്ക് ആവശ്യപ്പെടുന്നു, adaptive പുരാതന ബിൽഡുകളിൽ നഗ്ന ഓപ്ഷൻ സാധാരണയായി അർത്ഥമാക്കുന്ന പാരമ്പര്യ ഡിഫോൾട്ടാണ്. LZO അല്ലെങ്കിൽ കംപ്രഷൻ ലേബലുള്ള റൗട്ടർ GUI സ്വിച്ചും അതേ ഓപ്ഷൻ എഴുതുന്നു, അതിനാൽ അൽഗോരിതങ്ങൾ കലർത്തുന്നതിന് പകരം പൊരുത്തപ്പെടുന്ന രീതിയിൽ സജ്ജമാക്കുക. സമാനമായ പേര് അനുയോജ്യമാണെന്ന് കരുതരുത്.

കംപ്രഷൻ വേണ്ടെങ്കിൽ ഇരു അറ്റങ്ങളിൽ നിന്നും ബോധപൂർവം നീക്കം ചെയ്യുക. സെർവറിലെ allow-compression no കംപ്രസ്ഡ് പാക്കറ്റുകൾ നിരസിക്കുന്നു, എന്നാൽ ക്ലയന്റുകൾ അവ നൽകുന്നത് നിർത്തിയതിന് ശേഷം മാത്രം; ക്ലയന്റ് ഇപ്പോഴും കംപ്രഷൻ അയയ്ക്കുമ്പോൾ അത് പ്രയോഗിക്കുന്നത് എതിർദിശയിൽ പൊരുത്തക്കേട് വീണ്ടും സൃഷ്ടിക്കുന്നു.

പുഷും ഉപകരണ തരവും പരിശോധിക്കുക

സെർവർ അതിന്റെ പ്രധാന ഫയലിൽ നിന്നോ ക്ലയന്റ്-നിർദ്ദിഷ്ട ഫയലിൽ നിന്നോ കംപ്രഷൻ നിർദ്ദേശം പുഷ് ചെയ്യാം, ക്ലയന്റ് pull-filter ഉപയോഗിച്ച് പുഷ് ചെയ്ത ഓപ്ഷനുകൾ ഒഴിവാക്കാം. വെർബോസിറ്റി 4-ൽ ഒരു ക്ലയന്റ് കണക്ട് ചെയ്യുക, സെർവർ പ്രഖ്യാപിച്ചതും ക്ലയന്റ് സ്വീകരിച്ചതും തമ്മിൽ വായിക്കുക, തുടർന്ന് ഒരു ഫിൽട്ടറും അത് നീക്കിയിട്ടില്ലെന്ന് സ്ഥിരീകരിക്കുക. ഇരുവശവും ഇപ്പോൾ യോജിക്കുന്നുവെങ്കിലും പിശക് തുടരുകയാണെങ്കിൽ, ഉപകരണ തരം നോക്കുക: ഒരറ്റത്ത് dev tap ഉം മറുവശത്ത് dev tun ഉം ഫ്രെയിമുകൾ കൈമാറാൻ കഴിയില്ല, കേർണലും അതേ രീതിയിൽ എഴുത്ത് നിരസിക്കുന്നു.

ബ്രിഡ്ജ് ചെയ്ത TAP വിന്യാസത്തിന് സെർവറിൽ യഥാർത്ഥ ബ്രിഡ്ജ് ആവശ്യമാണ്, വ്യത്യസ്ത ഉപകരണ നാമം മാത്രമല്ല. ഇന്റർഫേസ് ബ്രിഡ്ജിൽ ചേർക്കാതെ tap0 എന്ന് പേരുമാറ്റിയാൽ എഴുത്ത് സ്വീകരിക്കുകയും എങ്ങോട്ടും പോകാത്തതുമായ ഉപകരണം ഉണ്ടാകും.

തുടർന്ന് ഒരു ക്ലയന്റും ഒരു ലക്ഷ്യസ്ഥാനവും ഉപയോഗിച്ച് പരിശോധിക്കുക: സെർവറിന്റെ ടണൽ വിലാസത്തിലേക്ക് പിംഗ് ചെയ്യുക, തുടർന്ന് അതിന്റെ LAN-ലെ ഒരു ഹോസ്റ്റിലേക്ക്. ആദ്യത്തേത് ഡാറ്റ ചാനൽ തെളിയിക്കുന്നു, രണ്ടാമത്തേത് ഫോർവേഡിംഗ്.

അനുബന്ധ ലേഖനങ്ങൾ