Cario pecyn mewnol sefydlog o 1,500 beit ar draws VPN
Ni fydd pecyn mewnol sefydlog o 1,500 beit yn ffitio llwybr allanol o 1,500 beit. Mesurwch y gorbenyn, yna dewiswch MTU tanl lif mwy neu dagio a gefnogir.
Mae gennych ofyniad nad yw’n plygu: rhaid i’r ochr bell dderbyn yr un pecyn IP 1,500 beit y mae’r anfonwr yn ei ollwng, gan gynnwys y penawdau. Ni all twnnel lapio’r pecyn hwnnw ynghyd â’i ffrâmio ei hun y tu mewn i ail becyn IP 1,500 beit, felly rhaid i rywbeth yn y dyluniad ildio. Y drefn isod yw’r un a ddefnyddiaf mewn ffenestr newid: ysgrifennu’r gyllideb beit, profi beth y gall y tanl lif ei gario mewn gwirionedd, yna dewis un mecanwaith cludo yn union a chadarnhau’r pecyn mewnol ar yr ochr bell.
Ysgrifennwch y gyllideb beit cyn golygu proffil
Mae’r amgáu yn ychwanegu beit ar sawl haen, ac mae’r cyfanswm yn briodwedd o’ch proffil yn hytrach na chysonyn y gallwch chwilio amdano. Mae’r teulu cyfeiriadau, dewis y seiffr, y protocol cludo ac unrhyw opsiwn cywasgu neu ffrâmio i gyd yn symud y rhif, a dyna pam mae tynnu’n cael ei gopïo o osodiad arall yn ddiwerth fel cyllideb. Dechreuwch o’r gofyniad mewnol, ychwanegwch y gorbenyn mesuredig fesul pecyn o’ch cyfluniad eich hun, ac ysgrifennwch y maint allanol sy’n deillio ar y tocyn newid cyn i unrhyw un olygu ffeil.
Mae dau rif yn penderfynu’r dyluniad: y pecyn allanol mwyaf y mae’r llwybr yn ei gario heb dagio, a’r beit ychwanegol y mae’ch amgáu yn ei angen. Pan fo’r cyntaf yn llai na’r ail ynghyd â 1,500, rhaid i un ohonynt newid. Mae’r dewis wedyn yn gul yn hytrach na chreadigol, a dyna pam rwy’n ysgrifennu’r ddau rif i lawr cyn trafod opsiynau. Nid oes dim ar haen y twnnel yn cywasgu’r beit hynny i ffwrdd, ac nid oes un cyfanrif MTU yn dileu’r gofyniad a roddwyd i chi.
Profwch y tanl lif gyda phingiau na’r dylid eu darnio
Mesurwch y llwybr yn hytrach na choelio MTU y rhyngwyneb, oherwydd y cyswllt lleiaf ar y llwybr allanol sydd bwys. Ar Linux mae -M do yn gosod y did na’r dylid eu darnio ac mae -s yn cymryd y llwyth ICMP, felly mae ffrâm 1,500 beit yn ateb ar 1,472 beit o lwyth ar ôl tynnu’r pennawd IP 20 beit a’r pennawd ICMP 8 beit. Cerddwch y llwyth i fyny nes i’r prawf fethu, yna neidiwch i faint jumbo i weld a yw’r llwybr yn ei gario o gwbl.
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
Ni all llwybr sy’n pasio 1,472 ac yn methu ar 8,972 gario pecyn mewnol 1,500 beit ynghyd â’r gorbenyn mewn un pecyn allanol. Dyna’r ateb yr oedd ei angen arnoch cyn agor y cyfluniad VPN. Mae hefyd yn penderfynu pa un o’r ddau adran nesaf sy’n berthnasol i chi, felly cadwch y ddau ganlyniad prawf wrth y tocyn. Mae dyfalu yma’n costio ffenestr gynnal, oherwydd nid yw twnnel sy’n adrodd ei fod yn weithredol yn dweud unrhyw beth am y pecyn mwyaf y bydd y llwybr yn ei dderbyn.
Codwch MTU y llwybr yn unig lle mae pob naid yn cytuno
Mae ffrâmiau jumbo’n briodwedd o’r dechrau i’r diwedd, nid gosodiad rydych yn ei alluogi ar y ddau bwynt terfynol rydych yn digwydd eu rheoli. Rhaid i bob swits, llwybrydd a man trosglwyddo darparwr ar y llwybr allanol gytuno ar y maint mwy, a bydd un naid 1,500 beit yn taflu’r pecyn rydych newydd ei wneud yn fwy yn dawel. Codi’r rhyngwyneb lleol yn unig yw’r newid hanner ffordd clasurol sy’n gwneud i’r twnnel edrych yn doredig tra mae’r tanl lif yn gollwng yn dawel.
ip link set dev eth1 mtu 9000 ip link show dev eth1 ping -M do -s 8972 -c 2 198.51.100.10
Newidiwch y rhyngwyneb, yna ailbrofwch yr un llwybr cyn newid unrhyw beth arall. Os yw’r prawf yn dal i fethu, dychwelwch gyda ip link set dev eth1 mtu 1500 a symudwch at dagio yn lle dadlau gyda darparwr am gyswllt nad yw’n eiddo i chi.
Defnyddiwch dagio’r twnnel pan na all y tanl lif dyfu
Mae mecanwaith tagio a gefnogir o dan y pecyn mewnol yn gadael i sawl pecyn allanol gario un pecyn mewnol, ac mae’r pwynt terfynol pell yn ailgynnull y rhain cyn trosglwyddo’r gwreiddiol i’r pentwr. Opsiwn tagio UDP Community OpenVPN yw un gweithrediad o’r syniad hwnnw, ac nid yw’r un peth â thagio IP cyffredin y pecyn allanol. Rhaid i’r ddau barti redeg fersiwn sy’n cefnogi’r fformat, a rhaid i lwybr y data fod yr un y gredwch yw: mae gan gleientiaid OpenVPN 3 a sianeli data a gyflymir gan y cnewyllyn derfynau gwahanol, felly gall proffil sy’n gweithio ar un cleient fethu ar un arall.
openvpn --config client.ovpn --tun-mtu 1500 --fragment 1400 --verb 4
Tagio allanol cyffredin yw’r opsiwn arall, ac ef yw’r gwannaf. Nid yw llwybryddion IPv6 yn tagio pecyn a anfonir ymlaen o gwbl, felly mae pecyn allanol rhy fawr yn marw’n syml ac mae’r anfonwr yn dysgu amdano yn unig os yw’r neges ICMPv6 berthnasol yn goroesi’r llwybr. Mae darnau hefyd yn gwahodd hidlo ac amlhau colledion, a dyna pam rwy’n ei drin fel cynllun wrth gefn yn hytrach na chynllun.
Mae cludydd allanol sy’n seiliedig ar ffrwd yn osgoi’r cwestiwn maint trwy rannu ei ffrwd beit ei hun, a gall y pecyn mewnol a ailadeiladwyd fod yn 1,500 beit o hyd. Mae’n benderfyniad cludo sydd â’i gost ei hun, gan gynnwys ymddygiad adnabyddus TCP o fewn TCP, felly gwnewch ef yn fwriadol yn hytrach nag fel sgil-effaith dadl am MTU.
Cadarnhewch fod y pecyn mewnol yn cyrraedd yn ddigyfnewid
Nid yw dilysu yn ysgwyd llaw llwyddiannus. Cipiwch ar ryngwyneb y twnnel ar y ddau ben a chymharwch faint a chynnwys y pecyn a anfonodd y rhaglen mewn gwirionedd â’r un a dderbyniodd yr ochr bell.
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'
Os yw’r cipiad yn dangos y pecyn mewnol maint llawn ar y pen pell, mae’r dewis cludo yn gweithio a’r dasg sy’n weddill yw ei chofnodi. Os nad yw’n dangos dim tra mae’r twnnel yn adrodd ei fod yn weithredol, mae’r pecyn allanol yn cael ei ollwng yn rhywle rhwng y pwyntiau terfynol, sy’n eich anfon yn ôl at y prawf yn hytrach nag at osodiadau’r seiffr.
Cofnodwch dri pheth ar y tocyn cyn ei gau: y gyllideb allanol a fesurwyd, y mecanwaith a ddewisoch, a’r gorchymyn a brofodd fod y pecyn mewnol wedi goroesi. Bydd yr un nesaf sy’n cyffwrdd â’r twnnel hwn angen y tri, ac ni ellir ailadeiladu unrhyw un ohonynt o’r ffeil cyfluniad yn unig.