OpenVPN Connect respinge fragment: corectați sursa profilului
OpenVPN Connect nu acceptă fragment, așa că un profil care se parsează poate totuși eșua. Obțineți unul creat pentru acel client sau schimbați deliberat partea de server.
Eroarea apare la import, înainte de orice negociere, și numește o directivă pe care clientul refuză să o accepte. OpenVPN Connect rulează codul bibliotecii OpenVPN 3, care nu implementează deloc opțiunea fragment a clientului comunitar. Asta face din subiect o întrebare de compatibilitate între două capete, nu o întrebare de reglare a dimensiunii pachetului.
Ștergerea liniei produce un fișier pe care clientul îl va parsa, și un server care poate încă aștepta formatul descris de acea linie. Parcurgeți lucrurile de la ecranul de import spre exterior înainte de a modifica ceva.
Unde se oprește importul
Importatorul parsează directivele înainte de a contacta serverul, așa că un refuz acolo este o decizie locală despre sintaxă și nu un rezultat de rețea, iar lista de directive neacceptate a OpenVPN consemnează aceeași limitare. Asta explică cum un singur fișier poate funcționa în clientul comunitar și poate eșua în Connect pe aceeași mașină. Citiți în mesaj numele directivei și păstrați fișierul original, pentru că acel text este singura dovadă a ceea ce clientul a contestat. O eroare de import și un timeout de conexiune vin din etape diferite și merită răspunsuri diferite.
Dacă mesajul numește fragment, întrebarea rămasă este dacă și serverul depinde de el. Răspundeți la asta înainte de a atinge profilul primit.
Ce schimbă fragment în clientul comunitar
În clientul comunitar, directiva activează fragmentarea de datagrame proprie OpenVPN, care împarte încărcăturile înainte ca acestea să ajungă la stratul IP exterior. Există pentru a supraviețui căilor care aruncă datagrame UDP mari și pentru a menține un tunel utilizabil acolo unde descoperirea MTU a căii nu poate fi de încredere. Nu este sinonim cu scăderea MTU-ului interfeței și nu este fragmentarea la nivel IP făcută de sistemul de operare. Un client lipsit de mecanism nu îl obține scăzând un număr.
Deoarece setarea trăiește și în configurația serverului, eliminarea ei din copia dumneavoastră schimbă doar partea dumneavoastră. Serverul poate încă aștepta un partener care înțelege opțiunea, iar un profil care se parsează nu este încă o sesiune care se stabilește. Aceste două fapte explică starea intermediară confuză în care un fișier editat se conectează și apoi se blochează.
Cereți un profil creat pentru acest client
Calea curată este un al doilea profil documentat pentru OpenVPN Connect, dacă serviciul publică unul. Mulți furnizori fac asta, iar diferența constă de obicei în directivele pe care le omit, nu în capătul către care indică. Cereți-l după numele clientului în loc să descrieți eroarea, fiindcă un serviciu de suport poate potrivi un profil unui client mult mai repede decât poate diagnostica un fișier jupuit.
Dacă dumneavoastră administrați serverul, decizia e mai largă decât propriul client. Oprirea fragmentării afectează fiecare partener, inclusiv pe cei care aveau nevoie de ea ca să rămână conectați pe o cale proastă. Publicarea unui al doilea ascultător sau a unei a doua configurații pentru clientul afectat îi menține în funcțiune pe utilizatorii existenți, în timp ce clientul mai nou primește ceva ce poate parsa. Indiferent cum procedați, notați care configurație deservește care client, pentru că această corespondență dispare repede altfel.
Verificați conexiunea, nu doar importul
Un import reușit dovedește doar că parserul a acceptat fișierul. Stabiliți tunelul cu clientul comunitar pe o mașină pe care o controlați, folosind același profil, și citiți jurnalul pentru negocierea transportului și a cifrării. Comenzile de mai jos fac asta fără ca aplicația desktop să stea în cale.
openvpn --config client.ovpn --verb 3
ip -4 addr show tun0
curl -sS --interface tun0 -o /dev/null -w '%{http_code}\n' --max-time 8 https://example.com/
Jurnalul arată unde s-a oprit încercarea: o eroare de opțiune apare înainte de orice schimb TLS, în timp ce o eroare de autentificare sau de cifrare apare după. Dacă tunelul urcă și cererea tot eșuează, problema s-a mutat de la compatibilitate la rutare. Comparați asta cu comportamentul Connect în aceeași rețea înainte de a trage vreo concluzie despre server.
Țineți profilul funcțional și versiunea clientului lângă notă. O versiune viitoare a clientului poate adăuga suport pentru o directivă, iar asta schimbă răspunsul fără ca cineva să atingă serverul.