TUN/TAP: i-agumenti engavumelekile — ukungafani kohlaka lwe-OpenVPN
Amaphutha okubhala anekhodi 22 ngokuvamile asho ukuthi izinhlangothi ezimbili azivumelani ngohlaka lwamaphakethe edatha, hhayi iphutha lesifaki. Qhathanisa ukucindezela kuzo zombili iziphethelo, bese uhlola uhlobo lwedivayisi.
Iklayenti liyaziphakamisa, ilogi ithi ixhunyiwe, futhi akekho umkhawulo odlula ethaneleni. Iseva iqeda umzamo nge-write to TUN/TAP: Invalid argument (code=22), okubonakala njengephutha lesifaki futhi ngokuvamile akusilo. Kumaphathisi nasemaseva amancane e-Linux, lolo mugqa ngokuvamile usho ukuthi izinhlangothi ezimbili azivumelani ngendlela amaphakethe edatha enziwa ngayo uhlaka, ngakho i-kernel iyenqaba ibhafa elidekripthiwe elinikezwe yona. Ukuhamba kwendlela akukahlolwa ngaleso sikhathi.
Ithebula lokuhamba kwendlela elilungile nesivumelwano sohlaka esiphukile kubukeka kufana kusuka kuklayenti: ixhunyiwe, futhi akukho okusebenzayo.
Ithanela liyaphakama futhi akukho okudlula kulo
Amaphutha okubhala kudivayisi yethanela ayenzeka ngemva kokudekhriptha nangaphambi kokuhamba kwendlela. I-daemon idekhriptha iphakethe, ilinikeza isixhumanisi, futhi isixhumanisi siyenqaba ngoba ibhafa alifani nalokho okulindelwe yileyo divayisi. Ikhodi 22 iyimpendulo evamile ye-agumenti engavumelekile, ngakho ulwazi olusizayo yisendlalelo: lena indlela yedatha hhayi ukuxhawula. Uma ithrafikhi yayisebenza izolo futhi yama namuhla ngaphandle koshintsho lokucwangciswa, solise ngokubuyekezwa kwekhwindiwe noma i-firmware okwasusa okuzenzakalelayo ngaphambi kokusola inethiwekhi.
Funda ilogi eduze nokusethwa kwesiteshi sedatha esikhundleni sephutha lokuqala. Imodi yokucindezela okuxoxiswene ngayo, uhlobo lwe-dev nezinketho eziphushiwe konke kuvela ekucaciseni okuphezulu, futhi kukutshela ukuthi yikuphi kokungafani okuthathu onakho.
Ukucindezela kuwuhlaka, hhayi ububanzi bebanzi
Uma ukucindezela kuvuliwe, iphakethe ngalinye ledatha lithwala isihloko esichaza ukuthi lafakwa kanjani ikhodi, futhi zombili iziphethelo kufanele zivumelane ngesihloko leso. Iseva esathwala i-comp-lzo kusuka kucwangciso lwesampula oludala, ihlanganiswe neklayenti elingenalo umugqa wokucindezela, ikhiqiza kanye leli phutha: iseva ilindele isihloko iklayenti elingakaze likubhale. Ukuhlanganisa i-comp-lzo ne-compress lz4-v2 kwehluleka ngendlela efanayo, ngoba ama-algorithm ahlukile nakuba womabili abizwa ngokuthi ukucindezela. Le nketho iyisivumelwano sohlaka hhayi isici sobubanzi bebanzi ezixhumanisini zanamuhla.
Ukwenza kwenguqulo kwengeza ugibe. Uchungechunge lwe-2.5 lwaqala ukukhipha izixwayiso zokuphelelwa yisikhathi zezinketho zokucindezela, futhi i-2.6 idweba umugqa phakathi kokwenqaba amaphakethe acindezelwe nokumane kushiye idatha ingacindezelwanga. Ngakho ukubuyekezwa kwe-firmware yephathisi kungashintsha isivumelwano esisebenzayo ngaphandle kokuthi ubani ahlele ithanela.
Qondanisa zombili iziphethelo noma kususe kuzo zombili
Bhala zonke iziqondiso zokucindezela: ifayela leseva, noma yiziphi izinketho eziphushiwe, amafayela aqondene neklayenti nephrofayela yeklayenti. I-comp-lzo kuseva idinga igama elifanayo kuklayenti, futhi i-adaptive iyisimo esizenzakalelayo esingamafa okungukuthi inketho engenalutho ngokuvamile isho ekwakhiweni okudala. Isishintsho se-GUI sephathisi esinelebula i-LZO noma ukucindezela sibhala leyo nketho, ngakho siyisethe ukuze ihambisane esikhundleni sokuhlanganisa ama-algorithm. Ungacabangi ukuthi igama elifanayo lihambisana.
Uma ukucindezela kungafunwa, kususe ngamabomu kuzo zombili iziphethelo. I-allow-compression no kuseva iyenqaba amaphakethe acindezelwe, kodwa kuphela ngemva kokuba amaklayenti eyekile ukuwanikeza; ukusebenzisa kuyilapho iklayenti lisaphusha ukucindezela kubuyisela ukungafani kolunye uhlangothi.
Hlola ukushubhula kanye nohlobo lwedivayisi
Iseva ingashubhula isiqondiso sokucindezela kusuka efayeleni layo eliyinhloko noma kufayela eliqondene neklayenti, futhi iklayenti lingalahla izinketho ezishubhuliwe nge-pull-filter. Xhuma iklayenti elilodwa ekucaciseni 4, funda lokho okumenyezelwe yiseva uma kuqhathaniswa nalokho okwamukelwa yiklayenti, bese uqinisekisa ukuthi asikho isihlungi esikususile. Uma izinhlangothi zombili manje zivumelana futhi iphutha lisaqhubeka, bheka uhlobo lwedivayisi: i-dev tap kolunye uhlangothi ne-dev tun kolunye ayikwazi ukushintshana ngamafreyimu, futhi i-kernel nayo iyenqaba ukubhala ngendlela efanayo.
Ukuthunyelwa kwe-TAP okunebhuloho kudinga ibhuloho langempela kuseva, hhayi nje igama ledivayisi elihlukile. Ukuqamba kabusha isixhumanisi ku-tap0 ngaphandle kokusengeza ebhulohweni kukhiqiza idivayisi eyamukela ukubhala futhi engayi ndawo.
Bese uqinisekisa ngeklayenti elilodwa nendawo eyodwa: ping ikheli lethanela leseva, bese kuba umphathi kwi-LAN yayo. Eyokuqala ifakazela isiteshi sedatha futhi eyesibili ifakazela ukudlulisa.