WireGuard sur Mac : App Store ou brew, installation 2026

Installer WireGuard sur Mac : l'app gratuite du Mac App Store ou brew install wireguard-tools, lequel choisir, importer un .conf, et pourquoi wg0 échoue sur macOS alors que utun fonctionne.

Par Eric GerardFondateur · VPNSmith - Spécialiste self-host VPN & VPS GDPR

Mis à jour 7 min de lecture7 min

Liens affiliés : commission possible, sans surcoût pour vous. Méthode

Voir les étapes d'installationGénérer ma config

fig. 01 / self-host-vpnencrypted tunnelUDP 51820DEVICE10.8.0.2SERVER10.8.0.1INTERNETNATAllowedIPs = 0.0.0.0/0, ::/0ListenPort = 51820 (server)
fig. 01 / self-host-vpn

Installer WireGuard sur un Mac paraît trivial, jusqu'à ce que le tutoriel suivi ait été écrit pour Linux. Deux choses font trébucher : il existe deux produits WireGuard différents pour macOS, et le nom d'interface que tout le monde emploie dans les exemples, wg0, ne peut pas exister sur un Mac.

Pas encore de configuration à importer ? Notre générateur de config WireGuard gratuit écrit dans votre navigateur le fichier serveur et le fichier client du Mac, prêt à importer en .conf ; les clés sont générées localement et rien n'est envoyé à un serveur. Le générateur est gratuit et sans compte, jusqu'à 250 appareils, et son export ZIP réunit chaque .conf client et son code QR en PNG, pratique pour équiper tout un bureau ou une famille d'un coup.

Générez vos configs WireGuard ici

Saisissez l'adresse du serveur, le nombre d'appareils, puis scannez chaque QR code depuis l'app.

Toutes les clés sont générées dans ton navigateur (Curve25519 / X25519). Rien n'est envoyé à nos serveurs - ta config reste 100% privée.

IPv4 publique ou domaine de la machine qui fera tourner WireGuard. Pas encore de serveur ? Laisse vide et ajoute-la plus tard.

Gratuit, sans compte : jusqu'à 250 clients, chaque .conf avec son QR code, et un ZIP avec tous les fichiers.

Tout ce que l'appareil envoie sur Internet passe par ton serveur.

Paramètres avancésSous-réseau du tunnel, DNS, réseaux site à site. Les valeurs par défaut conviennent à la plupart des cas.

Optionnel. Indique le sous-réseau local derrière le serveur et/ou derrière un client qui sert de passerelle de site (un routeur, un Raspberry Pi, un NAS). Le générateur ajoute chaque réseau aux AllowedIPs du serveur, donne à chaque pair les routes vers les autres réseaux et écrit les règles de transfert sur les passerelles. Laisse un champ vide pour un client normal.

Ce que tu télécharges

  • wg0.conf

    pour le serveur

  • client1.conf

    un par appareil

  • QR (exemple)

    pour l'app mobile

Aperçu illustratif : lignes et QR fictifs, aucune vraie clé. Tes vrais fichiers sont générés dans ton navigateur au clic.

Pas encore de serveur ? Le client Mac a besoin d'un serveur WireGuard auquel se connecter ; un VPS Cloud Contabo (lien affilié) en fait tourner un avec sa propre IPv4 publique, dès 5,50 € par mois sur 24 mois (tarif relevé le 17 octobre 2026). Si vous préférez un hébergeur américain avec 30 jours satisfait ou remboursé, le VPS Basic d'Ultahost coûte 5,52 $ par mois sur 24 mois (1 Go de RAM, IPv4 dédiée, relevé le 21 octobre 2026), assez pour un serveur WireGuard de quelques appareils. Hébergeur pas encore choisi ? Comparatifs : meilleur VPS pour un VPN et Contabo vs Hetzner vs OVH, au prix réellement facturé. Autre option : HostPapa Unmanaged VPS Lite (lien affilié) à 2,95 $ par mois sur un engagement de 3 ans, puis au tarif normal (1 cœur, 1 Go de RAM, 25 Go NVMe, accès root SSH, satisfait ou remboursé 30 jours, relevé le 28 octobre 2026).

Les deux installations, d'après la page officielle

La page d'installation de WireGuard les liste toutes les deux, et ce sont réellement des logiciels distincts :

L'application du Mac App Store. Un client graphique avec un élément dans la barre de menus, l'import de tunnels et l'activation à la demande. C'est ce que veulent la plupart des gens.

Les outils en ligne de commande.

brew install wireguard-tools
# ou, avec MacPorts
port install wireguard-tools

Vous obtenez wg et wg-quick, les mêmes commandes que sur un serveur. En dessous tourne l'implémentation Go en espace utilisateur plutôt qu'un module noyau, car macOS n'a pas de WireGuard dans le noyau.

Ils ne partagent pas leur liste de tunnels. Un tunnel importé dans l'application n'apparaîtra pas dans wg show, et réciproquement. Choisissez-en un par machine, sauf raison précise d'avoir les deux.

Gros plan d'un écran de terminal affichant un listing de répertoires Unix en vert et bleu
Gros plan d'un écran de terminal affichant un listing de répertoires Unix en vert et bleu

Ce qui casse les tutoriels Linux : wg0 n'existe pas ici

C'est l'échec le plus fréquent, et le message d'erreur l'explique rarement.

Sous Linux, vous créez wg0 et vous passez à la suite. Sur macOS, les tunnels passent par le pilote utun, et la documentation multiplateforme de WireGuard énonce la contrainte sans ambiguïté : le pilote utun ne peut pas avoir de noms d'interface arbitraires. Il faut utiliser utun suivi d'un chiffre, par exemple utun0, ou simplement utun pour laisser le noyau choisir.

# echoue sur macOS
sudo wg-quick up wg0

# fonctionne
sudo wg-quick up utun

Si vous avez copié un guide qui dit wg0, renommez le fichier de configuration et toute commande qui s'y réfère. Les clés, AllowedIPs, Endpoint et DNS ne sont pas concernés : seul le nom d'interface dépend de la plateforme.

Savoir quel utun vous avez obtenu. Si vous laissez le noyau choisir, il faut un moyen de connaître le résultat. Définissez WG_TUN_NAME_FILE avant de monter le tunnel, et le nom retenu y est écrit :

export WG_TUN_NAME_FILE=/tmp/wg-name
sudo -E wg-quick up utun
cat /tmp/wg-name    # par exemple utun4

Sans cela, vous lisez la sortie d'ifconfig en devinant quel utun est le vôtre : acceptable une fois, pénible dans un script.

Importer une configuration existante

Si vous avez généré une configuration client sur votre serveur, elle se transfère telle quelle. Dans l'application, utilisez l'option d'import et sélectionnez le fichier .conf : le tunnel apparaît dans la liste, prêt à être activé. En ligne de commande, placez-le dans /opt/homebrew/etc/wireguard/utun.conf (Apple Silicon) ou /usr/local/etc/wireguard/utun.conf (Intel), en nommant le fichier d'après l'interface, puis lancez wg-quick up utun.

Une configuration générée pour un téléphone fonctionne aussi sur un Mac. C'est une définition de pair, pas un artefact propre à l'appareil, à condition que chaque appareil ait sa propre paire de clés et non une paire partagée.

Vérifier que cela fonctionne vraiment

Montez le tunnel, puis confirmez deux choses plutôt que de les supposer.

sudo wg show

Un pair en bonne santé affiche un latest handshake de moins de deux minutes et des compteurs transfer non nuls dans les deux sens. Envoyé mais rien reçu est la signature d'un chemin de retour bloqué. Si la poignée de main n'aboutit jamais, notre guide de dépannage du handshake parcourt les causes par ordre de probabilité.

Confirmez ensuite que le trafic passe réellement par le tunnel, et pas seulement que l'interface existe : vérifiez votre IP publique depuis le navigateur, et si vous routez le DNS par le tunnel, contrôlez l'absence de fuite. Notre note sur la prévention des fuites DNS avec WireGuard couvre les réglages qui comptent.

Un VPN change votre IP. Il ne change pas votre navigateur.

Un tunnel remplace l'adresse que voit un service. Il ne change rien à ce que votre navigateur annonce de lui-même - polices, écran, fuseau, pile graphique - et cette combinaison suffit souvent à vous reconnaître d'une session à l'autre, tunnel ou pas.

Mesurez votre empreinte de navigateur - mesure passive, aucune question, aucun compte, aucune adresse e-mail.

En bref

Deux produits : l'application de l'App Store pour un client graphique, wireguard-tools via Homebrew ou MacPorts pour la même ligne de commande que votre serveur. Ils ne partagent pas leurs tunnels. Et sur macOS, l'interface doit s'appeler utun ou utunN, jamais wg0, parce que le pilote utun n'accepte pas de noms arbitraires. Cette seule ligne explique la plupart des installations Mac ratées à partir de guides Linux.

Lien affilié

Prix relevé le 17/10/2026, engagement 24 mois

Questions fréquentes

Comment installer WireGuard sur macOS ?
La page d'installation officielle liste deux voies. L'application graphique vient du Mac App Store. Les outils en ligne de commande viennent d'un gestionnaire de paquets : `brew install wireguard-tools` avec Homebrew, ou `port install wireguard-tools` avec MacPorts. Ce ne sont pas le même produit et ils ne partagent pas leur liste de tunnels : choisissez-en un et tenez-vous-y, sauf si vous voulez précisément les deux.
Pourquoi wg0 ne fonctionne-t-il pas sur macOS ?
Parce que macOS n'a pas de module WireGuard dans le noyau : les tunnels passent par l'implémentation en espace utilisateur, sur le pilote utun, et ce pilote n'accepte pas de noms d'interface arbitraires. La documentation multiplateforme de WireGuard est explicite : il faut utiliser utun suivi d'un chiffre, ou simplement utun pour laisser le noyau en choisir un. Un tutoriel Linux qui vous dit de créer wg0 échouera donc sur un Mac, et le message d'erreur explique rarement pourquoi.
Comment savoir quelle interface utun le noyau a choisie ?
Définissez la variable d'environnement WG_TUN_NAME_FILE avant de monter le tunnel. Quand le nom d'interface reste utun, le nom réellement retenu par le noyau est écrit dans le fichier que vous avez indiqué. Sans cela, il vous reste à lire la sortie d'`ifconfig` et à deviner quel utun est le vôtre.
Application du Mac App Store ou outils Homebrew : lequel choisir ?
L'application si vous voulez une expérience macOS normale : bascule depuis la barre de menus, import de tunnel par glisser-déposer, activation à la demande. Les wireguard-tools si vous scriptez, administrez la machine en SSH, ou voulez les mêmes commandes wg et wg-quick que sur votre serveur. L'application est en bac à sable et se met à jour via l'App Store ; la ligne de commande se met à jour via votre gestionnaire de paquets.
Puis-je réutiliser le fichier .conf de mon serveur Linux ?
Oui, côté client. Une configuration de pair est du texte brut et donc portable : les blocs [Interface] et [Peer] générés pour un portable fonctionnent tels quels. La seule chose qui ne se transfère pas est le nom d'interface : renommez-le en utun ou utunN si le fichier ou vos commandes mentionnent wg0. Clés, AllowedIPs, Endpoint et DNS se transposent sans changement.