I) Restriction .htaccess
Nous allons commencer par créer un fichier .htaccess à la base du dossier que l’on veut restreindre (incluant les sous-dossiers)Order deny,allow Deny from all Allow from 192.168Décortiquons ces lignes .htaccess ensemble. Considérons que le par défaut le site est accessible. L’option "Order deny, allow" change les droits d’accès et commence par interdire l’accès, fonction des options à la ligne "Deny from". Puis vérifie qui a le droit d’accéder à la page avec la commande "Allow from". En résumé, ici on interdit pour tous l’accès à la page, puis on autorise les ip 192.168.X.Y. L’adresse 192.168 correspond au sous-réseau de mon réseau local, à changer si l’on se trouve sur un réseau plus .. original. (pour 123.321.34.9 par exemple, entrez 123.321)
- À présent, testez que la page est accessible en tapant l’adresse ip locale du serveur (192.168.92.2, par exemple). Si tout ce passe bien, vous aurez accès à votre dossier.
- Tapez l’adresse internet de votre serveur (http://lan.leblogdekzl.fr, par exemple) et là : Oh surprise.. Erreur 404. Pourquoi ? Explication..
<?php phpinfo(); ?>Chargez le fichier php et regardez l’option REMOTE_ADDR. Voyez que votre adresse ip correspond à votre adresse ip locale. Maintenant faites la même chose depuis votre nom de domaine.. Votre adresse ip a changé ! Il s’agit de l’adresse ip de votre connexion. Et oui ! Tout s’explique, si vous n’avez pas accès à votre page depuis votre adresse internet, c’est car vous ne passez plus par votre réseau local. À priori la configuration .htaccess fait bien son travail finalement ! Mais pour moi c’est pas assez, qu’est-ce que vous en pensez de passer par votre ip local pour accéder à votre page lan ? Ça ne me plaît pas personnellement.. j’ai un nom de domaine, c’est pour m’en servir. Nous allons donc voir comment accéder à cette page depuis votre nom de domaine !
II) Créer un alias local sur votre nom de domaine
a. Choix de la méthode
Il y a ici, deux possibilités :- Soit vous installez un serveur dnsmasq sur votre syno et vous changez vos sources dns
- Soit vous possédez un routeur avec un serveur dnsmasq déjà installé, pour créer un alias associé à l’adresse http://192.168.92.2. Auquel cas vous pourrez créez un alias de la forme http://example.org pour surplanter le domaine existant et ainsi vous aurez accès à votre serveur comme si vous tapiez http://192.168.92.2
b. Installation du serveur dnsmasq
Personnellement je suis dans le cas n°1, donc j’ai installé via mon syno un serveur dnsmasq à l’aide de Geasy (Cf. Prérequis) :geasy install dnsmasqPensez bien à ouvrir le port 53/UDP et suivez les instructions du terminal !
c. Configuration des DNS
À présent nous allons configurer les DNS de votre connexion pour vous faire passer par votre syno. Le serveur DNS permet de traduire le nom de domaine en adresse ip, et donc maintenant que votre syno sait que leblogdekzl.fr pointe sur 192.168.92.2, il va traduire tous les sous domaines xxx.example.org en 192.168.92.2 et le serveur Apache de votre syno vous permettra de créer des virtuals host (via l’interface du dsm) !- Nous allons donc aller dans votre routeur et référencer l’adresse ip locale de votre serveur dns dans le dns primaire. Le champ dns secondaire restera vide. Qu’est-ce que cela signifie ? Cela signifie que lorsque votre serveur sera éteint, seul es les adresses étant en mémoires pourront être résolues ! D’où le fait de songer à utiliser son routeur comme serveur dnsmasq car au moins pas de soucis ! Car s’il est éteint, vous êtes sur de ne pas avoir de connexion, dans tous les cas !!
- L’autre solution pour la configuration des dns est de configurer seulement dans les paramètres de votre ordinateur le dns primaire. Mais là, uniquement vous possèderez l’accès au lan
dig www.leblogdekzl.fr
III) Configuration d’un serveur VPN (Complément) :
Imaginons que vous souhaitez accéder hors de chez vous à votre intranet hors de votre réseau local. La solution : la connexion VPN ! Il vous suffit de télécharger le package synology "VPN Server, de l’installer, de déverrouiller ports nécessaires et d’activer le service en indiquant l’adresse de votre serveur dans la configuration manuelle du dns de votre serveur vpn comme vous le montre l’image ci-dessous : (J’ai choisi pptp, car natif sur Mac, et les autres OS d’ailleurs il me semble, mais il n’y a aucune différences avec OpenVPN du point de vu de la procédure)Remarque : Vous aurez remarquez que j’utilise un adressage de réseau en 192.168.92, pourquoi ce choix ? Pour éviter tous conflits depuis une connexion extérieur qui utiliserait le même sous réseau.. La plupart des connexions réseaux sont en 192.168.1 192.168.0. Si j’utilise un sous-réseau classique, il va y avoir conflit entre l’adresse dns manuelle que j’indique sur mon syno et le réseau local sur lequel je me trouve qui a la priorité.
De plus, il faut donc modifier le .htaccess en conséquence et rajouter une permission sur le sous-réseau de votre vpn:
Order deny,allow
Deny from all
Allow from 192.168
Allow from 10.0




On peut se passer de l’installation de dnsmasq, ce dernier étant déjà présent dans /usr/syno/sbin/dnsmasq.
Pour les directives "Allow from", je préconiserais d’utiliser les masques propres à chaque plage privée :
Allow from 192.168.0.0/16
Allow from 172.16.0.0/12
Allow from 10.0.0.0/8