TUN/TAP: dood aan sax ahayn — isku mid la'aanta qaabaynta OpenVPN
Khaladaadka qorista ee leh koodka 22 waxay inta badan ka dhigan yihiin in labada dhinac aysan ku heshiin qaabaynta baakadaha xogta, ma aha cilad darawal. Isbarbar dhig cadaadiska labada gees, ka dibna nooca qalabka.
Macmiilku wuu aqoonsadaa, log-ku wuxuu leeyahay xiran, mana jiro baakad ka gudba tunnel-ka. Server-ku wuxuu joojiyaa isku dayga write to TUN/TAP: Invalid argument (code=22), kaas oo u eg cilad darawal oo inta badan aan ahayn. Router-yada iyo server-yada yaryar ee Linux, sadarkaas inta badan waxay ka dhigan tahay in labada dhinac aysan ku heshiin sida baakadaha xogta loo qaabeeyo, sidaas darteed kernel-ku wuu diidaa kaydka la fur-fureeyay ee la siiyay. Marinka lama tijaabin wakhtigaas.
Shaxda marin habboon iyo heshiis qaabayn jaban waxay ka muuqdaan isku mid dhinaca macmiilka: xiran, waxna ma shaqeeyaan.
Tunnel-ku wuu soo kacaa waxna kama gudbo
Khaladaadka qorista ee qalabka tunnel-ka waxay dhacaan fur-fureyn ka dib iyo marin ka hor. Daemon-ku wuxuu fur-fureeyaa baakad, wuxuu siiyaa interface-ka, interface-kuna wuu diidaa sababtoo ah kaydku ma waafaqsana waxa qalabkaas filayo. Koodka 22 waa jawaabta guud ee dood aan sax ahayn, marka macluumaadka faa'iidada leh waa lakabka: kani waa marinka xogta ee ma aha is-gacan-qabashada. Haddii taraafikadu shalay shaqeynayay oo maanta istaagay isbeddel konfigaraashan la'aan, ka shaki cusboonaysiinta baakad ama firmware oo dhaqaajiyay default ka hor intaadan ka shakin shabakadda.
Akhri log-ka ku wareegsan dejinta kanaalka xogta halkii khaladkii ugu horreeyay. Habka cadaadiska la heshiiyay, nooca dev iyo xulashooyinka la riixay dhammaantood waxay u muuqdaan faahfaahin sare, waxayna kuu sheegaan mid ka mid ah saddexda isku mid la'aan ah.
Cadaadiska waa qaabayn, ma aha ballac-band
Marka cadaadiska la daaro, baakad kasta oo xog ah waxay qaaddaa madax qeexaya sida loo codeeyay, labada geesna waa in ay ku heshiiyaan madaxaas. Server-ku weli qaadanaya comp-lzo konfigaraashan tusaale duug ah, oo lammaane la ah macmiil aan lahayn sadarka cadaadiska, wuxuu soo saaraa isla khaladkan: server-ku wuxuu filayaa madax uusan macmiilku waligiis qorin. Ku darista comp-lzo iyo compress lz4-v2 si la mid ah ayay u guuldareysataa, sababtoo ah algorithms-ku way kala duwan yihiin in kasta oo labadaba cadaadis loo yiraahdo. Xulashadu waa heshiis qaabayn ee ma aha sifo ballac-band oo ku taal xiriirada casriga ah.
Dabeecadda noocyadu waxay ku dartaa dabinka. Taxanaha 2.5 wuxuu bilaabay inuu soo saaro digniinno duugoobay xulashooyinka cadaadiska, 2.6-na wuxuu xariiq dhex dhigaa diidmada baakadaha cadaadisan iyo in xogta si fudud looga tago cadaadis la'aan. Sidaas darteed cusboonaysiinta firmware-ka router-ku waxay beddeli kartaa heshiiska dhaqan galay iyada oo aan qofna tafatirin tunnel-ka.
Isku waafaji labada gees ama ka saar labadaba
Tiri tilmaan kasta oo cadaadis: faylka server-ka, xulasho kasta oo la riixay, faylalka gaarka u ah macmiilka iyo borofaylka macmiilka. comp-lzo server-ka wuxuu u baahan yahay isla kelmadda macmiilka, adaptive-na waa default-ka dhaxalka ah ee xulashada qaawan inta badan ka dhigan tahay build-yada duug. Gulufka GUI-ga router-ka oo lagu calaamadeeyay LZO ama cadaadis wuxuu qoraa isla xulashadaas, marka u dhig si uu u waafaqo halkii aad isku qasi lahayd algorithms. Ha u malayn in magac u eg yahay mid waafaqsan.
Haddii cadaadis aan la rabin, si ula kac ah ka saar labada gees. allow-compression no server-ka wuxuu diidaa baakadaha cadaadisan, laakiin kaliya ka dib marka macmiilladu joojiyaan soo bandhigidda; ku dhaqangelinta inta macmiilku weli riixayo cadaadiska waxay dib u abuurtaa isku mid la'aanta jihada kale.
Hubi riixista iyo nooca qalabka
Server-ku wuxuu riixi karaa tilmaan cadaadis faylkiisa ugu weyn ama fayl gaar u ah macmiilka, macmiilkuna wuxuu tuuri karaa xulashooyinka la riixay pull-filter. Ku xidh hal macmiil faahfaahin 4, akhri waxa server-ku ku dhawaaqay iyo waxa macmiilku aqbalay, ka dibna xaqiiji in aanu jirin filter ka saaray. Haddii labada dhinac hadda heshiiyaan oo khaladku sii jiro, eeg nooca qalabka: dev tap hal gees iyo dev tun geeska kale ma kala beddeli karaan frames, kernel-kuna si la mid ah ayuu u diidaa qorista.
Geynta TAP oo buundo leh waxay u baahan tahay buundo dhab ah server-ka, ma aha kaliya magac qalab kale. Dib u magacaabista interface-ka oo tap0 ah iyada oo aan lagu darin buundo waxay soo saartaa qalab aqbala qorista oo aan meelna tagin.
Ka dib ku xaqiiji hal macmiil iyo hal meel: ping ciwaanka tunnel-ka server-ka, ka dib martigeliyaha ku yaal LAN-kiisa. Kan ugu horreeya wuxuu caddeeyaa kanaalka xogta, kan labaadna gudbinta.