Odjemalec se overi, dnevnik pravi povezano, in noben paket ne prečka tunela. Strežnik konča poskus z write to TUN/TAP: Invalid argument (code=22), kar je videti kot okvara gonilnika in običajno ni. Na usmerjevalnikih in majhnih strežnikih Linux ta vrstica najpogosteje pomeni, da se strani ne strinjata glede tega, kako se podatkovni paketi okvirjajo, zato jedro zavrne dešifrirani medpomnilnik, ki ga je prejelo. Usmerjanje na tej točki še ni bilo preizkušeno.

Pravilna usmerjevalna tabela in pokvarjen dogovor o okvirjanju sta z vidika odjemalca videti enako: povezano in nič ne deluje.

Tunel se dvigne in nič ne gre skozenj

Napake pri pisanju na napravi tunela nastanejo po dešifriranju in pred usmerjanjem. Daemon dešifrira paket, ga preda vmesniku, in vmesnik ga zavrne, ker medpomnilnik ne ustreza temu, kar ta naprava pričakuje. Koda 22 je splošen odgovor na neveljaven argument, zato je koristna informacija plast: to je podatkovna pot in ne rokovanje. Če je promet včeraj deloval in se danes ustavil brez spremembe konfiguracije, sumite na posodobitev paketa ali vdelane programske opreme, ki je premaknila privzeto vrednost, preden sumite na omrežje.

Preberite dnevnik okoli nastavitve podatkovnega kanala namesto prve napake. Dogovorjeni način stiskanja, tip dev in potisnjene možnosti se vse pojavijo pri večji podrobnosti in povedo, katero od treh neujemanj imate.

Stiskanje je okvirjanje, ne pasovna širina

Ko je stiskanje omogočeno, vsak podatkovni paket nosi glavo, ki opisuje, kako je bil kodiran, in oba konca se morata strinjati glede te glave. Strežnik, ki še vedno nosi comp-lzo iz stare vzorčne konfiguracije, skupaj z odjemalcem brez vrstice za stiskanje ustvari točno to napako: strežnik pričakuje glavo, ki je odjemalec nikoli ni napisal. Mešanje comp-lzo z compress lz4-v2 spodleti enako, saj se algoritmi razlikujejo, čeprav se oba imenujeta stiskanje. Možnost je pogodba o okvirjanju in ne funkcija pasovne širine na sodobnih povezavah.

Vedenje različic doda past. Serija 2.5 je začela izdajati opozorila o zastarelosti za možnosti stiskanja, 2.6 pa potegne mejo med zavrnitvijo stisnjenih paketov in preprostim puščanjem podatkov nestisnjenih. Posodobitev vdelane programske opreme usmerjevalnika lahko zato spremeni dejanski dogovor, ne da bi kdo urejal tunel.

Poravnajte oba konca ali odstranite z obeh

Naštejte vsako direktivo stiskanja: strežniško datoteko, vse potisnjene možnosti, datoteke, specifične za odjemalca, in profil odjemalca. comp-lzo na strežniku zahteva isto besedo na odjemalcu, adaptive pa je podedovana privzeta vrednost, ki jo gola možnost običajno pomeni v starejših gradnjah. Stikalo GUI usmerjevalnika z oznako LZO ali stiskanje zapiše isto možnost, zato ga nastavite, da se ujema, namesto da mešate algoritme. Ne domnevajte, da je podobno ime združljivo.

Če stiskanja ne želite, ga namerno odstranite z obeh koncev. allow-compression no na strežniku zavrne stisnjene pakete, a šele potem, ko so odjemalci prenehali z njihovo ponudbo; uporaba, medtem ko odjemalec še vedno potiska stiskanje, znova ustvari neujemanje v nasprotni smeri.

Preverite potiskanje in vrsto naprave

Strežnik lahko potisne direktivo stiskanja iz svoje glavne datoteke ali iz datoteke, specifične za odjemalca, odjemalec pa lahko potisnjene možnosti zavrže z pull-filter. Povežite enega odjemalca pri podrobnosti 4, preberite, kaj je strežnik objavil, v primerjavi s tem, kar je odjemalec sprejel, nato potrdite, da noben filter tega ni odstranil. Če se obe strani zdaj strinjata in napaka ostaja, poglejte vrsto naprave: dev tap na enem koncu in dev tun na drugem si ne moreta izmenjevati okvirov in jedro prav tako zavrne pisanje.

Namestitev TAP z mostom potrebuje pravi most na strežniku, ne le drugačnega imena naprave. Preimenovanje vmesnika v tap0 brez dodajanja v most ustvari napravo, ki sprejme pisanje in ne gre nikamor.

Nato preverite z enim odjemalcem in enim ciljem: pingajte naslov tunela strežnika, nato gostitelja v njegovem omrežju LAN. Prvo dokazuje podatkovni kanal, drugo posredovanje.

Sorodni članki