Le blog de Genma
Vous êtes ici : Accueil » Informatique & Internet » Freebox et Free le F.A.I. » Utiliser le VPN de la Freebox sous Ubuntu

Utiliser le VPN de la Freebox sous Ubuntu

D 30 avril 2014     H 09:00     A Genma     C 12 messages   Logo Tipee

TAGS : Ubuntu Free, Freebox, Freemobile VPN

Comme je l’expliquais dans mon article La Freebox v6 dispose d’un serveur et d’un client VPN. Dans le cadre du présent article, c’est le mode OpenVPN Routé, qui permet de passer par la Freebox pour aller ensuite sur Internet, que j’utiliserai.

Le cas d’utilisation étant, par exemple, sur un Wifi non protégé, d’avoir communications qui soient chiffrés. On lance le client VPN et tout passe par la Freebox. C’est alors comme si je surfais de chez moi. Sauf que je suis en extérieur. Et je peux me connecter à un WIFI dans lequel je n’ai pas confiance ou une confiance

Lancement du service de VPN

Au préalable, il faut que le service VPN soit activé sur la Freebox v6. Il faut aller dans l’interface d’administration de la Freebox V6 (
http://mafreebox.freebox.fr/) et activer le service,

créer un utilisateur,

vérifier les connexions actives...

Utilisation depuis Ubuntu

Une fois le fichier exporté et récupéré sur un PC qui tourne sur Ubuntu, on peut lancer son importation (en cliquant sur l’icône de gestion du réseau dans la barre en haut à droit, quand on est sous Unity). Bien que l’extension pour les fichiers openvpn soit bien installé, via la commande (car ce n’est pas le cas par défaut) :

sudo apt-get install network-manager-openvpn-gnome

Au moment de l’import du fichier de configuration, j’ai le message d’erreur :

Attention : unknown PPTP file extension

Le fichier de configuration openvpn de la freebox ne fonctionne pas avec le network-manager d’Ubuntu. La faute a qui ? Free ? Le network manager qui n’a qu’un support minimal de ce genre de fichier ? Une recherche sur le Net montre qu’il s’agit d’un bug connu depuis des années, qui n’a pas vraiment de résolution... On m’a conseillé d’utiliser le script suivant pour décomposer le fichier en différent fichier à utiliser pour la configuration du client d’OpenVPN (Source du script sur Github)

#/bin/sh
# make output file
mkdir -p output
# print Gateway
sed -n 's/remote \([^ ]\+\) [0-9]\+/passerelle: \1/p' $1
# create client config file
awk '/<ca>/{exit} {print}' $1 > output/client.ovpn
# output certificate of CA
awk '/<ca>/ {flag=1;next} /<\/ca>/{flag=0} flag {print}' $1 > output/ca.crt
# output certificate of client key
awk '/<cert>/ {flag=1;next} /<\/cert>/{flag=0} flag {print}' $1 > output/client.crt
# output client key
awk '/<key>/ {flag=1;next} /<\/key>/{flag=0} flag {print}' $1 > output/client.key

Ce script se lance en faisant ./nom_du_script.sh config_openvpn_routed_genma.ovpn (le fichier étant celui issu de l’export depuis l’interface d’administraition de la freebox). Un répertoire output est créé dans lequel on a différents fichiers :
 ca.crt
 client.crt
 client.key
Et on peut les utiliser en lançant dans un terminal la commande :
sudo openvpn --config client.ovpn --ca ca.crt --key client.key --cert client.crt

Reste à faire

Je n’ai pas encore trouver comment utiliser les fichiers générés via le script dans Network-manager. Sur mon Ubuntu, même si je définis leurs utilisations dans le cas de la création d’une connexion, cela ne semble pas marcher.

Mais je n’ai pas creuser plus loin, la méthode "lancement de la connexion en ligne de commande" me convenant/suffisant.

Utiliser le VPN

Une fois la connexion au VPN lancée, pour valider que l’on est bien sur le VPN, on va sur un site qui permet d’afficher son adresse IP (comme http://www.mon-ip.com/) et si l’adresse IP qui apparait est-celle de la Freebox, c’est que c’est bon, on est bien connecté via le VPN. (Cela nécessite bien sûr de connaitre l’adresse IP publique de sa Freebox)

Conclusion

Je vous renvoie à La Freebox v6 dispose d’un serveur et d’un client VPN en ce qui concerne les réserves quand à l’utilisation du VPN (le fait que ce soit un service de Free, que Free sache tout... Mais de même que Free sait tout ce qui est consulté depuis la connexion à mon domicile). Le but et l’usage de ce VPN n’est pas d’être anonymisé mais de sécuriser (relativement) sa connexion Internet. Autre limitation, le fait que l’on se retrouve avec une connexion limitée à la vitesse de l’upload de la Freebox (1 Mbits dans le cas de l’ADSL).

12 Messages

  • ça marche !
    (via le script qui découpe le ".ovpn", puis avec
    sudo openvpn —config client.ovpn —ca ca.crt —key client.key —cert client.crt )


  • Bonjour,
    vous n’avez pas besoin de vous embeter a decomposer le fichier si vous le faite en ligne de commande :

    openvpn —config /chemin/fichier/vpn/telechargé

    c’est tout, ca se complique effectivement si on veux utiliser le GUI ( bien pratique quand meme et surtout qui gere les reconnexions automatique :/


  • Pas de news concernant l’utilisation du network manager pour initier la connexion ?

    Quelqu’un a réussi à la faire marcher avec le VPN de la free ?


  • Je vais testé après une connexion VPN PPTP qui déco trop souvent. Vraiment pas mal ton site.


  • Bonjour,
    Suite à un passage imminent à la fibre, je me suis dit qu’un petit serveur vpn domestique pouvait être intéressant. Effectivement j’ai un peu galéré mais j’ai réussi à le faire fonctionner via network-manager.
    D’abord, créer la connection vpn puis choisir mot de passe avec certificat tls.
    mettre le nom d’utilisateur et le mot de passe puis importer les différents certificats et la clé.
    (client.crt, ca.crt, client.key).
    Ne pas oublier la passerelle (adresse ip de la box)
    Dans les paramètres avancés :
    Général _ mettre le port spécifié dans la freebox (11137)puis les fragments udp à 1452 et activer la taille maximale du segment tcp
    Sécurité_ Mettre AES-256-CBC
    Authentification_ Activer Verify peer (server) avec la valeur server.
    Et voilà de mon côté ça fonctionne !


  • Bonjour, j’ai configuré un VPN bridgé et non routé pour que (je pense) je puisse utiliser mon imprimante USB connectée et partagée sur la FreeBox ainsi que les partages réseaux de ma station fixe.
    J’ai bon avec ton tuto ?
    Et comment je fais pour savoir si la connexion est OK ? La GUI du network manager fait la roue 3 ou 4 fois et pis, j’ai de nouveau l’icône du wifi qui revient.
    En CLI, je fait un ifconfig qui me retourne une config down en eth0 (narmol, c’est le filaire), un cnx up en eth1 (narmol, c’est le sans-fil) et lo (narmol, c’est la boucle locale, localhost), et rien en tun0, le périphérique virtuel du VPN.


  • Bonjour,
    OpenVpn en CLI semble fonctionner


    après avoir entré les différents logins, je suis arrivé à ça. Remplacer les champs Username, password, link remote et [AF_INET] par les valeurs de votre réseau

    [sudo] Mot de passe de user : 
    Tue Jan 24 00:33:47 2017 OpenVPN 2.3.10 i686-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Feb  2 2016
    Tue Jan 24 00:33:47 2017 library versions: OpenSSL 1.0.2g  1 Mar 2016, LZO 2.08
    Enter Auth Username: SaisirLeNomDeLutilisateurDuVpn
    Enter Auth Password: SaisirLeMotDePasseDeLutilisateurDuVpn
    Tue Jan 24 00:34:41 2017 UDPv4 link local: [undef]
    Tue Jan 24 00:34:41 2017 UDPv4 link remote: [AF_INET]111.222.333.444:56789
    Tue Jan 24 00:34:41 2017 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
    Tue Jan 24 00:34:41 2017 [Freebox OpenVPN server UneChaineDeCaracteresHexadecimaux] Peer Connection Initiated with [AF_INET]111.222.333.444:56789
    Tue Jan 24 00:34:43 2017 TUN/TAP device tap0 opened
    Tue Jan 24 00:34:43 2017 Initialization Sequence Completed

    Lorsque je fait un ifconfig tap0, je n’ai aucune info sur son @IP.
    Dans un tail /var/log/syslog, je lis

    systemd-udevd[5522] : Could not generate persistent MAC address for tap0 : No such file or directory

    device added (path : /sys/devices/virtual/net/tap0, iface : tap0) : no ifupdown configuration found.


  • J’ai réussi à faire marcher la connection VPN en graphique en important comme spécifié le fichier généré par la freebox gràce au shell ’make output file’ fourni plus haut. Et je suis retourné dans l’interface graphique et j’ai seulement rajouté dans l’onglet Authentication : "Password with Certificates (TLS)" en spécifiant dans les champs dessous le user/passwd spécifié dans la freebox (qui à permis de générer le .ovpn).
    Merci pour le tuto


  • Bonjour, merci pour votre tuto. Mais je ne comprends pas car premièrement alors que tout semble bien ce passer lorsque je teste mon ip sur mon navigateur rien n’a changé et je n’ai pas l’adresse ip de ma freebox. Deplus le terminal affiche à intervalle régulier ce genre de messages : write to TUN/TAP : Input/output error (code=5)
    Si vous avez une idée je suis preneur ;-)


  • quand tu lance la télé de free à distance. Free t’informe que tu n’es pas dans le réseau de free. Le vpn n’est pas dans le NAT 100%.


  • Bonjour,

    Merci pour ce tuto très clair.

    Je suis en Ubuntu 18.04.
    Coté free j’ai créé 2 VPN : l’un bridge et l’autre routé.
    D’après de que j’ai compris le bridge me donne accès à un adressage IP identique à celui que j’ai quand je suis en réseau local et le routed me donne une IP dans une sorte de DMZ de ma freebox.

    J’ai utilisé le wifi de mon portable pour accéder à internet. J’ai obtenu une adresse IP IP1.

    J’ai ensuite appliqué la procédure en testant chacun des 2 VPN.
    Dans les deux cas le lancement de openvpn a l’air de bien ce passer mais quand j’ouvre un nouveau terminal et que je lance ifconfig, j’ai toujours la mm adresse IP : IP1.

    Merci

    Eric P


  • Salut,

    Merci pour le tuto.

    Pour info, à ce jour, le fichier généré fonctionne direct en mode graphique.

    Freebox Mini 4k et Debian testing.