Contrôlez sa maison à distance

Vendredi, 28 Octobre 2011 01:00 Domotics
Imprimer
Note des utilisateurs: / 15
MauvaisTrès bien 

Contrôler sa maison à distance est la fonctionnalité ultime que recherche chacun des domoticiens que nous sommes. Le problème, c'est que bien souvent, nous utilisons plusieurs logiciels (Homeseer, Foscam, ActiveWebCam, Synology DSM, Synology Surveillance Station, etc) et que chacun a besoin d'un ou plusieurs ports de communication.

Si vous ouvrez tous ces ports sur Internet, vous prenez plus de risques en termes de sécurité, mais le plus génant, c'est que parfois, vous accèderez depuis un réseau d'entreprise ou un réseau public qui vous autorisera l'accès Internet que depuis l'unique port 80 (ou 443). Dans ce cas, vous n'accèderez à distance que l'application qui est derrière un de ces 2 ports. Les autres applications ne seront pas accessibles.

C'est le problème que je rencontrais car sur mon lieu de travail, je n'accède à internet que via le port 80. Donc difficile de jeter un oeil à mes caméras pour voir si mes enfants sont rentrés de l'école ...

Heureusement, il y a des solutions. La solution la plus simple, est d'utiliser le logiciel Apache (Serveur Web) en mode Reverse proxy afin de rediriger les urls de tous vos logiciels vers une même et unique adresse internet.

(exemple : Je redirige tous mes logiciels derrière mon domaine homeseer.touteladomotique.com, www.touteladomotique/camext/, etc).


Définition d'un Reverse Proxy (dit RP)

Un reverse proxy est donc un serveur web qui vous permet d'accéder vos logiciels depuis l'extérieur de votre réseau en utilisant une URL différente de celle de votre réseau interne (ou réseau local).

Par exemple, j'accède mon homeseer local via son adresse locale http://192.168.1.100:8888. Cette adresse n'est pas visible depuis l'extérieur de chez moi. Mais grâce à mon reverse proxy, je peux accéder Homeseer en utilisant une adresse de ce style : http://homeseer.touteladomotique.com ou une adresse de ce style http://www.touteladomotique.com/homeseer/

Le reverse proxy est un élément classique des infrastructures de nos jours, toutes les entreprises l'utilisent, alors pourquoi pas vous ? C'est simple à mettre en place, ça ne demande pas de développement. Et surtout, il n'y a aucune maintenance à prévoir.


Installation d'Apache

Vous pouvez installer apache sous Windows ou sous Linux. Pour ma part, j'ai fait le choix de sortir de Windows, donc je vous présente comment l'installer sous Linux.

Connectez vous à votre machine Linux en tant que root.

Puis lancez la commande :

apt-get install apache2

Lorsque apache est installé, il vous faut activer les modules apache nécessaires au fonctionnement en reverse proxy. Utilisez les commandes suivantes:

a2enmod proxy_http
a2enmod proxy
a2enmod proxy_connect

Voilà, apache est prêt ! Vous pouvez le redémarrer et tester un accès à l'aide de votre navigateur web.

/etc/init.d/apache2 reload

Paramétrage d'un Reverse Proxy pour une caméra IP

Vous avez surement lu que j'ai plusieurs types de caméras IP. Je vous propose donc de voir le premier paramètrage pour visualiser une caméra IP depuis l'url camcam.touteladomotique.com.

Tout d'abord, allez dans le répertoire de config apache

cd /etc/apache2/sites-availables
cp default camcam
vi camcam

Puis éditez le fichier pour renseigner les informations ci-dessous:

N'oubliez pas de mettre camcam à la place de tous les carrés verts ! De même, il vous faudra remplacer les 3 dernières lignes en mettant l'IP de votre caméra ainsi que le PORT que vous utilisez en local sur votre réseau pour accéder la caméra (port utilisable uniquement en local chez vous).

Créez votre site et redémarrez votre serveur web

ln -s /etc/apache2/sites-availables/camcam /etc/apache2/sites-enabled/camcam
apache2ctl graceful

Puis faites votre test, ça doit fonctionner ... Cette opération est à renouveler pour tous vos logiciels, toutes vos caméras ...

Paramétrage d'un Reverse Proxy pour Homeseer

Même exercice avec Homeseer ! Voici ma configuration, je vous laisse suivre la procédure du chapitre précédent afin de vous familiariser avec l'opération.

<VirtualHost *:80>
ServerAdmin webmaster@tondomaine.com
ServerName homeseer.tondomaine.com

ErrorLog ${APACHE_LOG_DIR}/homeseer.error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/homeseer.access.log combined

ProxyRequests Off
ProxyPass / http://IP_LOCAL_HOMESEER:PORT_HOMESEER/
ProxyPassReverse / http://IP_LOCAL_HOMESEER:PORT_HOMESEER/
</VirtualHost>

Plutot que d'utiliser:

proxypass / http://monip:monport/
proxypassreverse / http://monip:monport/ 

Vous pouvez tenter d'utiliser

proxypass /maison http://monip:monport/
proxypassreverse /maison http://monip:monport/

Celà vous permettra d'accéder via ...touteladomotique.com/maison Mais attention, celà ne fonctionne pas avec tous les logiciels. Notamment Homeseer supportait ce mode en v1.7, mais il ne le supporte plus depuis les versions plus récentes :-(


En conclusion

Je précise que ces paramètrages fonctionnent très bien sous Linux. Ils fonctionnent également sous Windows, à l'exception des redirections de flux vidéo qui ne fonctionnent pas sous Windows (Test fait avec Apache 2.2).

Sous Linux, je n'ai détecté aucun problème. Le reverse proxy peut s'installer en parallèle sur une machine prévue à un autre effet. Le RP ne consomme pratiquement aucune ressource système. Je n'ai pas essayé, mais probablement qu'on peut installer le RP directement sur un routeur ou un sur un NAS Synology.

 

Cet article vous est proposé par Domotics: Domotics habite dans la région Toulousaine. Il est ingénieur en informatique et électronicien amateur. La domotique est pour lui une passion qu'il pratique depuis 1999. En 2003, il décide de partager ses expériences sur le magazine et le forum de touteladomotique.com.

En 2014, il crée sa société de conseils en Domotique ID2domotique.com et sa boutique en ligne laboutiquededomotique.com. Profitez de l'expérience et l'expertise de Domotics en faisant appel à ses services. Les conseils sont gratuits ...

 

Ils en parlent aussi

Mise à jour le Dimanche, 06 Novembre 2011 21:14