In side ladt, in ping slagget, en in bestânskopie hinget elk kear op itselde punt. Dat patroan wiist op pakketgrutte, net op bânbreedte of oanmeldgegevens. Enkapsulaasje foeget bytes ta oan elk pakket, sadat in lading dy't op it oarspronklike paad paste, de limyt oerskride kin as er troch in tunnel giet. Yn dizze petearen wurde trije ferskillende getallen MTU neamd, en betizing deroer liedt ta in ynstelling dy't ien applikaasje reparearret en in oare brekt.

Trije getallen dy't minsken MTU neame

De ynterface-MTU is de konfigurearre limyt foar in pakket op dat keppel. De paad-MTU is de lytste limyt lâns de rûte, en dy wurdt ûntdutsen yn stee fan konfigurearre. De TCP MSS is de grutte fan 'e lading dy't in partner oanjout dat er ûntfange kin, en dy wurdt ôflaat fan 'e oare twa yn stee fan in aparte fysike limyt te wêzen.

In tunnel hat in binnen- en in bûtenbyld. It bûtenpakket draacht it enkapsulearre pakket plus de kopteksten dy't it protokol nedich hat, sadat de brûkbere binnenmjitte lytser is as it bûtenpaad tastiet. It paad nei de VPN-tsjinner ferskilt ek fan it paad fan 'e tsjinner nei de bestimming.

Paad-MTU-ûntdekking lit in stjoerder de wurkjende grutte leare, mar it hinget ôf fan it oankommen fan weromkeppeling. As in tuskenlizzend apparaat de relevante ICMP-berjochten filteret, bliuwt de stjoerder pakketten stjoeren dy't nea foltôgje, en dat is it klassike swarte gat. It symptoom is werkenber as jo it ienris kenne: de hânskutting slagget, de earste lading fan folsleine grutte ferdwynt, en de ferbining wurdt úteinlik weromset of hinget. Neat yn it logboek fan 'e applikaasje liket op in netwurkprobleem.

Undersykje it paad mei in lading dy't jo behearskje

In test is bewiis oer ien rûte en ien grutte, net in oanrikkemandearre ynstelling. Brûk in host dy't antwurdet, en feroarje allinnich de grutte fan 'e lading.

ping -M do -s 1372 -c 2 203.0.113.20
ping -4 -f -l 1372 vpn.example

It earste kommando stjoert in Linux-test mei fragmintaasje útskeakele en in lading fan 1372 bytes, en it twadde docht itselde op Windows, dêr't de lading mei -l ynsteld wurdt. In antwurd betsjut dat dy grutte it paad oerlibbe hat. In berjocht dat fragmintaasje nedich is, is ynformtyf, wylst in timeout dûbelsinnich is om't de host of in tuskenlizzend apparaat ICMP gewoan weilitte kin.

Kuierje de grutte yn in pear stappen del yn stee fan binêr te sykjen oant de byte. Jo besykje fêst te stellen oft der in grutteteplet is, net om in getal foar elk netwurk te publisearjen. It getal dat jo fine jildt foar dit paad, dit protokol en dit adresfamylje.

IPv4 en IPv6 fragmintearje oars, sadat in testresultaat fan it iene famylje neat seit oer it oare. Test it famylje dat de applikaasje eins brûkt.

MSS-knepset helpt allinnich TCP

By TCP wurdt de effektive lading by de hânskutting úthannele, en in router op it paad kin dy wearde nei ûnderen ta oerskriuwe sadat beide úteinen lytsere segminten stjoere. Dat is wat MSS-knepset docht, en it wurket sûnder de klant hielendal oan te reitsjen.

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
ip link show tun0

De earste regel knepset de oankundige MSS nei de paad-MTU foar trochstjoerde TCP-hânskutten, en de twadde lit de eigen MTU fan 'e tunnel-ynterface sjen sadat jo dy fergelykje kinne mei wat it paad tastiet. Knepset is de minst ynkringende repaaraasje foar in TCP-applikaasje dy't nei de hânskutting hinget.

Foar UDP docht it neat. In stim- of spielklant dy't grutte datagrammen stjoert, sil in MSS-ynstelling folslein negearje, om't der gjin hânskutting is om oer te skriuwen. As de falende applikaasje UDP is, sjoch dan yn stee dêrfan nei de pakketgrutte-opsjes fan 'e klant sels. De twa protokollen falle oars en wurde mei ferskillende ark reparearre, dêrom heart it protokol yn 'e earste sin fan it ticket.

OpenVPN biedt opsjes lykas tun-mtu, mssfix en fragmintaasje-relatearre ynstellingen, en har gedrach hinget ôf fan 'e ferzje en fan oft it datakanaal AEAD is. Lês de hânlieding foar de ferzje dy't brûkt wurdt, en feroarje ien opsje tagelyk.

Feroarje ien stipe ynstelling en werhelje beide rinnen

Hâld it oarspronklike profyl, feroarje ien stipe wearde, en werhelje sawol it lytse fersyk dat wurke as de grutte oerdracht dy't mislearre. As allinnich de grutte feroaret, sieten jo efter grutte oan. As beide feroarje, is der wat oars mei bewege.

In legere wearde kin it symptoom ferminderje wylst it oerhead taheakket, sadat it lytst mooglike getal net it doel is. It doel is in grutte dy't it paad betrouber mei it minste fergripen draacht. Notearje de wearde, it paad en de klantferzje yn it ticket, om't itselde getal earne oars tapast in gok is.

As itselde profyl fan in oar fertroud netwurk wurket, hâld dat ferskil yn 'e diagnoaze yn stee fan 'e klant reparearre te ferklearjen. De fariabele dy't feroare is it paad, en it paad is wat de test metten hat.

Relatearre artikelen