DNS

Les requêtes DNS passent hors du VPN sur un Mac

Avec un VPN actif, vous voulez en général que les requêtes DNS aillent aux serveurs du VPN. Certains réglages les envoient plutôt aux serveurs du réseau local.

S’applique à : macOS 13 Ventura et ultérieur pour les étapes dans Réglages Système. Les commandes Terminal fonctionnent sur toutes les versions actuelles de macOS.Vérifié le 29 octobre 2026

Symptômes

  • Le VPN est connecté, mais un test DNS affiche les serveurs du fournisseur d’accès local.
  • Les sites voient le serveur DNS de votre réseau local alors que le VPN est actif.
  • Les noms internes fonctionnent, mais les autres noms utilisent le DNS du réseau local.

Causes probables

  • Des serveurs DNS manuels sur le Wi-Fi ou l’Ethernet. Les serveurs saisis pour un service réseau peuvent rester utilisés à côté de ceux du VPN.
  • Un VPN en tunnel partiel. Certains VPN ne font passer que certains domaines ou réseaux par le tunnel. Les autres requêtes utilisent les serveurs locaux.
  • Un profil DNS chiffré ou une app DNS. Un profil de réglages DNS ou une autre app DNS peut envoyer les requêtes à son propre serveur.
  • Les réglages de l’app VPN. Beaucoup d’apps VPN ont leurs propres options DNS. Ces options déterminent les serveurs que reçoit macOS.

Comment vérifier

  1. Connectez le VPN. Affichez la configuration DNS. Le résolveur #1 est celui utilisé par défaut pour la plupart des noms.

    scutil --dns

    Résultat Chaque résolveur avec ses adresses nameserver, son interface if_index et, pour certains, un domaine domain.

  2. Trouvez l’interface du résolveur #1. Une interface VPN porte souvent un nom comme utun.

    ifconfig -l
  3. Cherchez les serveurs DNS définis à la main sur le service physique.

    networksetup -getdnsservers Wi-Fi
  4. Cherchez des profils. Sur macOS 15 et versions ultérieures, choisissez menu Pomme > Réglages Système > Général > Gestion des appareils.

  5. Sur macOS 13 et 14, choisissez menu Pomme > Réglages Système > Confidentialité et sécurité > Profils.

Comment corriger

  1. Supprimez les serveurs DNS définis à la main sur le Wi-Fi ou l’Ethernet, si vous n’en avez pas besoin.

    networksetup -setdnsservers Wi-Fi empty

    Nécessite un mot de passe administrateur.

  2. Ouvrez les réglages de l’app VPN. Activez son option pour utiliser le DNS du VPN, si elle en a une.

  3. Supprimez un profil DNS dont vous n’avez pas besoin. Sélectionnez-le dans Gestion des appareils ou Profils, puis cliquez sur le bouton Supprimer.

  4. Déconnectez puis reconnectez le VPN. Relancez scutil --dns et comparez.

  5. Demandez au fournisseur du VPN ou à votre administrateur quels serveurs DNS le tunnel doit utiliser.

Avec Kilobat

  1. Kilobat liste les interfaces VPN à côté des interfaces physiques.

    kilobat interfaces --json
  2. Pour un nom privé, why indique à quel résolveur VPN la requête est allée et s’il répond. Il compare aussi le chemin direct avec le tunnel.

    kilobat why intranet.corp.example

Questions

Un VPN gère-t-il toujours tout le DNS ?

Non. C’est le VPN qui décide. Un VPN en tunnel partiel peut n’envoyer que certains domaines à ses serveurs DNS.

Pourquoi vois-je plusieurs résolveurs ?

macOS peut utiliser de nombreux résolveurs. Les résolveurs avec une ligne domain ne répondent que pour ce domaine. La page man de scutil l’explique.

Sources

Sources vérifiées le 29 octobre 2026. Les pages man sont celles installées avec macOS ; ouvrez-en une avec man <name> dans Terminal.