Starý profil .ovpn zlyháva na Ubuntu 24.04: ktoré riadky odstrániť
Ubuntu 24.04 dodáva OpenVPN 2.6 a profil exportovaný pre 2.4 padá na odstránených voľbách. Odstráňte keysize a ncp-disable, potom opravte ns-cert-type.
Profil sa stiahne, importuje a potom sa zastaví na riadku 12 súboru so správou Unrecognized option, ktorá menuje keysize. Na účte sa nič nezmenilo a server stále prijíma iných klientov. Zmenil sa samotný klient: Ubuntu 24.04 inštaluje OpenVPN 2.6, kým export bol napísaný pre 2.4. Oprava je krátka séria odstránení a poradie má význam, pretože každá zastaraná voľba preruší parsovanie skôr, než sa ďalšia vôbec prečíta.
Prečítajte riadok chyby, kým sa dotknete súboru
OpenVPN menuje súbor a riadok, na ktorom sa parsovanie zastavilo, takže za jedno spustenie opravíte len jeden problém. Spustite profil z terminálu a nie z appletu na ploche, pretože applet zvyčajne pohltí stderr a číslo riadku je jediný spoľahlivý ukazovateľ, ktorý dostanete: sudo openvpn --config /etc/openvpn/client/provider.ovpn. Opravte ten riadok, spustite znova a očakávajte, že ďalšie zlyhanie menuje inú voľbu.
Chyba parsovania sa vždy objaví pred akýmkoľvek TLS handshake, takže správa, ktorá spomína certifikát, už prešla fázou syntaxe. Tento rozdiel vám bráni upravovať súbor, ktorý zlyháva len pri autentifikácii. Čítajte prvé slovo správy, nie jej stred.
Tri triedy zlyhania, tri rôzne opravy
Staré exporty zlyhávajú tromi rozlíšiteľnými spôsobmi a ich zlievanie do jedného problému je dôvod, prečo ľudia preinštalujú balíky, ktoré nikdy neboli pokazené. Formulácia správy vám povie, v ktorej triede ste, ešte pred otvorením súboru.
- Chyby parsovania menujú súbor a riadok a zastavia sa skôr, než existuje akákoľvek prevádzka.
- Chyby vyjednávania sa pripoja a potom oznámia, že dva konce sa nedokázali dohodnúť na spoločnej šifre alebo prijateľnom dátovom kanáli.
- Chyby autentifikácie sa dostanú najďalej a menujú certifikát, používateľa alebo odmietnuté prihlasovacie údaje.
Úprava profilu opraví len prvú triedu. Vyjednávanie si vyžaduje rozhodnutie na oboch koncoch tunela a odmietnuté prihlasovacie údaje vôbec nie sú problém syntaxe. Ak vaša správa spomína spoločnú šifru alebo dátový kanál, odstránenia nižšie nič nezmenia.
Odstráňte voľby, ktoré 2.6 odstránilo, v tomto poradí
Každý z týchto riadkov sám zastaví parsovanie, takže klient ich hlási jeden po druhom. Prechádzajte zoznamom a po každom odstránení spustite znova.
Najprv odstráňte keysize, pretože nemá moderný ekvivalent a jeho prítomnosť zvyčajne označuje šifru, ktorú aktuálny klient aj tak odmieta. Potom odstráňte ncp-disable, ktorý riadil vyjednávanie šifier, bol zastaraný v 2.5 a v 2.6 zmizol. Nahraďte ns-cert-type server za remote-cert-tls server, ktorý vyjadruje rovnaký zámer cez podporovanú kontrolu.História zmien 2.6 uvádza zostávajúce odstránenia vedľa ich náhrad, takže všetko, čo parser ešte odmieta, má zdokumentovanú odpoveď.
Pred prvou úpravou si uložte kópiu pôvodného profilu. Poskytovatelia skutočne regenerujú exporty a diff voči nedotknutému súboru je najrýchlejší spôsob, ako oddeliť vaše zmeny od ich. Ak odstránenie dovolí klientovi spustiť sa, ale tunel stále zlyháva,prešli ste do triedy vyjednávania a zostávajúce riadky nie sú príčinou. Dajte verziu klienta do názvu súboru, aby ďalšia osoba vedela, na ktoré vydanie úpravy cielia.
Udržujte BF-CBC v chode len ako obmedzený fallback
Niektorí poskytovatelia stále končia na BF-CBC, ktorý OpenVPN 2.6 bez pomoci nevyjedná, pretože šifra má 64-bitový blok. Úzka oprava je zoznam fallbackov plus legacy poskytovateľ OpenSSL, nie downgrade celého klienta.
providers legacy default
data-ciphers AES-256-GCM:AES-128-GCM
data-ciphers-fallback BF-CBC
Prvý riadok načíta legacy poskytovateľa, aby OpenSSL ešte mohol tú šifru vytvoriť, druhý zachováva moderné vyjednávanie pre partnerov, ktorí ho podporujú, a tretí sa uplatní len vtedy, keď server neponúka nič lepšie. Je to úmyselné oslabenie tunela, preto si zapíšte vedľa súboru, prečo existuje. Požiadajte poskytovateľa zároveň o regenerovaný export, keďže fallback je most a nie cieľ.
Nesiahajte po --compat-mode ako po univerzálnej odpovedi. Mení viacero správaní naraz, vrátane predvolených hodnôt vyjednávania a opätovného vyjednávania, takže sa nikdy nedozviete, ktorá zmena rozhodla. Uprednostnite tri explicitné riadky vyššie, pretože každý uvádza svoj vlastný účinok.
Overte pomocou profilu, ktorý klient skutočne načíta
Importované spojenia sa často kopírujú do systémového adresára, takže úprava súboru v priečinku sťahovania nemusí zmeniť vôbec nič. Nájdite kópiu, ktorá beží: sudo grep -rl "remote " /etc/NetworkManager/system-connections /etc/openvpn. Potom spustite tunel a prečítajte riadok záznamu, ktorý uvádza skutočne zvolenú šifru dátového kanála. Spojenie, ktoré dokončí handshake na fallbacku, vám povie, že server nikdy neponúkol nič moderné.
Testujte zo siete, ktorá nie je tá, ktorú poskytovateľ očakáva, aby sa captive portál alebo filtrovaná hosťovská sieť nevydávali za poruchu profilu. Zaznamenajte verziu klienta pri každej žiadosti o podporu.
Keď je tunel hore, pošlite jednu požiadavku, ktorá ním musí prejsť, a jednu, ktorá nesmie, potom potvrďte, že odpoveď resolvera sa zmenila tak, ako ste očakávali. Ak sa profil teraz parsuje, ale spojenie stále zlyháva, nechali ste problém syntaxe za sebou a text chyby menuje novú triedu. Udržujte upravený súbor v systéme správy verzií vedľa poznámky, ktorá menuje vydanie OpenVPN, na ktoré cieli.