TUN/TAP: hoja batili — kutokwafiana kwa fremu za OpenVPN
Hitilafu za kuandika zenye msimbo 22 kwa kawaida humaanisha kuwa pande mbili hazikubaliani kuhusu ufremu wa pakiti za data, si hitilafu ya kiendeshi. Linganisha mgandamizo katika ncha zote mbili, kisha aina ya kifaa.
Mteja huthibitisha utambulisho, kumbukumbu inasema imeunganishwa, na hakuna pakiti inayovuka handaki. Seva inamaliza jaribio kwa write to TUN/TAP: Invalid argument (code=22), ambayo inaonekana kama hitilafu ya kiendeshi na kwa kawaida si hivyo. Kwenye ruta na seva ndogo za Linux, mstari huo mara nyingi humaanisha kuwa pande mbili hazikubaliani kuhusu jinsi pakiti za data zinafremu, kwa hiyo kerneli inakataa bafa iliyofumbuliwa iliyopewa. Uelekezaji haujajaribiwa wakati huo.
Jedwali sahihi la uelekezaji na makubaliano yaliyovunjika ya ufremu huonekana sawa kutoka kwa mteja: imeunganishwa, na hakuna kinachofanya kazi.
Handaki hupanda na hakuna kinachovuka
Hitilafu za kuandika kwenye kifaa cha handaki hutokea baada ya kufumbua na kabla ya uelekezaji. Daemoni hufumbua pakiti, huikabidhi kwa kiolesura, na kiolesura huikataa kwa sababu bafa hailingani na kile kifaa hicho kinachotarajia. Msimbo 22 ni jibu la jumla la hoja batili, kwa hiyo habari muhimu ni tabaka: hii ni njia ya data na si kupeana mikono. Ikiwa trafiki ilifanya kazi jana na ikasimama leo bila mabadiliko ya usanidi, shuku sasisho la pakiti au firmware lililohamisha chaguo-msingi kabla ya kushuku mtandao.
Soma kumbukumbu karibu na usanidi wa kituo cha data badala ya hitilafu ya kwanza. Hali ya mgandamizo iliyokubaliwa, aina ya dev na chaguo zilizosukumwa zote huonekana kwa maelezo zaidi, na zinakuambia ni upotofu upi kati ya mitatu ulio nao.
Mgandamizo ni ufremu, si upana wa bendi
Mgandamizo ukiwashwa, kila pakiti ya data hubeba kichwa kinachoeleza jinsi ilivyosimbwa, na ncha zote mbili lazima zikubaliane kuhusu kichwa hicho. Seva ambayo bado hubeba comp-lzo kutoka usanidi wa mfano wa zamani, ikiunganishwa na mteja asiye na mstari wa mgandamizo, huzalisha hitilafu hii hasa: seva inatarajia kichwa ambacho mteja hakuwahi kuandika. Kuchanganya comp-lzo na compress lz4-v2 hushindwa vivyo hivyo, kwa sababu algoriti zinatofautiana ingawa zote huitwa mgandamizo. Chaguo ni mkataba wa ufremu na si kipengele cha upana wa bendi kwenye viungo vya kisasa.
Tabia ya matoleo huongeza mtego. Mfululizo wa 2.5 ulianza kutoa tahadhari za kuchakaa kwa chaguo za mgandamizo, na 2.6 huchora mstari kati ya kukataa pakiti zilizogandamizwa na kuacha data bila mgandamizo. Kwa hiyo sasisho la firmware la ruta linaweza kubadilisha makubaliano yanayotumika bila mtu yeyote kuhariri handaki.
Pangilia ncha zote mbili au iondoe kutoka zote mbili
Orodhesha kila maagizo ya mgandamizo: faili ya seva, chaguo zozote zilizosukumwa, faili maalum za mteja na wasifu wa mteja. comp-lzo kwenye seva huhitaji neno lile lile kwa mteja, na adaptive ni chaguo-msingi la urithi ambalo chaguo tupu kwa kawaida humaanisha kwenye miundo ya zamani. Swichi ya GUI ya ruta iliyoandikwa LZO au mgandamizo huandika chaguo hilo hilo, kwa hiyo weka ili ilingane badala ya kuchanganya algoriti. Usidhani kuwa jina linalofanana linaendana.
Ikiwa mgandamizo hauhitajiki, iondoe kwa makusudi kutoka ncha zote mbili. allow-compression no kwenye seva hukataa pakiti zilizogandamizwa, lakini tu baada ya wateja kuacha kuzitoa; kulitumia wakati mteja bado anasukuma mgandamizo huunda upya upotofu kwa upande mwingine.
Angalia usukuzaji na aina ya kifaa
Seva inaweza kusukuma maagizo ya mgandamizo kutoka faili yake kuu au kutoka faili maalum ya mteja, na mteja anaweza kuacha chaguo zilizosukumwa kwa pull-filter. Unganisha mteja mmoja kwa maelezo 4, soma kile seva ilitangaza dhidi ya kile mteja alikubali, kisha thibitisha kuwa hakuna kichujio kilichoiondoa. Ikiwa pande zote mbili sasa zinakubaliana na hitilafu inaendelea, angalia aina ya kifaa: dev tap upande mmoja na dev tun upande mwingine haziwezi kubadilishana fremu, na kerneli hukataa uandishi vivyo hivyo.
Usambazaji wa TAP wenye daraja unahitaji daraja halisi kwenye seva, si jina la kifaa tofauti tu. Kubadilisha jina la kiolesura kuwa tap0 bila kuongeza kwenye daraja hutoa kifaa kinachokubali uandishi na hakiendi popote.
Kisha thibitisha kwa mteja mmoja na lengwa moja: ping anwani ya handaki ya seva, kisha mwenyeji kwenye LAN yake. Ya kwanza huthibitisha kituo cha data na ya pili uwasilishaji.