Ceci est une ancienne révision du document !
OpenVPN sur ChromeOS
ChromeOS suporte OpenVPN de base, mais l'interface pour la configuration est ….. pour le moins sommaire. Peu de chance que vous y trouviez les paramètres que vous devez entrer. Il existe par contre pleins d'autres options supportées, elles n'apparaissent simplement pas dans l'interface. Pour contourner ça, il faut créer un fichier de configuration ONC qui décrit la configuration de votre VPN, puis l'importer sur le système.
- ONC est un format JSON permettant de décrire les paramètres réseau (profile WiFi, VPN etc…)
- La documentation du format ONC est disponible ici
Configuration du fichier ONC
- openvpn.onc
{ "Certificates": [ { "GUID": "{___GUIDCA___}", "Type": "Authority", "X509": "___CACRT___" } ], "NetworkConfigurations": [ { "GUID": "{___GUIDNET___}", "Name": "___NAME___", "Type": "VPN", "VPN": { "Host": "___HOST___", "OpenVPN": { "ClientCertType": "None", "CompLZO": "true", "KeyDirection": "1", "NsCertType": "server", "Port": ___PORT___, "Proto": "udp", "ServerCARef": "{___GUIDCA___}", "ServerPollTimeout": 360, "Username": "___USERNAME___", "Verb": "3", "RenegSec": 86400, "TLSAuthContents": "___TAKEY___", }, "Type": "OpenVPN" } } ], "Type": "UnencryptedConfiguration" }
Voici les valeurs à remplacer dans le fichier :
- _GUIDCA_ : Une valeurs GUID (indiqué 2 fois dans le fichier ONC) :
sed -i -e “s/_GUIDCA_/$(cat /proc/sys/kernel/random/uuid)/g” openvpn.onc
- _CACRT_ : Le fichier
cacert.crt
renommé encacert.pem
- _GUIDNET_ : Une valeurs GUID :
sed -i -e “s/_GUIDNET_/$(cat /proc/sys/kernel/random/uuid)/g” openvpn.onc
- _NAME_ : Le nom de la connexion VPN
- _HOST_ : L'hôte de la connexion VPN au format
sas.domain.tld
- _PORT_ : Le port de connexion, par défaut
1194
mais utiliser plutôt le port1197
- _USERNAME_ : Le nom d'utilisateur pour la connexion VPN
- _TAKEY_ : Le fichier takey.pem
En effet, le fichier doit être uniquement sur une seule ligne, pour cela il faut utiliser des retour chariot \n
à chaque fin de ligne. Il faut également prendre soin de bien supprimer l'entête du fichier takey.pem ce qui donne à la fin quelque chose de ce format là :
"TLSAuthContents": "-----BEGIN OpenVPN Static key V1-----\nxxxxx\nxxxxx\n......\nxxxxx\n-----END OpenVPN Static key V1-----\n",
A ce stade, si votre fichier ONC est correctement configuré, il vous faut maintenant récupérer le certificat utilisateur au format PKCS #12 (user.p12). Une fois fait vous devez mettre à disposition ces 2 fichiers (.onc et .p12) accessible sur une page web publique pour les récupérer sur le ChromeOS.
Configuration du ChromeOS
une fois que votre ChromeOS à accès au web, accéder à vos 2 fichiers configurés via chrome. Vous pouvez les récupérer directement depuis Google Drive en partageant directement avec l'adresse e-mail du compte google.
Ou faire un CTRL + S
si votre fichier s'affiche dans le navigateur.
Vous devriez pouvoir télécharger les fichiers dans le répertoire “Téléchargement” affichable depuis “Menu > Files”.
Rendez-vous à présent dans le Gestionnaire de certificats :
Il ne reste plus qu'à aller sur chrome://net-internals puis dans le menu Chrome et importez le fichier ONC