OpenVPN Connect odbija fragment: popravite izvor profila
OpenVPN Connect ne podržava fragment, pa profil koji se parsira ipak može propasti. Nabavite onaj napravljen za tog klijenta ili svjesno promijenite stranu servera.
Greška dolazi pri uvozu, prije bilo kakve razmjene, i imenuje direktivu koju klijent odbija prihvatiti. OpenVPN Connect pokreće bibliotečki kod OpenVPN 3, koji uopće ne implementira fragment opciju zajedničkog klijenta. To ovo čini pitanjem kompatibilnosti dva kraja, a ne pitanjem podešavanja veličine paketa.
Brisanje retka daje datoteku koju će klijent parsirati, i server koji možda još očekuje format koji je taj redak opisivao. Prođite to od ekrana za uvoz prema van prije nego što bilo šta uredite.
Gdje se uvoz zaustavlja
Uvoznik parsira direktive prije nego što kontaktira server, pa je odbijanje tamo lokalna odluka o sintaksi, a ne mrežni rezultat, i OpenVPN-ov spisak nepodržanih direktiva bilježi isto ograničenje. To objašnjava kako jedna datoteka može raditi u zajedničkom klijentu i propasti u Connectu na istom računaru. Pročitajte u poruci ime direktive i sačuvajte originalnu datoteku, jer je taj tekst jedini dokaz na šta se klijent požalio. Greška pri uvozu i istek vremena veze dolaze iz različitih faza i zaslužuju različite odgovore.
Ako poruka imenuje fragment, ostaje pitanje zavisi li i server od njega. Odgovorite na to prije nego što dirnete profil koji ste dobili.
Šta fragment mijenja u zajedničkom klijentu
U zajedničkom klijentu direktiva uključuje OpenVPN-ovo vlastito fragmentiranje datagrama, koje dijeli korisni teret prije nego što stigne do vanjskog IP sloja. Postoji da preživi puteve koji bacaju velike UDP datagrame i da tunel ostane upotrebljiv tamo gdje se otkrivanju MTU-a putanje ne može vjerovati. Nije sinonim za snižavanje MTU-a interfejsa i nije fragmentiranje na IP nivou koje izvodi operativni sistem. Klijent bez tog mehanizma ne može ga steći snižavanjem broja.
Budući da postavka živi i u konfiguraciji servera, uklanjanje iz vaše kopije mijenja samo vašu stranu. Server možda još očekuje partnera koji razumije opciju, a profil koji se parsira još nije sesija koja se uspostavlja. Te dvije činjenice objašnjavaju zbunjujuće međustanje u kojem izmijenjena datoteka uspostavi vezu i onda se zaglavi.
Zatražite profil napravljen za ovaj klijent
Čist put je drugi profil dokumentovan za OpenVPN Connect, ako ga usluga objavljuje. Mnogi provajderi to rade, a razlika je obično u direktivama koje izostavljaju, a ne u krajnjoj točki na koju pokazuju. Tražite ga po imenu klijenta umjesto da opisujete grešku, jer podrška može spojiti profil s klijentom mnogo brže nego dijagnostikovati ogoljenu datoteku.
Ako vi vodite server, odluka je šira od vašeg klijenta. Isključivanje fragmentiranja pogađa svakog partnera, uključujući one kojima je bilo potrebno da ostanu povezani preko loše putanje. Objavljivanje drugog prijemnika ili druge konfiguracije za pogođeni klijent održava postojeće korisnike u radu dok noviji klijent dobija nešto što može parsirati. Kako god da postupite, zapišite koja konfiguracija služi kojem klijentu, jer to mapiranje inače brzo nestane.
Provjerite vezu, ne samo uvoz
Uspješan uvoz dokazuje samo da je parser prihvatio datoteku. Uspostavite tunel zajedničkim klijentom na računaru koji kontrolišete, koristeći isti profil, i čitajte zapisnik za pregovore o transportu i šifri. Komande ispod to rade bez desktop aplikacije na putu.
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/
Zapisnik pokazuje gdje se pokušaj zaustavio: greška opcije pojavljuje se prije bilo kakve TLS razmjene, dok se greška autentifikacije ili šifre pojavljuje poslije nje. Ako se tunel uspostavi a zahtjev ipak propadne, problem se premjestio s kompatibilnosti na rutiranje. Uporedite to s ponašanjem Connecta na istoj mreži prije nego što zaključite bilo šta o serveru.
Držite radni profil i verziju klijenta uz bilješku. Buduće izdanje klijenta može dodati podršku za direktivu, a to mijenja odgovor bez toga da iko dira server.