OpenVPN op PPPoE: link-mtu, tun-mtu oder mssfix erofsetzen?
Ping funktionéiert, awer grouss Säiten hänken um PPPoE- oder DS-Lite-Uplink. Entscheet tëscht link-mtu, tun-mtu a mssfix duerch d'Streck moossen, net duerch roden.
Ping äntwert, DNS léist op, a jiddweree Säit, déi e voll Segment brauch, hänkt. Op engem Uplink, dee seng eege Kapselung bäisetzt, verléiert d'Streck stëll e puer Dosen Byte Budget, an e Profil, deen fir propper Ethernet geschriwwe gouf, freet weider Paketen un, déi d'Linn net droe kann. D'Verbindung ass net lues; si verwerft genee déi Paketen, op déi et ukënnt.
Dräi Optioune kënnen dat behiewen, an si schaffen op verschiddenen Niveauen. Déi falsch ze wielen mécht entweder näischt oder mécht den Tunnel op eng nei Manéier brécheg, also fänkt d'Wiel domat un, wat d'Streck tatsächlech ënnerstëtzt.
Dräi Knäpp, dräi verschidde Niveauen
link-mtu ass de baussenzege Budget: d'verschlësselt Belaaschtung plus den OpenVPN-Kapp, den UDP-Kapp an den baussenzegen IP-Kapp. Et beschreift, wat d'Maschinn verléisst, a dofir ass et d'Zuel, déi déi physesch Streck begrenzt.
tun-mtu ass de bannenzege Budget: d'Interface, déi Ären Traffic gesäit. Et ass genee ëm den Tunnel-Overhead méi grouss wéi dat, wat d'Streck droe kann, an OpenVPN leet et normalerweis of, amplaz Iech et astellen ze loossen.
mssfix ass eng ganz aner Mechanik. Et schreift déi maximal Segmentgréisst ëm, déi während TCP-Handshakes ugekënnegt gëtt, sou datt TCP-Partner Segmenter wielen, déi no der Kapselung passen. Et ännert d'MTU vun der Interface net, an et huet keen Effekt op UDP.
Wann Dir link-mtu explizit astellt, zitt OpenVPN säin eegenen Overhead of, fir déi bannenzeg MTU ofzeleeden. Dee Overhead ass keng fest Konstante; et hänkt vum Chiffre an der Authentifikatioun of, dofir kann e Wäert, deen aus engem Forum kopéiert gouf, op engem anere Profil falsch sinn. Wann Dir souwuel link-mtu wéi och tun-mtu astellt, gitt Dir dem Client zwee géigesätzlech Instruktiounen.
Moosst d'Streck, ier Dir eng Zuel wielt
Moosst vun der physescher Interface, net vun bannen aus dem Tunnel, a denkt drun, datt ping d'Belaaschtung mellt, net d'Paketsgréisst. Setzt 28 Byte derbäi fir d'IPv4- an ICMP-Käpp, ier Dir d'Belaaschtung mat engem 1500-Byte-Rahmen vergläicht, a behält dës Korrektur am Kapp, wann e Partner eng aner Zuel mellt.
Op engem Linux-Client verbitt ping -M do -s 1472 d'Fragmentéierung a schléit fehl, wann de Paket ze grouss ass. Setzt d'Belaaschtung erof, bis et duerchgeet, a setzt dann 28 derbäi, fir d'MTU vun der Streck ze kréien. PPPoE kascht 8 Byte, also ass 1492 op DSL normal. DS-Lite an e puer mobil Strecke kaschte 40 oder méi, an d'Äntwert ass meeschtens méi niddereg wéi déi nominell Linkvitesse suggeréiert.
Wann all Ping-Gréisst geléngt, awer grouss Iwwerdroungen nach ëmmer hänken, verdächtegt en schwaarzt Lach amplaz eng einfach Gréisstlimit. Eng ICMP-Noriicht iwwer noutwendeg Fragmentéierung gëtt irgendwou op der Streck gefiltert, sou datt den Absender ni léiert ze schrumpfen, a just d'Stréim, déi e grouss Segment brauchen, mierken et.
Begrenzt d'éischt TCP, schrumpft den Tunnel duerno
TCP-Handshakes sinn dat eenzegt, wat mssfix beréiert, wat et meeschtens zur mannst stéierender Kontroll mécht, déi een als éischt probéiert. Setzt et e bëssen ënner dem reale Budget vun der Streck, schéckt dee selwechte Wäert vum Server, sou datt béid Enner eens sinn, a testt en groussen Download nach eng Kéier. Wann den Hänger verschwënnt, war d'TCP-Segmentgréisst de Problem, an et muss soss näischt geännert ginn.
Setzt déi bannenzeg MTU erof, wann den betraffenen Traffic net TCP ass. En UDP-Service, en Tunnel am Tunnel oder eng Applikatioun, déi voll grouss Datagramme schéckt, schléit no enger MSS-Begrenzung weider fehl, well näischt seng Paketsgréisst ëmschreift. Reduzéiert tun-mtu fir dee Fall, oder setzt link-mtu an e loosse de Client de bannenzegen Wäert ofleeden, awer ni béides.
Grëfft net no der aler Fragmentéierungsoptioun. Si huet Paketen am Tunnel gespléckt, Overhead bäigesat an ass aus gudde Grënn veräussert; modern OpenVPN erwaart, datt d'Streck genee beschriwwe gëtt.
Firwat kleng Proben nach ëmmer funktionéieren
DNS-Ufroen, ICMP-Echos an TCP-Handshakes leien all wäit ënnert der Gréisst, déi fehlschléit. Den Tunnel gesäit dofir an all séierem Test gesond aus, während TLS-Handshakes an HTTP-Äntwerten stëll fehlschloen. Genee déi Kombinatioun, eng funktionéierend traceroute an e Browser, deen um éischten grousse Äntwert hänkt, ass d'Signal, no deem Dir siche sollt. Grëfft no enger voller Probe, ier Dir no engem neie Profil gräift.
Verifizéiert mat dem Traffic, dee fehlgeschloen ass. Luet eng grouss Säit, schéckt e voll groussen UDP-Datagramm, wann dat de betraffene Service ass, a widderhuelt vun engem zweete Client op engem aneren Uplink. Notéiert d'gemoose MTU vun der Streck an de Wäert, deen Dir gewielt hutt, well déi nächst Persoun, déi de Profil beréiert, d'Zuel soss als willkürlech behandelt.
Huet ni déi bannenzeg MTU ënner 1280, wann IPv6 iwwer den Tunnel leeft, well dat ass de Minimum, deen all IPv6-Link droe muss. Eng méi kleng MTU ass eng Tatsaach iwwer d'Streck, keng Leeschtungsastellung, déi een no Gefill justéiert.