Waxaad haysataa shuruud aan laabanayn: dhinaca kale waa inuu helo isla paketka IP ee 1,500 byte ee soo saaraha diro, oo ay ku jiraan cinwaannada. Tunnel ma gelin karo paketkaas iyo frame-giisa gudaha paket labaad oo IP ah oo 1,500 byte ah, sidaas darteed wax naqshadda ka mid ah waa inuu ka tanaasulo. Nidaamka hoose waa kan aan ku isticmaalo daaqadda isbeddelka: qor miisaaniyadda byte, caddee waxa hoosta run ahaantii qaadi karo, ka dibna dooro hal hab oo gaadiid ah oo hubi paketka gudaha dhinaca kale.

Qor miisaaniyadda byte ka hor inta aadan wax ka beddelin profile

Encapsulation waxay ku daraysaa byte dhowr lakab, wadarta guudna waa sifo profile-kaaga ah ee ma aha mid joogto ah oo la raadin karo. Qoyska cinwaanka, doorashada cipher, borotokoolka gaadiidka iyo ikhtiyaar kasta oo cadaadis ama frame ah ayaa nambarka dhaqaajiya, sidaas darteed ka jarista laga koobiyeeyay meel kale oo la dhigay waxba ma tarayso miisaaniyad ahaan. Ka bilow shuruudda gudaha, ku dar xad-dhaafka la cabbiray ee paketkiiba ee habayntaada, oo qor cabbirka dibadda ee natiijada ku yimaadda tiketka isbeddelka ka hor inta qof aanu wax ka beddelin fayl.

Laba nambar ayaa go'aamiya naqshadda: paketka dibadda ee ugu weyn ee wadadu qaado iyada oo aan fragmentaation ahayn, iyo byte-yada dheeraadka ah ee encapsulation-kaagu u baahan yahay. Marka kan hore ka yar yahay kan labaad oo lagu daray 1,500, mid ka mid ah waa inuu is beddelo. Doorashadu markaas way cidhiidhi noqotaa ee ma aha hal-abuur, sidaas darteed waxaan qoraa labada nambar ka hor inta aan ka hadlin ikhtiyaarrada. Waxba lakabka tunnel kama cadaadiyo byte-yadaas, mana jiro hal MTU oo dhan oo meesha ka saaraya shuruudda lagu siiyay.

Baadh hoosta iyada oo la isticmaalayo ping do-not-fragment

Cabbir waddada halkii aad ka aamini lahayd MTU interface-ka, sababtoo ah xiriirka ugu yar ee waddada dibadda ayaa muhiim ah. Linux dhexdiisa, -M do wuxuu dejiyaa bit do-not-fragment oo -s wuxuu qaataa payload ICMP, sidaas darteed frame 1,500 byte ah wuxuu ku jawaabaa 1,472 byte payload marka laga jaro cinwaanka IP ee 20 byte iyo cinwaanka ICMP ee 8 byte. Kordhi payload-ka ilaa baadhitaanku guul-darraysto, ka dib u bood cabbir jumbo si aad u aragto haddii waddadu gabi ahaanba qaado.

ping -M do -s 1472 -c 2 198.51.100.10
ping -M do -s 8972 -c 2 198.51.100.10
tracepath -n 198.51.100.10

Waddo ka gudubta 1,472 oo ku guul-darraysta 8,972 ma qaadi karto paket gudaha ah oo 1,500 byte ah oo xad-dhaaf la socda hal paket dibadda ah. Taasi waa jawaabta aad u baahnayd ka hor inta aadan furin habaynta VPN-ka. Waxay kaloo go'aamisaa qaybta labaad ee soo socota ee kugu khusaysa, sidaas darteed labada natiijada baadhitaanka ku hay tiketka agtiisa. Qiyaasidda halkan waxay ku kacdaa hal daaqad dayactir, sababtoo ah tunnel isku sheegta up wax kama sheegto paketka ugu weyn ee waddadu aqbali doonto.

Kor u qaad MTU waddada kaliya halka hop kastaa ku qanaco

Jumbo frames waa sifo end-to-end ah, ma aha dejinta aad ku shidaysid labada endpoint ee aad si kadis ah u xakameyso. Switch kasta, router iyo gudbinta shirkadda ee waddada dibadda waa inay ku qancaan cabbirka weyn, hal hop oo 1,500 byte ahna wuxuu si aamusan u tuurayaa paketka aad hadda weynaysay. Kor u qaadista interface-ka maxalliga kaliya waa isbeddelka badhka ah ee caadiga ah ee tunnel-ka u muujiya mid jaban halka hoostu si aamusan u dhacayso.

ip link set dev eth1 mtu 9000
ip link show dev eth1
ping -M do -s 8972 -c 2 198.51.100.10

Beddel interface-ka, ka dibna dib u baadh isla waddadaas ka hor inta aadan wax kale beddelin. Haddii baadhitaanku weli guul-darraysto, ku celi ip link set dev eth1 mtu 1500 oo u gudub fragmentaation halkii aad la murmi lahayd shirkad ku saabsan xiriir aan adiga kuu lahayn.

Isticmaal fragmentaation tunnel-ka marka hoostu kori karin

Hab fragmentaation la taageeray oo ka hooseeya paketka gudaha ayaa u ogolaanaya dhowr paket dibadda ah inay qaadaan hal paket gudaha, endpoint-ka tunnel-ka ee ka soo horjeedana dib u soo ururiyaa ka hor inta uu asalka u gudbin stack-ka. Ikhtiyaarka UDP fragment ee Community OpenVPN waa mid ka mid ah hirgelinta fikraddaas, mana aha isla wax la mid ah fragmentaation IP caadi ah ee paketka dibadda. Labada peer waa inay ku shaqeeyaan nooc taageera qaabkaas, waddada xogta-na waa inay tahay tan aad ka fikirtay: macaamiisha OpenVPN 3 iyo kanaallada xogta ee kernel-ku dardargeliyo waxay leeyihiin xaddidaadyo kala duwan, sidaas darteed profile ka shaqeeya hal macmiil ayaa ku guul-darraysta mid kale.

openvpn --config client.ovpn --tun-mtu 1500 --fragment 1400 --verb 4

Fragmentaation dibadda caadi ah waa ikhtiyaarka kale, waana kan daciifka ah. Router-yada IPv6 gabi ahaan ma fragmentaation gareeyaan paket la gudbiyay, sidaas darteed paket dibadda oo aad u weyn wuu si fudud u dhintaa, soo saarahana wuu ogaadaa kaliya haddii farriinta ICMPv6 ee la xiriirta ay ka badbaado waddada. Fragment-yada waxay kaloo soo jiitaan shaandhayn iyo xoojinta lumidda, sidaas darteed waxaan tan u arkaa qorshe-ka-badan halkii qorshe.

Qaade dibadda oo ku saleysan qulqulka ayaa ka gudba su'aasha cabbirka isagoo qaybinaya qulqulkiisa byte, paketka gudaha ee dib loo dhisayna weli wuxuu noqon karaa 1,500 byte. Taasi waa go'aan gaadiid oo leh kharashkiisa, oo ay ku jiraan dhaqanka caanka ah ee TCP gudaha TCP, sidaas darteed si ula kac ah u qaado ee ha u qaadin natiijo dhinac ah oo ka timid dood MTU.

Xaqiiji in paketka gudaha yimaado isagoo aan isbeddelin

Xaqiijintu ma aha handshake guulaystay. Ka duub labada daraf ee interface-ka tunnel-ka oo isbarbar dhig cabbirka iyo waxa ku jira paketka ay codsigu run ahaantii diray iyo kii dhinaca kale helay.

ip link show dev tun0
ping -M do -s 1472 -c 2 10.8.0.1
tcpdump -ni tun0 -c 5 'icmp and greater 1000'

Haddii duubistu muujiso paketka gudaha oo cabbir buuxa ah darafka kale, doorashada qaadistu way shaqaysaa oo shaqada hadhay waa in la diiwaan geliyo. Haddii aanay waxba muujin inta tunnel-ku isku sheegayo up, paketka dibadda ayaa meel u dhexeeya endpoint-yada lagu tuurayaa, taas oo kuu celinaysa baadhitaanka ee ma aha dejinta cipher-ka.

Qor saddex waxyaabood tiketka isbeddelka ka hor inta aadan xidhin: miisaaniyadda dibadda ee la cabbiray, habka aad dooratay, iyo amarka caddeeyay in paketka gudaha uu badbaaday. Qofka xiga ee taabanaaya tunnel-kan wuxuu u baahan doonaa saddexda, midkoodna lama dib u dhisi karo faylka habaynta oo keliya.

Maqaallo la xiriira