Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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. lol

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. tongue

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