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

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.
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.
★ Datacenter Nuremberg GDPR · ✓ IPv4 dédiée incluse · 200+ Mbps garantis
Votre Mac est le client. Le tunnel a besoin d'un serveur → VPS ContaboUn VPS Linux fait tourner le côté WireGuard auquel votre Mac se connecte, avec une implémentation noyau plutôt qu'en espace utilisateur. Accès root, tarif prévisible, datacenters européens.→★ Datacenter Nuremberg GDPR · ✓ IPv4 dédiée incluse · 200+ Mbps garantis
Héberge ton VPN sur ton propre VPS → ContaboAccès root complet · IPv4 publique · choisis ta région→


