Sommaire
Introduction
Qu’est-ce qu’un reverse proxy et pourquoi en avez-vous besoin ?
Configurer un reverse proxy Synology
Générer et installer un certificat SSL
Accéder à Home Assistant depuis l’extérieur
Conclusion
Introduction
Pour commencer, qu’est-ce qu’un reverse proxy ? Un reverse proxy est une technique informatique permettant de rediriger les requêtes d’un client vers un serveur situé derrière ce dernier. C’est donc un moyen de contourner les restrictions éventuelles imposées par le client.
Dans notre cas, nous allons utiliser un reverse proxy pour accéder à Home Assistant depuis l’extérieur de notre réseau local. Pour ce faire, nous utiliserons le logiciel Synology DSM et son module Reverse Proxy.
Le premier pas consiste donc à ouvrir le DSM et à se rendre dans le gestionnaire de paquets. Une fois dans le gestionnaire de paquets, il vous faudra rechercher le module Reverse Proxy et l’installer.
Une fois le module installé, rendez-vous dans le panneau de configuration du Reverse Proxy. La configuration du Reverse Proxy est assez simple et il y a de nombreux exemples disponibles sur internet.
Une fois la configuration du Reverse Proxy terminée, il est temps d’installer un certificat SSL. Pour ce faire, nous allons utiliser le service Let’s Encrypt. Let’s Encrypt est un service gratuit permettant de générer des certificats SSL.
Pour utiliser Let’s Encrypt, il suffit de se rendre dans le gestionnaire de paquets et de rechercher le module Certbot. Une fois Certbot installé, rendez-vous dans le panneau de configuration et suivez les instructions.
Une fois le certificat SSL installé, vous devriez pouvoir accéder à Home Assistant de l’extérieur de votre réseau local en utilisant https:// votre-adresse-ip:8123.
Qu’est-ce qu’un reverse proxy et pourquoi en avez-vous besoin ?
Un reverse proxy est un type de serveur proxy qui permet aux utilisateurs de se connecter à des serveurs distants. Il est souvent utilisé pour permettre aux utilisateurs d’accéder à des sites Web qui ne seraient pas accessibles autrement, en raison de restrictions de pare-feu ou de blocage d’IP. Les reverse proxies peuvent également être utilisés pour fournir une couche de sécurité supplémentaire, en agissant comme une barrière entre les utilisateurs et les serveurs distants.
Les reverse proxies sont particulièrement utiles lorsque vous avez un serveur Web à l’extérieur de votre réseau local, par exemple un serveur Web hébergé dans le cloud. Les reverse proxies peuvent également être utilisés pour fournir une couche de sécurité supplémentaire, en agissant comme une barrière entre les utilisateurs et les serveurs distants.
Pour configurer un reverse proxy, vous avez besoin d’un serveur Web avec une adresse IP publique. Il existe de nombreux reverse proxies disponibles, mais nous allons utiliser Nginx, car il est facile à installer et à configurer. La première étape est de vous assurer que Nginx est installé sur votre serveur. Si ce n’est pas le cas, vous pouvez l’installer à partir du gestionnaire de paquets de votre distribution Linux.
Une fois Nginx installé, vous devez créer un fichier de configuration pour votre reverse proxy. Vous pouvez le faire en créant un fichier nommé /etc/nginx/conf.d/reverse-proxy.conf avec le contenu suivant :
server {
listen 80;
listen [::]:80;
server_name example.com;
location / {
proxy_pass http://localhost:8123;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Dans cette configuration, nous avons spécifié que Nginx écoute les connexions entrantes sur le port 80. Nous avons ensuite défini le nom de domaine que nous allons utiliser pour notre reverse proxy, example.com. Enfin, nous avons défini la location / comme étant le reverse proxy. Cela signifie que toutes les requêtes entrantes sur example.com seront redirigées vers le serveur local sur le port 8123.
Une fois que vous avez créé ce fichier de configuration, vous devez redémarrer Nginx pour qu’il prenne en compte les changements. Vous pouvez le faire en exécutant la commande suivante :
sudo systemctl restart nginx
Votre reverse proxy est maintenant configuré et il devrait fonctionner. Vous pouvez vérifier en accédant à votre serveur à l’adresse http://example.com. Vous devriez vo
Configurer un reverse proxy Synology
Pour configurer un reverse proxy Synology, vous devez d’abord vous connecter à votre Synology DiskStation Manager (DSM). Ensuite, allez dans « Panneau de configuration » > « Terminal et SNMP » et activez le service SNMP.
Une fois le service SNMP activé, vous pouvez accéder à l’interface de gestion du reverse proxy en allant dans « Panneau de configuration » > « Application Internet » > « Reverse Proxy ».
Cliquez sur « Créer » pour ajouter un nouveau reverse proxy. Dans la fenêtre qui s’ouvre, sélectionnez le protocole que vous souhaitez utiliser (HTTP, HTTPS, HTTP/2 ou SSL/TLS), puis entrez l’adresse IP de votre serveur ainsi que le port que vous voulez utiliser.
Une fois le reverse proxy configuré, vous devez créer un certificat SSL pour le protocole HTTPS. Pour ce faire, allez dans « Panneau de configuration » > « Terminal et SNMP » > « Certificats » et cliquez sur « Créer ».
Dans la fenêtre qui s’ouvre, sélectionnez le type de certificat que vous souhaitez créer (autorité de certification ou certificat serveur), puis entrez les détails du certificat.
Une fois le certificat SSL créé, vous pouvez l’importer dans le reverse proxy en allant dans « Panneau de configuration » > « Application Internet » > « Reverse Proxy » > « Certificat ».
Cliquez sur « Importer » et sélectionnez le certificat que vous venez de créer.
Vous pouvez maintenant accéder à votre serveur à partir de l’extérieur de votre réseau en utilisant le nom de domaine que vous avez configuré dans le reverse proxy.
Générer et installer un certificat SSL
Il est possible d’accéder à Home Assistant de l’extérieur avec un reverse proxy Synology et un certificat SSL. Pour générer et installer un certificat SSL, vous aurez besoin d’un ordinateur avec un accès à Internet et les outils suivants :
– openssl
-easy-rsa (3.0.4 ou supérieur)
– homeassistant
Commencez par générer une demande de certificat SSL avec openssl :
openssl req -new -key homeassistant.key -out homeassistant.csr
Vous serez invité à fournir quelques informations pour générer le certificat. La plupart des champs peuvent être remplis avec des informations arbitraires, mais assurez-vous de fournir une adresse e-mail valide dans le champ « E-mail Address ».
Une fois que vous avez généré la demande de certificat, vous pouvez l’envoyer à un autorité de certification pour qu’elle soit signée. Vous pouvez soit acheter un certificat SSL auprès d’une autorité de confiance, soit générer votre propre certificat avec easy-rsa.
Si vous choisissez d’acheter un certificat SSL auprès d’une autorité de confiance, vous devrez suivre les instructions fournies par l’autorité pour soumettre et installer le certificat.
Si vous choisissez de générer votre propre certificat, commencez par télécharger et installer easy-rsa. Une fois installé, générez les clés nécessaires à l’aide de la commande suivante :
cd /etc/easy-rsa/
./easyrsa init-pki
./easyrsa build-ca nopass
Easy-RSA va maintenant générer les clés et les certificats nécessaires. La prochaine étape consiste à générer un certificat pour votre serveur. Pour ce faire, exécutez la commande suivante :
./easyrsa build-server-full homeassistant nopass
Cette commande va générer un certificat et une clé privée pour votre serveur. Vous pouvez maintenant installer le certificat sur votre serveur. La plupart des serveurs web ont une interface graphique qui vous permet de configurer le certificat, mais vous pouvez également le configurer manuellement.
Une fois que vous avez installé le certificat sur votre serveur, vous devrez générer une clé et un certificat pour chacun de vos clients. Pour ce faire, exécutez la commande suivante pour chaque client :
./easyrsa build-client-full client nopass
Cette commande va générer un certificat et une clé privée pour le client. Vous devrez ensuite installer le certificat sur le client. La plupart des clients ont une interface graphique qui vous permet de configurer le certificat, mais vous p
Accéder à Home Assistant depuis l’extérieur
Il est possible d’accéder à Home Assistant de l’extérieur avec un reverse proxy Synology et un certificat SSL. Cela permet d’avoir un accès sécurisé à votre installation Home Assistant et d’éviter les problèmes de connexion lorsque vous vous connectez à distance.
Pour mettre en place un reverse proxy Synology, vous devez d’abord créer un certificat SSL. Vous pouvez le faire gratuitement avec Let’s Encrypt. Une fois que vous avez créé votre certificat, vous devez l’installer sur votre Synology. Vous pouvez le faire en vous connectant à votre Synology via SSH et en suivant les instructions de cet article.
Une fois que vous avez installé votre certificat SSL, vous pouvez créer un reverse proxy en vous connectant à votre Synology via l’interface web DSM. Allez dans le Gestionnaire de paquets et installez l’application NGINX.
Une fois NGINX installé, allez dans l’interface web DSM et cliquez sur l’icône NGINX. Vous verrez alors un écran avec différentes options. Cliquez sur l’onglet Proxy, puis cliquez sur le bouton Ajouter.
Vous verrez alors un écran de configuration pour votre reverse proxy. Entrez les détails de votre installation Home Assistant, puis cliquez sur le bouton Enregistrer.
Une fois que vous avez enregistré votre reverse proxy, vous devez redémarrer NGINX. Vous pouvez le faire en allant dans l’interface web DSM et en cliquant sur l’icône NGINX. Vous verrez alors un écran avec différentes options. Cliquez sur l’onglet Redémarrer, puis cliquez sur le bouton Redémarrer.
Votre reverse proxy est maintenant configuré et vous pouvez accéder à votre installation Home Assistant de l’extérieur.
Conclusion
Le reverse proxy est une fonctionnalité très utile de Synology NAS. Elle permet d’accéder à plusieurs services hébergés sur votre NAS, comme Home Assistant, à partir d’une seule adresse IP. Le reverse proxy permet également de sécuriser l’accès à vos services en chiffrant les données transitant entre votre NAS et vos appareils.
Pour configurer le reverse proxy, rendez-vous dans le panneau de configuration de votre NAS, puis dans l’onglet « Réseau » et cliquez sur « Reverse Proxy ».
Sur la page suivante, cliquez sur « Ajouter un hôte reverse proxy ».
Vous allez maintenant devoir configurer le service que vous souhaitez exposer à l’extérieur. Dans notre exemple, nous allons configurer l’accès à Home Assistant.
Commencez par indiquer un nom pour votre service, puis sélectionnez le type de service dans la liste déroulante. Dans notre cas, nous sélectionnons « HTTP(S) ».
Indiquez ensuite l’adresse IP de votre NAS, suivie du port que vous avez configuré pour Home Assistant. Par défaut, le port est 8080, mais vous pouvez le modifier dans le fichier configuration.yaml de Home Assistant.
Dans la section « Certificat SSL », sélectionnez « Utiliser un certificat Let’s Encrypt ». Cela permettra de générer un certificat SSL pour votre service, qui sera automatiquement renouvelé par Let’s Encrypt.
Enfin, dans la section « Utilisateurs autorisés », sélectionnez les utilisateurs qui auront accès à ce service. Vous pouvez également ajouter des groupes d’utilisateurs.
Une fois que vous avez configuré tous les paramètres, cliquez sur « Appliquer ». Votre service est maintenant accessible à l’extérieur de votre réseau !