Stari .ovpn profil ne radi na Ubuntu 24.04: koje linije izbrisati
Ubuntu 24.04 dolazi s OpenVPN 2.6, a profil izvezen za 2.4 pada na uklonjenim opcijama. Izbrišite keysize i ncp-disable, zatim popravite ns-cert-type.
Profil se preuzima, uvozi i zatim se zaustavlja na liniji 12 datoteke s porukom Unrecognized option koja imenuje keysize. Ništa se na računu nije promijenilo, a poslužitelj i dalje prihvaća druge klijente. Promijenio se sam klijent: Ubuntu 24.04 instalira OpenVPN 2.6, dok je izvoz napisan za 2.4. Popravak je kratak niz brisanja, a redoslijed je važan jer svaka zastarjela opcija prekida parsiranje prije nego što se sljedeća uopće pročita.
Pročitajte liniju pogreške prije nego dirate datoteku
OpenVPN imenuje datoteku i liniju na kojoj se parsiranje zaustavilo, pa po pokretanju možete popraviti samo jedan problem. Pokrenite profil iz terminala, a ne iz appleta na radnoj površini, jer applet obično proguta stderr, a broj linije jedini je pouzdan pokazatelj koji dobivate: sudo openvpn --config /etc/openvpn/client/provider.ovpn. Popravite tu liniju, pokrenite ponovno i očekujte da će sljedeći neuspjeh imenovati drugu opciju.
Pogreška parsiranja uvijek se pojavljuje prije bilo kakvog TLS rukovanja, pa je poruka koja spominje certifikat već prošla fazu sintakse. Ta razlika sprječava vas da uređujete datoteku koja pada samo na autentikaciji. Pročitajte prvu riječ poruke, a ne njezinu sredinu.
Tri klase neuspjeha, tri različita popravka
Stari izvozi padaju na tri prepoznatljiva načina, a njihovo spajanje u jedan problem razlog je zašto ljudi ponovno instaliraju pakete koji nikad nisu bili pokvareni. Formulacija poruke govori u kojoj ste klasi prije nego otvorite datoteku.
- Pogreške parsiranja imenuju datoteku i liniju i zaustavljaju se prije nego postoji ikakav promet.
- Pogreške pregovaranja spajaju se, a zatim javljaju da se dva kraja nisu mogla dogovoriti o zajedničkoj šifri ili prihvatljivom kanalu podataka.
- Pogreške autentikacije idu najdalje i imenuju certifikat, korisnika ili odbijene vjerodajnice.
Uređivanje profila popravlja samo prvu klasu. Pregovaranje zahtijeva odluku na oba kraja tunela, a odbijene vjerodajnice nikako nisu problem sintakse. Ako vaša poruka spominje zajedničku šifru ili kanal podataka, brisanja u nastavku neće promijeniti ništa.
Izbrišite opcije koje je 2.6 uklonio, ovim redoslijedom
Svaka od ovih linija sama zaustavlja parsiranje, pa ih klijent prijavljuje jednu po jednu. Prođite popisom i pokrenite ponovno nakon svakog brisanja.
Najprije uklonite keysize, jer nema moderni ekvivalent i njegova prisutnost obično označava šifru koju trenutni klijent ionako odbija. Zatim uklonite ncp-disable, koji je kontrolirao pregovaranje o šiframa, ukinut je u 2.5 i nestao u 2.6. Zamijenite ns-cert-type server s remote-cert-tls server, koji izražava istu namjeru kroz podržanu provjeru.Povijest promjena 2.6 navodi preostala uklanjanja uz njihove zamjene, pa sve što parser još odbija ima dokumentiran odgovor.
Sačuvajte kopiju izvornog profila prije prvog uređivanja. Pružatelji doista ponovno generiraju izvoze, a diff s netaknutom datotekom najbrži je način da odvojite svoje promjene od njihovih. Ako brisanje omogući klijentu da se pokrene, ali tunel još uvijek pada,prešli ste u klasu pregovaranja a preostale linije nisu uzrok. Stavite verziju klijenta u naziv datoteke da sljedeća osoba zna kojem su izdanju uređivanja namijenjena.
Držite BF-CBC radnim samo kao ograničenu zamjenu
Neki pružatelji još uvijek završavaju na BF-CBC, koju OpenVPN 2.6 neće pregovarati bez pomoći jer šifra ima 64-bitni blok. Uska popravka je popis zamjena plus OpenSSL legacy pružatelj, a ne vraćanje cijelog klijenta na stariju verziju.
providers legacy default
data-ciphers AES-256-GCM:AES-128-GCM
data-ciphers-fallback BF-CBC
Prva linija učitava legacy pružatelja da OpenSSL još može stvoriti tu šifru, druga zadržava moderno pregovaranje za partnere koji ga podržavaju, a treća se primjenjuje samo kad poslužitelj ne nudi ništa bolje. To je namjerno slabljenje tunela, pa zabilježite uz datoteku zašto postoji. Zatražite od pružatelja istodobno ponovno generirani izvoz, jer je zamjena most, a ne odredište.
Ne posežite za --compat-mode kao univerzalnim odgovorom. Mijenja nekoliko ponašanja odjednom, uključujući zadane vrijednosti pregovaranja i ponovnog pregovaranja, pa nikad ne saznate koja je promjena bila važna. Radije odaberite tri izričite linije gore, jer svaka navodi vlastiti učinak.
Provjerite s profilom koji klijent doista učitava
Uvezeni spojevi često se kopiraju u sistemski direktorij, pa uređivanje datoteke u mapi za preuzimanje može ne promijeniti baš ništa. Nađite kopiju koja se izvodi: sudo grep -rl "remote " /etc/NetworkManager/system-connections /etc/openvpn. Zatim pokrenite tunel i pročitajte liniju zapisa koja navodi stvarno odabranu šifru kanala podataka. Spoj koji dovrši rukovanje na zamjeni govori da poslužitelj nikad nije ponudio ništa moderno.
Testirajte iz mreže koja nije ona koju pružatelj očekuje, da se captive portal ili filtrirana gostujuća mreža ne predstave kao kvar profila. Zabilježite verziju klijenta uz svaki zahtjev za podršku.
Kad je tunel podignut, pošaljite jedan zahtjev koji ga mora prijeći i jedan koji ne smije, pa potvrdite da se odgovor razrješivača promijenio kako ste očekivali. Ako se profil sada parsira, ali veza još uvijek pada, ostavili ste problem sintakse za sobom i tekst pogreške imenovat će novu klasu. Držite uređenu datoteku u verzijskom sustavu uz bilješku koja imenuje izdanje OpenVPN-a kojem je namijenjena.