(modifié le 24 octobre 2017 à 9:28)

Je vous parlais du serveur OpenVPN freebox inclu depuis le firmware 2.1. Vous pourrez télécharger en VPN pour : les newsgroups, le P2P ainsi qu'en HTTP classique. Le tout via un tunnel OpenVPN sécurisé.

freebox-openvpn

Voyons comment configurer le client OpenVPN, le PPTP étant à déconseiller car peu sécurisé (mschap, etc), pour chaque fournisseur VPN ainsi que pour pfSense.

 

Fonctionnement du client OpenVPN

Le client VPN du Freebox Server vous permet d’utiliser un serveur VPN afin d'acheminer le trafic d’une partie des applications du Freebox Server, actuellement seul le gestionnaire de téléchargement est compatible. Le client VPN ne permet pas d'inclure le traffic des machines de votre réseau local dans le tunnel VPN.

Fournisseurs incompatibles

Certains serveurs OpenVPN utilisent une configuration et/ou des directives non supportées par le client Freebox :

Fournisseurs compatibles

Cette liste sera mise à jour au fur et à mesure que les fournisseurs VPN fourniront une page dédiée freebox pour leur client :

  • Tutoriel pour Invisible Browsing VPN (ibvpn)

IPVanish (màj 11.2017)

Si vous êtes client chez l'excellent IPVanish il suffit de télécharger la configuration OpenVPN :

ipvanish-configs

 

Extraire l'archive ZIP qui contient :

  • le certificat CA : ca.ipvanish.com.crt
  • une centaine de fichiers de configuration sous la forme : ipvanish-XX-Ville-YYY-z01.ovpn (dispo aussi ici)

Choisir le fichier *.ovpn du pays de votre choix, ce sera le point de sortie de votre tunnel VPN. Pour mon exemple je vais utiliser le fichier de configuration de dublin : ipvanish-IE-Dublin-dub-c01.ovpn.

La freebox ne supportant qu'un seul fichier de configuration *.ovpn dans lequel nous devons intégrer le contenu du fichier *.crt. Pour cela éditons notre fichier ipvanish-IE-Dublin-dub-c01.ovpn avec notepad++ :

  1. Supprimer la ligne commençant par "ca xxxxxxxxxxxx.crt"
  2. Ajouter à la fin du fichier :
<ca>
-----BEGIN CERTIFICATE-----
coller le contenu du fichier CRT
-----END CERTIFICATE-----
</ca>

Enregistrez ce fichier sur le bureau, dans mon cas : blogmotion.fr_ipvanish.ovpn

note : le contenu du fichier CRT est aussi disponible ici.

Importer la configuration dans la freebox

Rendez-vous sur l'interface de gestion de votre freebox : http://mafreebox.free.fr

Puis dans la partie configuration > avancé. Ajouter une nouvelle connexion :

freebox-ajouter-connexion

Entrez les identifiants de votre fournisseur VPN et préciser le fichier *.ovpn qui se trouve sur votre bureau :

freebox-config-client

Sauvegardez.

Il ne reste plus qu'à activer la connexion via le menu déroulant > [Fournisseur VPN] > Appliquer :

freebox-etablir-connexion

Et voilà, le tunnel OpenVPN est monté en mode routé (TUN) :

freebox-connecte

Enfin, n'oubliez pas d'activer la case à cocher pour que le VPN soit utilisé pour le gesitonnaire de téléchargement, sinon tout ça n'aura servi à rien :

client-vpn

VyprVPN

freebox-config-client-vyprvpn

Si vous êtes client Giganews/VyprVPN voici le contenu du fichier OpenVPN. J'ai crée ce fichier à partir :

Il vous suffit de choisir le point de sortie en remplaçant le nom du serveur (avant "1194") :

client
dev tun
proto udp
remote fr1.vyprvpn.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
persist-remote-ip
auth-user-pass
comp-lzo
<ca>
-----BEGIN CERTIFICATE-----
MIIEpDCCA4ygAwIBAgIJANd2Uwt7SabsMA0GCSqGSIb3DQEBBQUAMIGSMQswCQYD
VQQGEwJLWTEUMBIGA1UECBMLR3JhbmRDYXltYW4xEzARBgNVBAcTCkdlb3JnZVRv
d24xFzAVBgNVBAoTDkdvbGRlbkZyb2ctSW5jMRowGAYDVQQDExFHb2xkZW5Gcm9n
LUluYyBDQTEjMCEGCSqGSIb3DQEJARYUYWRtaW5AZ29sZGVuZnJvZy5jb20wHhcN
MTAwNDA5MjExOTIxWhcNMjAwNDA2MjExOTIxWjCBkjELMAkGA1UEBhMCS1kxFDAS
BgNVBAgTC0dyYW5kQ2F5bWFuMRMwEQYDVQQHEwpHZW9yZ2VUb3duMRcwFQYDVQQK
Ew5Hb2xkZW5Gcm9nLUluYzEaMBgGA1UEAxMRR29sZGVuRnJvZy1JbmMgQ0ExIzAh
BgkqhkiG9w0BCQEWFGFkbWluQGdvbGRlbmZyb2cuY29tMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEA37JesfCwOj69el0AmqwXyiUJ2Bm+q0+eR9hYZEk7
pVoj5dF9RrKirZyCM/9zEvON5z4pZMYjhpzrq6eiLu3j1xV6lX73Hg0dcflweM5i
qxFAHCwEFIiMpPwOgLV399sfHCuda11boIPE4SRooxUPEju908AGg/i+egntvvR2
d7pnZl2SCJ1sxlbeAAkYjX6EXmIBFyJdmry1y05BtpdTgPmTlJ0cMj7DlU+2gehP
ss/q6YYRAhrKtlZwxeunc+RD04ieah+boYU0CBZinK2ERRuAjx3hbCE4b0S6eizr
QmSuGFNu6Ghx+E1xasyl1Tz/fHgHl3P93Jf0tFov7uuygQIDAQABo4H6MIH3MB0G
A1UdDgQWBBTh9HiMh5RnRVIt/ktXddiGkDkXBTCBxwYDVR0jBIG/MIG8gBTh9HiM
h5RnRVIt/ktXddiGkDkXBaGBmKSBlTCBkjELMAkGA1UEBhMCS1kxFDASBgNVBAgT
C0dyYW5kQ2F5bWFuMRMwEQYDVQQHEwpHZW9yZ2VUb3duMRcwFQYDVQQKEw5Hb2xk
ZW5Gcm9nLUluYzEaMBgGA1UEAxMRR29sZGVuRnJvZy1JbmMgQ0ExIzAhBgkqhkiG
9w0BCQEWFGFkbWluQGdvbGRlbmZyb2cuY29tggkA13ZTC3tJpuwwDAYDVR0TBAUw
AwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAwihrN0QNE19RRvGywBvsYDmzmM5G8ta5
8yB+02Mzbm0KuVxnPJaoVy4L4WocAnqLeKfmpYWUid1MPwDPtwtQ00U7QmRBRNLU
hS6Bth1wXtuDvkRoHgymSvg1+wonJNpv/VquNgwt7XbC9oOjVEd9lbUd+ttxzboI
8P1ci6+I861PylA0DOv9j5bbn1oE0hP8wDv3bTklEa612zzEVnnfgw+ErVnkrnk8
8fTiv6NZtHgUOllMq7ymlV7ut+BPp20rjBdOCNn2Q7dNCKIkI45qkwHtXjzFXIxz
Gq3tLVeC54g7XZIc7X0S9avgAE7h9SuRYmsSzvLTtiP1obMCHB5ebQ==
-----END CERTIFICATE-----
</ca>

La connexion fonctionne :

freebox-connecte-vyprvpn

(J'ai demandé à VyprVPN d'ajouter une section Freebox directement sur le site pour simplifier la procédure sur la base des informations de ce tutoriel)

SecurityKISS

Les serveurs de SecurityKISS sont compatibles avec le client Freebox OVPN.

Il faut télécharger le fichier ovpn destiné à Android, c'est celui qui fonctionnera avec votre freebox :

securitykiss-download

Téléchargez le point de sortie ovpn que vous voulez :

securitykiss-download-ovpn

Puis configurez de la sorte, n'entrez aucun identifiant :

securitykiss-conf

Et la connexion s'établie :

securitykiss-connecte

FreeVPN.me

Il faut supprimer le début du fichier de configuration jusqu'à la ligne suivante (ligne 98 environ):

setenv FORWARD_COMPATIBLE 1

Votre fichier de configuration commencera donc ainsi :

client
server-poll-timeout 4
nobind
remote nl1.freevpn.fr 1194 udp
remote nl1.freevpn.fr 1194 udp
remote nl1.freevpn.fr 443 tcp
remote nl1.freevpn.fr 1194 udp
remote nl1.freevpn.fr 1194 udp
remote nl1.freevpn.fr 1194 udp
remote nl1.freevpn.fr 1194 udp
remote nl1.freevpn.fr 1194 udp
dev tun
dev-type tun
ns-cert-type server
...

Puis les balises ca, cert, key, tls-auth dont la balise de fin termine le fichier (commentez ou supprimer le reste, de "-----BEGIN RSA SIGNATURE-----" jusqu'à la fin).

Merci à LaFrich pour cette conf

PureVPN

client
proto udp
remote de1-ovpn-udp.purevpn.net 53
dev tun
nobind
persist-key
persist-tun
cipher AES-256-CBC
keysize 256
link-mtu 1560
comp-lzo
auth-user-pass
key-direction 1

<ca>
Contenu du fichier ca.crt
-----END CERTIFICATE-----
</ca>

<tls-auth>
-----BEGIN OpenVPN Static key V1-----
Contenu du fichier Wdc.key
-----END OpenVPN Static key V1-----
</tls-auth>

Merci J3J3

Newshosting VPN

Newshosting VPN est nativement compatible.

  1. identifiez-vous dans votre compte membre
  2. cliquez sur VPN server lists
  3. cliquez sur OpenVPN Configs
  4. un fichier contenant les fichiers OVPN vous est proposé, sauvegardez-le sur le bureau
  5. extraire le contenu de cette archive (clic droit > extraire tout), toujours sur le bureau

Une fois les fichiers OVPN en main, ajoutez une nouvelle connexion client VPN dans la freebox, de type OpenVPN :

newshosting-conf

Attention à bien suffixer votre nom d'utilisateur par "@newshosting". kevin devient kevin@newshosting.

IronSocket.com

IronSocket est nativement compatible avec la Freebox.

Le fichier OVPN contient l'ensemble des informations et certificats nécessaires pour la connexion.

  1. Notez vos identifiants VPN, ils sont différents de votre espace membre IronSocket
  2. Télécharger le fichier OVPN de votre choix avec le bouton get profile (choisir strong)

Une fois le fichier OVPN en main, ajoutez une nouvelle connexion client VPN dans la freebox, de type OpenVPN :

conf-ironsocket

 

Et la connexion s'établie :

ironsocket-connecte

 

Connexion avec un serveur pfSense sous OpenVPN

freebox-openvpn-pfsense

Si vous avez un serveur OpenVPN qui tourne sous pfSense, la freebox peut tout à fait s'y connecter en tant que client. Voici comment faire avec pfSense 2.x (2.1.2 pour mon cas).

Rappel : seul le gestionnaire de téléchargement bénéficiera du tunnel, aucun changement sur autres périphériques du réseau. Free modifiera peut-être cette option dans le futur.

Pré-requis :

  • je ne vais pas détailler la configuration du serveur (dans un prochain billet), je considère que vous avez un serveur fonctionnel et que vous arrivez à vous y connecter depuis Windows ou Linux
  • avoir installer le package "OpenVPN Client Export Utility" (system > package manager)

Voici la configuration de mon serveur OpenVPN pfSense (VPN > OpenVPN) :

General information

  • Serveur Mode : Remote Access (SSL/TLS + User Auth)
  • Backend for authentication : Local Database (évitez radius pour vos tests)
  • Protocol : UDP
  • Device Mode : tun
  • Interface : WAN (peut différer suivant votre infra...)
  • Local port : 1194
  • Description : Serveur OVPN by BM

Cryptographic Settings

  • TLS Authentication : Enable authentication of TLS packets (coché)
  • Peer Certificate Authority : RoadWarrior_CA (c'est vous qui l'avais choisi à la création de l'autorié)
  • Server Certificate: RoadWarrior_CERT (CA:RoadWarrior_CA) *In Use
  • DH Parameters Lenght : 1024 bits
  • Encryption algorithm : BF-CDBD (128 bit), je vous conseille de toujours utiliser celui-là d'ailleurs car c'est celui par défaut si non précisé
  • Hardware Crypto : No Harware Crypto Acceleration (peut changer si vous avez une carte d'accélération)
  • Certificate Depth : One (Client+Server)
  • Strict User/CN Matching : When authenticating... non coché

Tunnel Settings

  • IPv4 Tunnel Network : 10.10.10.0/24
  • IPv6 : ne pas remplir
  • Redirect Gateway : Force all client generated traffic through the tunnel, cocher sinon la freebox ne pourra pas accéder au web
  • IPv4 Local Network/s : 192.168.0.0/24, doit correspondre avec l'adresse de votre réseau local. Ce champ peut rester vide, surtout si vous ne savez pas
  • IPv6 Local Network/s : ne pas remplir
  • Concurrent connections : 5 (au choix, évitez de mettre un chiffre inférieur, il arrive que deux connexions soient simultannées avant que l'une échoue)
  • Compression : Compress tunnel packets using the LZO algorithm, cocher (si le client ne supporte pas LZO la connexion se fait quand même)
  • Type-of-Service, Inter-client communication, Duplicate Connections : ne pas cocher

Client Settings

  • Dynamic IP : Allow connected clients to retain their connections..., cocher
  • Adresse Pool : Provide a virtual adapter IP address to clients (see Tunnel Network), cocher
  • Topology : Allocate only one IP per client (topology subnet), ne pas cocher
  • DNS Default Domain : Provide a default domain name to clients (au choix, freebox.vpn)
  • DNS Servers : Provide a DNS server list to clients, cocher. Préciser l'IP d'un ou deux DNS du FAI côté pfSense
  • NTP Servers : ne pas cocher
  • Netbios Options : ne pas cocher
  • Advanced : remplir avec "topology subnet;" (sans les guillemets)

Valider par Save.

Lors de la création de votre nouvel utilisateur VPN (System > User Manager), dans User Certificates ajoutez un nouveau certificat à l'utilisateur, basé sur l'autorité de certification :

pfsense-cert-user

L'utilisateur xhark dispose bien d'un certificat client :

pfsense-cert-user-info

C'est le moment de générer le fichier de configuration *.ovpn que nous injecterons dans la Freebox.

Se rendre dans VPN > OpenVPN > Client Export :

  • Remote Access Server : Serveur OVPN by BM
  • Host Name Resolution : prendre other et entrez l'IP publique du pfSense, cette adresse permettra d'établir la connexion depuis Internet
  • Verify Server CN : Automatic
  • Use Random Local Port : coché chez moi mais pas obligatoire
  • Certificate Export Options, Use Proxy, Management Interface OpenVPNManager et Additional configuration options : ne pas cocher / remplir

Dans la partie Client Install Packages vous devriez voir votre utilisateur, cliquer sur Others pour exporter le fichier ovpn :

ovpn-freebox-pfsense-export-conf

Editez le fichier ovpn et déplacer la dernière ligne " key-direction 1" au début du fichier (sinon cela ne fonctionnera pas et vous aurez l'erreur "Authenticate/Decrypt packet error: packet HMAC authentication failed") :

key-direction 1
dev tun
persist-tun
persist-key
auth SHA1
tls-client
client
...

Edit du 30/04/2014: Free vient de corriger ce bug sur cette directive (#14733)

Ajouter la nouvelle connexion vpn cliente dans la freebox :

ovpn-freebox-conf

Nom d'utilisateur et mot de passe : correspond à votre utilisateur local pfSense.

ovpn-freebox-connecte

Et voilà !

Note : le client VPN sert uniquement pour le client de téléchargement de la freebox, vos machines du réseau n'utiliseront pas le VPN. Il faudrait un VPN site à site pour y parvenir (ou du routage sur la freebox entre l'interface tun et wan).

Un souci avec votre fournisseur ?

J'ajouterai d'autres fournisseurs VPN si la configuration diffère mais dans la plupart des votre configuration sera similaire à la mienne. N'hésitez pas à vous manifester si votre fournisseur semble incompatible.

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter