Cloudflare avec Devolutions Gateway
Comportement important des tunnels Cloudflare : un nom d'hôte public de tunnel nommé Cloudflare sert le trafic HTTP/HTTPS/WebSocket à la périphérie Cloudflare sur le port 443. Il n'expose pas le TCP brut sous la forme hôte:port sur l'internet public. Pour les sessions de relais TCP natives de RDM, chaque client doit exécuter cloudflared access tcp, ce qui crée un écouteur local tel que localhost:8181.
Connectez-vous au tableau de bord Cloudflare.
Allez à la section Zero Trust sous le Cloudflare Dashboard. Cela peut vous demander de choisir un plan; le plan gratuit Zero Trust fonctionnera.
Allez à Networks – Tunnels & Mesh et cliquez sur Create a tunnel.
Sélectionnez Cloudflared et cliquez sur Next.
Saisissez un nom et cliquez sur Save tunnel.
Choisissez le système d'exploitation et l'architecture appropriés.
Téléchargez l'installateur via le lien fourni.
Copiez la chaîne de configuration.
Exécutez l'installateur Cloudflare.
Dans la section Install and run a connector de la fenêtre d'installation Cloudflare, copiez la commande.
Ouvrez le serveur sur lequel le démon de tunnel Cloudflare est installé, puis ouvrez l'Invite de commandes en tant qu'administrateur.
Collez la chaîne de configuration copiée à l'étape 8, puis appuyez sur Entrée.
Cliquez sur Next.
Saisissez un sous-domaine unique.
Choisissez HTTPS comme Type. Lorsque vous utilisez un certificat auto-signé ou un certificat d'une AC interne pour Devolutions Gateway, activez l'option No TLS Verify sous Additional application settings – TLS.
Laissez la connexion HTTP2 désactivée pour l'entrée HTTPS. Devolutions Gateway utilise WebSocket, et HTTP/2 vers l'origine peut interrompre les mises à niveau WebSocket.
Cliquez sur Complete setup.
Cliquez sur le Tunnel name nouvellement créé.
Cliquez sur Published application routes, puis sur Add a published application route.
Saisissez un sous-domaine unique (différent de celui de l'étape 14).
Choisissez TCP comme Type. Saisissez
localhost:8181si vous utilisez le port par défaut.
Cloudflare ne termine pas le TLS sur le chemin TCP, et il n'y a pas de paramètre TLS Verify pour le TCP. La validation TLS se fait de bout en bout entre le client RDM et Devolutions Gateway via le pont local cloudflared access tcp.
Une fois terminé, il devrait y avoir deux noms d'hôte publics.
Récupérer la clé de provisionnement
Le fichier de clé publique DVLS doit être accessible au serveur qui héberge Devolutions Gateway, lequel se trouve derrière le tunnel Cloudflare.
Connectez-vous à l'instance Devolutions Server ou Devolutions Cloud en tant qu'utilisateur ayant accès à la configuration de Devolutions Gateway.
Allez à Administration — Devolutions Gateway.
Cliquez sur le bouton Plus et sélectionnez Télécharger la clé publique.
Installer Devolutions Gateway avec Cloudflare
Ouvrez une connexion au serveur hébergeant Devolutions Gateway et téléchargez l'installateur.
Exécutez l'installateur.
Cliquez sur Next.
Une fois le chemin d'installation souhaité sélectionné, cliquez sur le bouton Next.
Cliquez sur Next.
Cliquez sur Next dans la fenêtre Listeners.
Il est conseillé de laisser les écouteurs par défaut en place, car ils correspondront probablement à la configuration du tunnel Cloudflare.
Saisissez l'URI externe par lequel le gateway sera joignable.
Cliquez sur Next.
Spécifiez le chemin vers les certificats TLS ou vers l'emplacement du magasin de certificats du système.
Le certificat de la gateway doit inclure tous les noms qu'un client TLS valide. Pour le modèle de pont TCP Cloudflare, le client se connecte à localhost:<port>, alors localhost doit se trouver dans le SAN du certificat, en plus du FQDN interne de la gateway. Les noms d'hôte publics du tunnel Cloudflare n'ont habituellement pas besoin de figurer dans le certificat de la gateway.
Cliquez sur Next.
Spécifiez le chemin vers la clé publique récupérée précédemment depuis Devolutions Server ou Devolutions Cloud.
Cliquez sur Next.
Cliquez sur Install.
Lancer le client Cloudflared sur l'hôte Remote Desktop Manager
Le client Cloudflared doit être téléchargé et lancé pour tunneliser correctement la connexion. Ce client créera une connexion de tunnel Cloudflare sortante depuis n'importe quel client Remote Desktop Manager local vers le tunnel Cloudflare se connectant à Devolutions Gateway.
Le code suivant doit être exécuté dans une fenêtre de terminal aussi longtemps que le tunnel doit rester ouvert, et chaque fois qu'un gateway sera accédé derrière un tunnel Cloudflare. L'exécutable client à lancer est cloudflared.exe (bien qu'il puisse être nécessaire de renommer la version téléchargée). Utilisez ici le même port local que le port d'écoute TCP configuré dans Devolutions Server ou Hub Business.
Le logiciel client se connecte à localhost:8182, et non à gateway-client-tcp.mydomain.com:8181. Comme le client TLS valide le certificat du gateway par rapport à localhost, le certificat du gateway doit inclure localhost dans son SAN. Si ce n'est pas le cas, le journal du gateway peut afficher received fatal alert: CertificateUnknown.
Pour éviter d'exécuter le code chaque fois, créez un service :
Lancez une session PowerShell élevée.
Saisissez ce code pour créer un nouveau service PowerShell :
Démarrez le service.
Le tunnel s'exécute maintenant en permanence du côté client.
Configurer Devolutions Server
Connectez-vous à une instance Devolutions Server en tant qu'utilisateur ayant accès à la configuration de Devolutions Gateway.
Allez à Administration — Devolutions Gateway.
Cliquez sur le bouton Ajouter (+) et choisissez Gateway.
Saisissez les détails précédemment récupérés de Cloudflare utilisés pour configurer Devolutions Gateway.
Il peut être nécessaire de faire précéder le domaine du tunnel Cloudflare de https://. La détection automatique ne fonctionnera que si le nom d'hôte HTTPS est joignable via Cloudflare.
Assurez-vous de ne pas utiliser le port TCP à la fin de l'URL du Gateway. L'URL du Gateway utilise le nom d'hôte HTTPS Cloudflare sur le port 443; le port TCP est configuré séparément comme port d'écoute TCP.
Cliquez sur Enregistrer.
Cliquez sur le bouton des points de suspension (Plus) à côté du gateway nouvellement configuré et sélectionnez Publier la liste de révocation.
Si l'option Publier la configuration du Gateway est disponible, elle devrait être effectuée avant Publier la liste de révocation.
Configurer Devolutions Cloud
Connectez-vous à une instance Devolutions Cloud en tant qu'utilisateur ayant accès à la configuration de Devolutions Gateway.
Allez à Administration — Devolutions Gateway.
Cliquez sur le bouton Ajouter (+).
Saisissez les détails précédemment récupérés de Cloudflare utilisés pour configurer Devolutions Gateway.
Il peut être nécessaire de faire précéder le domaine du tunnel Cloudflare de https://. La détection automatique ne fonctionnera que si le nom d'hôte HTTPS est joignable via Cloudflare.
Parcourez toute combinaison des onglets Coffres, Groupes, ou Utilisateurs pour décider comment les licences seront distribuées.
Cliquez sur Ajouter.
Cliquez sur le bouton des points de suspension (Plus) à côté du gateway nouvellement configuré et sélectionnez Publier la configuration du Gateway.
Notes de dépannage
received fatal alert: CertificateUnknownDans le journal du gateway, cela signifie habituellement qu'un client TLS a rejeté le certificat du gateway en raison d'une non-correspondance de SAN ou de nom. Dans cette configuration, cela signifie souvent que le nom d'hôte TCP estlocalhostmais quelocalhostest absent du SAN du certificat du gateway.Un diagnostic rouge Configuration du nom d'hôte d'écoute TCP indique habituellement que DVLS ne peut pas joindre le TCP brut sur le nom d'hôte configuré. S'il pointe vers le FQDN public du tunnel, changez-le pour
localhostet assurez-vous que le pont localcloudflared access tcpest en cours d'exécution.Certificate could not be verified avec des champs vides, suivi de
Cannot read properties of null (reading 'thumbprint'), signifie habituellement que la détection de la gateway n'a retourné aucun certificat parce que le tunnel ou la gateway était inaccessible. Corrigez d'abord l'accessibilité.L'erreur Cloudflare 1033 signifie que Cloudflare ne peut pas résoudre le tunnel. Confirmez que le démon
cloudflaredd'origine est en cours d'exécution et que le statut du tunnel est Connected.
Mis à jour
Ce contenu vous a-t-il été utile ?