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 poslužitelja.
Greška dolazi pri uvozu, prije bilo kakve razmjene, i imenuje direktivu koju klijent odbija prihvatiti. OpenVPN Connect pokreće bibliotečni kod OpenVPN 3, koji uopće ne implementira fragment opciju zajedničkog klijenta. To ovo čini pitanjem kompatibilnosti dvaju krajeva, a ne pitanjem podešavanja veličine paketa.
Brisanje retka daje datoteku koju će klijent parsirati, i poslužitelj koji možda još očekuje format koji je taj redak opisivao. Prođite to od zaslona za uvoz prema van prije nego što bilo što uredite.
Gdje se uvoz zaustavlja
Uvoznik parsira direktive prije nego što kontaktira poslužitelj, pa je odbijanje ondje lokalna odluka o sintaksi, a ne mrežni rezultat, i OpenVPNov popis 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čunalu. Pročitajte u poruci ime direktive i sačuvajte izvornu datoteku, jer je taj tekst jedini dokaz na što 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 poslužitelj o njemu. Odgovorite na to prije nego što dirnete profil koji ste dobili.
Što fragment mijenja u zajedničkom klijentu
U zajedničkom klijentu direktiva uključuje OpenVPNovo vlastito fragmentiranje datagrama, koje dijeli korisni teret prije nego što stigne do vanjskog IP sloja. Postoji da preživi putove koji bacaju velike UDP datagrame i da tunel ostane upotrebljiv ondje gdje se otkrivanju MTU-a puta ne može vjerovati. Nije sinonim za snižavanje MTU-a sučelja i nije fragmentiranje na IP razini koje izvodi operacijski sustav. Klijent bez tog mehanizma ne može ga steći snižavanjem broja.
Budući da postavka živi i u konfiguraciji poslužitelja, uklanjanje iz vaše kopije mijenja samo vašu stranu. Poslužitelj 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 zatim se zaglavi.
Zatražite profil napravljen za ovaj klijent
Čist put je drugi profil dokumentiran za OpenVPN Connect, ako ga usluga objavljuje. Mnogi pružatelji 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 dijagnosticirati ogoljenu datoteku.
Ako vi vodite poslužitelj, 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šeg puta. Objavljivanje drugog prijamnika ili druge konfiguracije za pogođeni klijent održava postojeće korisnike u radu dok noviji klijent dobiva nešto što može parsirati. Kako god postupili, 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čunalu koje kontrolirate, koristeći isti profil, i čitajte zapisnik za pregovore o transportu i šifri. Naredbe 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 usmjeravanje. Usporedite to s ponašanjem Connecta na istoj mreži prije nego što zaključite bilo što o poslužitelju.
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 itko dira poslužitelj.