Tous les produits
Search
Centre de documentation

VPN Gateway:Configure custom DNS for SSL-VPN clients

Dernière mise à jour :Aug 10, 2026

Configurez des adresses de serveur DNS privé sur le serveur SSL-VPN afin que les clients puissent résoudre les noms de domaine privés au sein d'un VPC.

Fonctionnement

image

Le DNS personnalisé pour les clients SSL-VPN s'appuie sur le mécanisme d'options DHCP d'OpenVPN. Le processus est le suivant :

  1. Activez l'interrupteur SSL Server situé sous l'option Custom Client DNS et saisissez jusqu'à deux adresses IP de serveurs DNS privés présents dans le VPC.

  2. Le serveur SSL-VPN transmet la configuration DNS au client.

  3. Une fois connecté, le client reçoit automatiquement les adresses des serveurs DNS depuis le serveur.

  4. Le système d'exploitation définit ces adresses comme serveurs DNS préférés pour la connexion active.

  5. Les requêtes de résolution de noms de domaine ultérieures (telles que git.internal et example.com) sont acheminées via le tunnel VPN vers le serveur DNS du VPC, ce qui permet de résoudre les noms de domaine privés.

Limites

  • Deux adresses de serveur DNS au maximum (primaire et secondaire).

  • Le système ne vérifie pas l'accessibilité des serveurs DNS. Assurez-vous que les adresses IP spécifiées peuvent assurer le service DNS au sein du VPC.

  • Certains clients nécessitent une configuration supplémentaire. macOS (Tunnelblick) applique le DNS automatiquement. Windows peut requérir la modification de la métrique de l'adaptateur réseau. Linux exige une configuration basée sur des scripts.

  • Non pris en charge sur iPhone, iPad ou Android.

  • Les adresses DNS au format nom de domaine ne sont pas prises en charge.

  • Les mises à jour dynamiques du DNS ne sont pas prises en charge.

  • Les adresses DNS IPv6 ne sont pas prises en charge.

Procédure

Prérequis

  • Vous avez connecté le client au VPC en suivant les instructions du guide Démarrage rapide. Si vous utilisez macOS, utilisez le client Tunnelblick.

  • Un serveur DNS (Windows AD DNS, CoreDNS, BIND, etc.) est en cours d'exécution dans le VPC.

  • Le groupe de sécurité du serveur DNS autorise le trafic entrant sur le port UDP 53 en provenance du Client CIDR Block.

Étape 1 : Activer le DNS personnalisé

Console

  1. Dans la colonne Actions du serveur SSL, cliquez sur Edit.

  2. Activez l'interrupteur Custom Client DNS et configurez les éléments suivants :

    • DNS Server Address 1 : Saisissez l'adresse IP privée d'un serveur DNS déployé dans votre VPC.

    • DNS Server Address 2 : Facultatif. Saisissez l'adresse IP d'un serveur DNS secondaire.

API

Appelez l'opération API ModifySslVpnServer et utilisez le paramètre DnsServers pour définir les adresses des serveurs DNS.

Étape 2 : Configurer le client

Choisissez la méthode adaptée à votre système d'exploitation. macOS (Tunnelblick) applique automatiquement le DNS lors de la connexion. Linux nécessite des modifications du fichier .ovpn.

Windows

  1. Cliquez avec le bouton droit sur l'icône de la barre d'état système du client OpenVPN située dans le coin inférieur droit du bureau, puis sélectionnez Reconnect.

  2. Exécutez nslookup example.com dans l'invite de commandes. Remplacez example.com par votre nom de domaine privé. La présence d'une adresse IP privée correcte dans la réponse confirme que la configuration DNS fonctionne.

Important

Si le DNS ne fonctionne pas :

  1. Vérifiez les métriques de l'adaptateur réseau :

    netsh interface ip show config

    Une valeur de métrique plus faible indique une priorité plus élevée pour l'adaptateur réseau.
  2. Si l'adaptateur VPN n'a pas la métrique la plus basse, définissez-la :

    netsh interface ip set interface "OpenVPN TAP-Windows" metric=10

    L'adaptateur réseau créé par le client OpenVPN pour le tunnel VPN porte généralement un nom commençant par « OpenVPN TAP-Windows ». Remplacez « OpenVPN TAP-Windows » par le nom réel de l'adaptateur VPN sur votre système.

Mac

  1. Dans le client Tunnelblick, déconnectez-vous, puis reconnectez-vous.

  2. Exécutez dig example.com dans le Terminal. Remplacez example.com par votre nom de domaine privé. La présence d'une adresse IP privée correcte dans la réponse confirme que la configuration DNS fonctionne.

CentOS/AliOS

  1. Ajoutez les lignes suivantes à la fin du fichier config.ovpn situé dans /etc/openvpn/conf :

    script-security 2
    up /etc/openvpn/conf/client.up
    down /etc/openvpn/conf/client.down
    down-pre
  2. Copiez client.up et client.down depuis le répertoire contrib d'OpenVPN vers le répertoire de configuration, puis rendez-les exécutables :

    sudo cp /usr/share/doc/openvpn/contrib/pull-resolv-conf/client.up /etc/openvpn/conf/
    sudo cp /usr/share/doc/openvpn/contrib/pull-resolv-conf/client.down /etc/openvpn/conf/
    sudo chmod +x /etc/openvpn/conf/client.up
    sudo chmod +x /etc/openvpn/conf/client.down
  3. Dans les fichiers client.up et client.down, remplacez le code suivant par if false; then :

    image

  4. Redémarrez le processus openvpn :

    sudo killall openvpn
    sudo openvpn --config /etc/openvpn/conf/config.ovpn --daemon
  5. Vérifiez la mise à jour DNS :

    cat /etc/resolv.conf
  6. Exécutez dig example.com. Remplacez example.com par votre nom de domaine privé. La présence d'une adresse IP privée correcte confirme que le DNS fonctionne.

Important

Pour désactiver le DNS personnalisé :

  1. Déconnectez-vous du SSL-VPN :

    sudo killall openvpn

  2. Modifiez le fichier config.ovpn situé dans /etc/openvpn/conf. Mettez en commentaire les quatre lignes commençant par script-security, up, down et down-pre.

  3. Redémarrez OpenVPN pour vous reconnecter :

    sudo openvpn --config /etc/openvpn/conf/config.ovpn --daemon

Ubuntu

  1. Téléchargez à nouveau le certificat depuis la console Alibaba Cloud. Dans la colonne SSL Client correspondant aux Actions ciblées, cliquez sur Download Certificate.

  2. Sauvegardez le certificat existant dans /etc/openvpn/conf en le déplaçant vers un autre répertoire.

  3. Placez le nouveau certificat dans /etc/openvpn/conf.

  4. Modifiez le fichier config.ovpn et décommentez les quatre dernières lignes :

    image

  5. Installez resolvectl (l'outil en ligne de commande pour systemd-resolved)

    apt install systemd-resolved

  6. Définissez le DNS de tun0 comme priorité globale (~. signifie la correspondance avec tous les noms de domaine)

    resolvectl domain tun0 "~."

  7. Redémarrez le processus openvpn :

    sudo killall openvpn
    sudo openvpn --config /etc/openvpn/conf/config.ovpn --daemon
  8. Vérifiez la mise à jour DNS :

    resolvectl status tun0

  9. Exécutez dig example.com. Remplacez example.com par votre nom de domaine privé. La présence d'une adresse IP privée correcte confirme que le DNS fonctionne.

Important

Pour désactiver le DNS personnalisé :

  1. Déconnectez-vous du SSL-VPN :

    sudo killall openvpn

  2. Modifiez le fichier config.ovpn situé dans /etc/openvpn/conf. Mettez en commentaire les quatre lignes commençant par script-security, up, down et down-pre.

  3. Redémarrez OpenVPN pour vous reconnecter :

    sudo openvpn --config /etc/openvpn/conf/config.ovpn --daemon

FAQ

Les paramètres DNS ne prennent pas effet

  • Assurez-vous que le sous-réseau du serveur DNS est inclus dans le Local CIDR Block configuré pour le SSL Server. Si ce n'est pas le cas, ajoutez-le au Local CIDR Block.

  • Vérifiez que le serveur DNS accepte les requêtes provenant du Client CIDR Block (le pool d'adresses IP alloué aux clients SSL-VPN).

  • Assurez-vous que le groupe de sécurité du serveur DNS autorise le trafic sur le port UDP 53.

  • Vérifiez si d'autres VPN ou logiciels réseau ne remplacent pas les paramètres DNS.

  • Pour les clients Windows, vérifiez également les points suivants :

    • Assurez-vous que l'adaptateur VPN possède la métrique la plus faible. Voir l'Étape 2 : Configurer le client.

    • Exécutez ipconfig /flushdns pour vider le cache DNS, puis réessayez.

  • Pour les clients CentOS/AliOS, vérifiez également les points suivants :

    • Assurez-vous que les lignes script-security 2 et les scripts up/down figurent bien dans le fichier .ovpn.

    • Vérifiez que client.up et client.down existent dans /etc/openvpn/conf/.

    • Consultez le fichier /etc/resolv.conf pour vérifier l'adresse DNS configurée.

  • Pour les clients Ubuntu, vérifiez également les points suivants :

    • Assurez-vous d'avoir retéléchargé le certificat et que les quatre dernières lignes du fichier .ovpn ne sont pas commentées.

    • Vérifiez que les scripts de mise à jour DNS (update-resolv-conf ou update-systemd-resolved) existent sur le système.

    • Exécutez resolvectl status pour vérifier que l'adresse DNS configurée apparaît bien.

Retéléchargement du certificat client

Le retéléchargement du certificat n'est nécessaire que pour les clients Ubuntu.

Prise en charge des adresses IPv6

Non. Seuls les serveurs DNS dotés d'adresses IPv4 sont pris en charge.

Serveurs DNS inaccessibles

Le système ne vérifie pas l'accessibilité des serveurs DNS. Si les serveurs configurés sont injoignables, les clients ne pourront pas résoudre les noms de domaine après la connexion. Assurez-vous que les serveurs DNS sont opérationnels et que leurs sous-réseaux sont inclus dans la configuration de routage SSL-VPN.

Utilisation d'un serveur DNS hors VPC

Oui. Par exemple, vous pouvez définir les adresses des serveurs DNS sur le serveur SSL pour pointer vers un serveur DNS situé dans votre centre de données local.