Ce conține de fapt un fișier .ovpn și ce nu poate face
Un fișier .ovpn configurează clientul, nu serverul. Vedeți ce pot face liniile de transport, cheie și rutare și unde se oprește influența lor.
Majoritatea oamenilor presupun că un fișier .ovpn configurează un VPN. Nu este așa: configurează un singur client, iar tot ce cere trebuie să existe deja pe cealaltă parte. Modificarea unei linii din fișier poate schimba ce încearcă mașina ta, niciodată ce oferă serverul. Această distincție explică cea mai mare parte a confuziei în jurul profilelor care nu se importă sau nu se conectează.
Citește fișierul ca pe o listă de cereri adresate clientului tău, iar majoritatea liniilor devin evidente.
Fișierul descrie clientul tău, nu serverul
Un profil reunește remote punctul final, un transport, un tip de interfață, material de identitate și orice comportament de pe partea clientului pe care îl dorește operatorul. Fiecare linie este executată de client la pornire. Niciuna nu ajunge la server ca modificare de configurație și niciuna nu poate crea un ascultător care nu rulează deja. Un profil care indică TCP 443 față de un server care ascultă doar pe UDP 1194 eșuează la primul pachet.
De aceea același fișier se comportă diferit pe doi clienți: fișierul cere, iar clientul decide cât din cerere poate îndeplini.
Liniile de transport trebuie să corespundă unui ascultător care există deja
proto și remote trebuie să corespundă cu ceea ce leagă serverul de fapt. UDP este alegerea obișnuită pentru că un datagram pierdut nu blochează tunelul, în timp ce TCP poate supraviețui în rețele restrictive cu prețul blocării capului cozii în interiorul tunelului. Trecerea unui profil de la UDP la TCP nu face serverul să accepte TCP; doar face clientul să trimită către un port pe care nimeni nu îl citește.
Portul 443 este popular pentru că trece prin rețele care nu permit aproape nimic altceva și rămâne o sesiune OpenVPN și nu o cerere HTTPS. Dacă operatorul publică mai multe remote linii, clientul le încearcă în ordine, ceea ce este o listă de comutare la eșec, nu o decizie de echilibrare a încărcării. Păstrează combinațiile livrate de operator în loc să amesteci un host dintr-o intrare cu un port din alta.
Cheile încorporate schimbă modul în care manipulezi fișierul
Certificatele și cheile pot sta încorporate între etichetele <ca>, <cert> și <key>, sau pot fi referite ca fișiere separate. Materialul încorporat face profilul autosuficient și îl face și un secret, pentru că cheia privată a clientului călătorește în interiorul lui. Un certificat CA este material public de încredere și este sigur de partajat; o cheie privată nu, chiar și când arată ca un bloc de text ilizibil.
Fraza de acces care protejează o cheie este un secret separat de parola contului, iar confundarea lor produce o eroare de autentificare care arată ca acreditări greșite.
Rutele și DNS-ul pot să nu vină deloc din fișier
Rutarea poate fi împinsă de server, setată de profil cu redirect-gateway, sau lăsată la valorile implicite ale clientului. Prin urmare, fișierul descărcat nu determină complet unde merge traficul după ce tunelul se ridică. Când numele interne se rezolvă și site-urile publice nu, politica de tunel divizat face ceea ce a fost proiectată să facă, nu eșuează.
DNS-ul urmează același model: un dhcp-option DNS împins poate fi aplicat de client, ignorat sau suprascris de un manager de resolver local. Verifică starea resolverului după conectare în loc să recitești profilul.
Opțiunile neacceptate sunt o problemă de versiune a clientului
Avertismentele de import înseamnă de obicei că clientul nu implementează o directivă, nu că fișierul este corupt. Clienții desktop pot rula scripturi și pluginuri sub controale documentate, în timp ce clienții mobili acceptă un set mai îngust și pot renunța în tăcere la linii pe care nu le înțeleg. O setare de cifru sau TLS pe care un client mai vechi o refuză este o problemă de versiune de rezolvat cu operatorul. Activarea unor privilegii necunoscute pentru a forța un import schimbă un avertisment pe o suprafață de atac mai largă.
Păstrează fișierul original pentru comparație, notează în cerere directiva neacceptată exactă și cere un profil construit pentru clientul pe care îl rulezi efectiv.
După orice înlocuire, confirmă ce intrare de profil folosește aplicația, pentru că importarea unui fișier nou nu suprascrie întotdeauna pe cel vechi.