#1 Le 04/10/2021, à 14:04
- Zakhar
[Auto résolu] Freebox Wireguard - Connexion client impossible
Bonjour,
Depuis la version 4.5 de Freebox OS, les Freebox exposent la possibilité de se connecter en WireGuard qui est supposé plus performant qu'OpenVPN et inclus au noyau.
Est-ce que quelqu'un est parvenu à connecter son PC Ubuntu (XYZ-Ubuntu / Debian) à une freebox en Wireguard.
Personnellement, j'arrive à "monter" l'interface (wg0) des paquets sont envoyés, mais la freebox ne semble pas répondre.
Voici les étapes que j'ai faites.
- Sur la Freebox
- Activé WireGuard
- Déclaré un nouvel utilisateur utilisant WireGuard (IP fixée)
- Téléchargé la configuration de cet utilisateur Wireguard
Sur le PC
- Installation des outils Wireguard (userland)
sudo apt install wireguard
- génération des clés pour le client (en user root)
cd /etc/wireguard/
umask 077; wg genkey | tee privatekey | wg pubkey > publickey
- remplacement dans le fichier de configuration de Free de la clé privé par ma clé ainsi générée.
[Interface]
PrivateKey = Ma_Clé_Privée=
Address = 192.168.27.NN/32
DNS = 212.27.38.253
MTU = 1360
[Peer]
PublicKey = Clé_Publique_Ma_Freebox=
Endpoint = 88.88.88.88:12345
AllowedIPs = 0.0.0.0/0, 192.168.27.64/27, 192.168.N.0/24
- Le fichier de configuration ci-dessus est renommé wg0.conf dans le répertoire /etc/wireguard
- Installation de resolvconf qui semble nécessaire bien que personne ne l'explique (ni pourquoi !)
sudo apt install resolvconf
- lancement du wg0
$ sudo wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 192.168.27.NN/32 dev wg0
[#] ip link set mtu 1360 up dev wg0
[#] resolvconf -a tun.wg0 -m 0 -x
[#] ip -4 route add 192.168.27.64/27 dev wg0
[#] ip -4 route add 192.168.N.0/24 dev wg0
[#] wg set wg0 fwmark 55555
[#] ip -4 route add 0.0.0.0/0 dev wg0 table 55555
[#] ip -4 rule add not fwmark 55555 table 55555
[#] ip -4 rule add table main suppress_prefixlength 0
[#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
[#] iptables-restore -n
- Vérification que wg0 est bien là :
$ ip a show dev wg0
5: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1360 qdisc noqueue state UNKNOWN group default qlen 1000
link/none
inet 192.168.27.NN/32 scope global wg0
valid_lft forever preferred_lft forever
$ sudo wg
interface: wg0
public key: Ma_Clé_Publique=
private key: (hidden)
listening port: 33333
fwmark: 0xca6c
peer: Clé_Publique_Ma_Freebox=
endpoint: 88.88.88.88:12345
allowed ips: 0.0.0.0/0, 192.168.27.64/27, 192.168.1.0/24
transfer: 0 B received, 3.04 KiB sent
... comme on le voit déjà, on a du "sent", mais pas "received".
On peut essayer ça par exemple :
$ curl https://forum.ubuntu-fr.org
Rien ne répond...
Même "ping" sur la Freebox distante ne donne rien
$ ping 192.168.N.254
PING 192.168.N.254 (192.168.N.254) 56(84) bytes of data.
--- statistiques ping 192.168.N.254 ---
3 paquets transmis, 0 reçus, 100 % paquets perdus, temps 2046 ms
Une idée de l'étape qui me manque ?
Pour récupérer un PC avec une connexion qui marche, on retire wg0
$ sudo wg-quick down wg0
[#] ip -4 rule delete table 55555
[#] ip -4 rule delete table main suppress_prefixlength 0
[#] ip link delete dev wg0
[#] resolvconf -d tun.wg0 -f
[#] iptables-restore -n
P.S.: toutes les IP personnelles ou locales on été remplacées par des "place-holders"
Dernière modification par Zakhar (Le 07/10/2021, à 03:25)
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#2 Le 06/10/2021, à 21:37
- Zakhar
Re : [Auto résolu] Freebox Wireguard - Connexion client impossible
Personne ?
Bon je sais que je pose des questions "pointues", désolé... et aussi que la fonction Wireguard sur la Freebox est toute récente, d'ailleurs vous ne l'avez peut-être même pas encore si vous n'avez pas rebooté la Freebox en 4.5
Il est vrai que la Freebox tourne sous Linux, et à moins que vous ne coupiez le courant, ça peut tourner des mois sans aucun reboot nécessaire (contrairement à d'autres O.S. dont on taira pudiquement le nom).
Malheureusement, pour la question en objet, je ne peux pas faire comme à mon habitude : aller voir sur le forum anglais avec davantage de répondants... puisqu'ils n'ont pas la chance d'avoir des Freebox.
Je vais donc continuer mes investigations en solo... mais en tout cas n'hésitez pas à poster une réponse si vous avez une piste !
Le test ci-dessus était fait sur une Freebox Revolution, je vais le répéter sur une Mini 4K pour voir si j'ai plus de chance et si par hasard ce n'est pas un bug Free (ce ne serait pas le premier ni le dernier !).
Dernière modification par Zakhar (Le 06/10/2021, à 21:39)
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#3 Le 07/10/2021, à 03:32
- Zakhar
Re : [Auto résolu] Freebox Wireguard - Connexion client impossible
Pour ceux que ça intéresserait, contre toute logique il faut directement utiliser le clé privée pour le client calculée par la Freebox. Drôle de clé "privée" du coup puisque la Freebox la connaît, mais c'est sans doute une limitation due à l'interface verrouillé de Freebox OS.
Ce n'est pas bien dramatique en réalité, puisque la Freebox va de toute façon voir votre flux de données passant via le VPN en clair... elle sait donc déjà tout ce que vous faites.
Pour le cas où la communication pourrait être bi-directionnelle et partir du serveur, il vaut mieux utiliser un keepalive, par exemple 25 secondes recommandé par défaut sur ce qu'on peut lire en ligne.
L'utilisation du PSK est aussi recommandé pour une meilleure résistance future.
Donc en réalité l'usage est simplissime pour le cas d'usage prévu (redirection de tout le trafic).
Il suffit de télécharger le fichier de configuration produit par la freebox pour votre client.
Le stocker sous /etc/wireguard/wg0.conf
(ou tout nom d'interface valide,suivi de .conf)
Et lancer la commande
$ sudo wg-quick up wg0
Pour les pré-requis à installer, voir le post #1
Résultat : ça vaut quand même le coup, le débit (en download sur le client) est plus que doublé sur une Freebox Revolution !
Suite des investigations : ne pas rediriger tout le trafic quand le seul besoin est d'accéder à la Freebox (avoir une autre IP) ou par exemple dépanner un utilisateur derrière la Freebox.
Dernière modification par Zakhar (Le 07/10/2021, à 03:36)
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#4 Le 01/04/2022, à 10:24
- david.macnimo
Re : [Auto résolu] Freebox Wireguard - Connexion client impossible
Merci bien pour les informations que tu fournies cela me donne envie de tester également cette possibilité avec ma Freebox Pop.
Hors ligne
#5 Le 01/04/2022, à 16:56
- Zakhar
Re : [Auto résolu] Freebox Wireguard - Connexion client impossible
Ça vaut le coup par rapport à OpenVPN la différence est notable !..
J'ai aussi résolu mon accès à distance en passant "à l'envers" via l'adresse attribuée par la Freebox aux entrées de VPN qui sont en 192.168.27.nn
On peut fixer le "nn" quand on déclare le VPN pour pouvoir être sûr de joindre la machine.
J'ai aussi un script pour monter le WireGuard sans rediriger tout le trafic. L'usage est par exemple de faire du "curl" sur une autre IP que la sienne... Cas d'usage connu : quand le serveur accéder limite le trafic par adresse IP.
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#6 Le 26/04/2022, à 10:09
- temium62
Re : [Auto résolu] Freebox Wireguard - Connexion client impossible
Bonjour
tout d abord merci pour le partage
je suis débutant sous Ubuntu et je bloque pour installer WireGuard dessus , je ne saisis pas ce passage ci dessous, on change quoi dans le fichier de configuration que j ai téléchargé depuis la freebox (je l ai bien placé dans /etc/wireguard/)
je ne trouve pas où se trouve la clé générée que tu évoques
- remplacement dans le fichier de configuration de Free de la clé privé par ma clé ainsi générée.
[Interface]
PrivateKey = Ma_Clé_Privée=
Address = 192.168.27.NN/32
DNS = 212.27.38.253
MTU = 1360
[Peer]
PublicKey = Clé_Publique_Ma_Freebox=
Endpoint = 88.88.88.88:12345
AllowedIPs = 0.0.0.0/0, 192.168.27.64/27, 192.168.N.0/24
[/quote=Zakhar]
- Le fichier de configuration ci-dessus est renommé wg0.conf dans le répertoire /etc/wireguard
- Installation de resolvconf qui semble nécessaire bien que personne ne l'explique (ni pourquoi !)
sudo apt install resolvconf
- lancement du wg0
EDIT : bon ben ça marche, nickel, merci ;-)
Dernière modification par temium62 (Le 26/04/2022, à 10:12)
Hors ligne
#7 Le 05/06/2022, à 08:53
- Zakhar
Re : [Auto résolu] Freebox Wireguard - Connexion client impossible
je ne trouve pas où se trouve la clé générée que tu évoques
Pas de problème si tu ne trouves pas ça, si tu lis les posts suivants tu verras que la clé générée ne sert pas, il faut utiliser directement le fichier de configuration fourni par la Freebox y compris la clé "privée" qui a été générée par la Freebox.
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#8 Le 29/12/2022, à 21:51
- skylvl
Re : [Auto résolu] Freebox Wireguard - Connexion client impossible
Bonjour à tous,
Merci Zakhar pour ces infos, ça fonctionne bien pour moi.
Pour compléter le post, j'ai trouvé comment activer/désactiver wireguard depuis le menu des paramètres d’Ubuntu (en haut à droite).
Je précise que j'utilise ubuntu 22.10.
J'utilise une méthode expliquée sur cette page.
Il suffit, après avoir appliquer les instructions de Zakhar, de lancer la commande :
sudo nmcli connection import type wireguard file wg0.conf
Je n'ai pas installé le plugin wireguard pour le network manager dont il est fait mention sur ce repository github. Du coup, je ne vois pas la connection wireguard dans les paramètres réseau. Je ne peux que activer/désactiver la connection via les paramètres rapides en haut à droite.
Pour résumer, voici la méthode complète :
Sur la Freebox
- Activé WireGuard
- Déclaré un nouvel utilisateur utilisant WireGuard (IP fixée)
- Téléchargé la configuration de cet utilisateur Wireguard
Sur le PC
- Installation des outils Wireguard (userland)
sudo apt install wireguard
- copier le fichier de configuration dans `/etc/wireguard` en le renommant `wg0.conf`.
sudo cp /home/[user]/Téléchargements/config_wireguard_[user].conf /etc/wireguard/wg0.conf
- Importer dans network manager.
sudo nmcli connection import type wireguard file wg0.conf
Hors ligne
#9 Le 16/01/2023, à 22:06
- tfoutfou
Re : [Auto résolu] Freebox Wireguard - Connexion client impossible
totalement logique que générer sa propre key pour le client ne fonctionne pas
étant donné qu on ne peut pas rentré ou édité la clé publique du client coté serveur , CQFD
sinon post intéressant , on tombe dessus dans les premières recherches google
Hors ligne
#10 Le 24/01/2024, à 17:39
- tintinux
Re : [Auto résolu] Freebox Wireguard - Connexion client impossible
Bonjour
copier le fichier de configuration dans `/etc/wireguard` en le renommant `wg0.conf`.
Je crois qu'il est inutile, voire trompeur, de copier le fichier.
Il suffit de donner son chemin d'accès après le mot clef file de la commande nmcli connection import, par exemple :
sudo nmcli connection import type wireguard file "/home/chez_moi/mon_vpn.conf"
La connexion est créée sous le nom du fichier (ici : mon_vpn). Il semble seulement qu'il ne doive pas contenir d'espaces ou de caractères accentués, et il faut mieux préalablement supprimer une connexion de même nom, si elle existe.
Après l'import, aucun fichier n'est créé dans /etc/wireguard, il doit l'être ailleurs...
Ubuntu-MATE 22.04 sur 5 machines de la famille.
Développeur d'applications, dont Gestinux, une compta-gestion libre, multi-plateforme et multi-langues, connectable à une base MySQL, MariaDb ou PostgreSQL, locale ou distante.
Hors ligne
#11 Le 03/03/2024, à 23:38
- Dudule100
Re : [Auto résolu] Freebox Wireguard - Connexion client impossible
Bonjour,
Désolé du déterrage, est ce que depuis un périphérique connecté sur la freebox directement tu arrive a ping tes appareils connecté via wireguard ? Et dans l'autre sens ?
Merci pour l'info
- Qu'avez vous sur votre écran ?
- Un pot de fleur.
- Bon ouvrez la fenêtre.
- c'est vrais qu'il commence a faire chaud !
Hors ligne
#12 Le 04/03/2024, à 19:21
- tintinux
Re : [Auto résolu] Freebox Wireguard - Connexion client impossible
Oui, à condition de mettre seulement 0.0.0.0/0 dans les IP autorisées de la machine source.
Ubuntu-MATE 22.04 sur 5 machines de la famille.
Développeur d'applications, dont Gestinux, une compta-gestion libre, multi-plateforme et multi-langues, connectable à une base MySQL, MariaDb ou PostgreSQL, locale ou distante.
Hors ligne