Le problème de la résolution locale d’un nom de domaine survient quand on héberge chez soi (à domicile ou en entreprise) le(s) service(s) au(x)quel(s) on souhaite se connecter.
[alert type=”blue”]Il apparaît que certains utilisateurs n’arrivent pas à faire fonctionner ce service. Ne disposant pas du temps nécessaire pour réaliser des investigations (de mon côté tout avait fonctionné), suivez ce tutoriel avec des pincettes de rigueur. De mon côté, c’est DNSMasq qui est utilisé au niveau routeur depuis …[/alert]
EDIT 1 :
[alert type=”yellow”]Pour plusieurs raisons le loopback décrit ici ne semblait plus fonctionner chez certain. Voici rapidement une solution trouvée sur les forum Ubiquiti pour ceux que ça intéresse encore.[/alert]
EDIT 2 :
pour ceux qui souhaitent faire fonctionner le loopback (orange, box adsl, unifi, d-link, netgear etc …), voici d’autres pistes (aternatives) avec NAS Synology :
– utiliser le service QuickConnect permet de contourner les problèmes de NAT et loopback automatiquement grâce au service Synology (simple à mettre en place mais moins secure).
– utiliser un VPN résoud le problème de NAT et de loopback puisque revient à une connexion locale (plus complexe mais plus secure).
Un peu de réseau … que signifie le terme Résolution ?
Résolution signifie que pour qu’un ordinateur puisse atteindre une ressource sur un réseau, il doit connaitre son adresse IP (c’est comme une adresse physique /postale). Pour un être humain, il est plus facile de retenir des noms. Le mécanisme DNS est à la base de l’architecture Internet. Il permet de faire correspondre un nom à une adresse. On parle ici de résolution (ici de l’anglais resolve).
Les services utilisant les protocoles CalDAV ou CardDAV par exemple sont configurés pour fonctionner depuis l’extérieur avec une adresse de type https://ndd.synology.me:###.
nota : je rappelle pour ceux qui n’ont pas suivi que cet article est la suite logique du tutoriel Synology sur CalDAV et CardDAV.
[alert type=”blue”]Le niveau technique de cet article est un cran supérieur de ceux habituels puisqu’il nécessite l’intégration de bases préalables (NAT, DNS, protocoles etc …). Prenez votre temps, lisez entièrement, relisez les articles connexes, faîtes un schéma et lancez vous ![/alert]
Le contexte
Nous prendrons en exemple la connexion d’un client pour calendrier CalDAV à l’adresse https://aem.synology.me:12345/aem/calendar/sebastien/
https://aem.synology.me:12345/ : connexion sécurisée par le port 12345 à l’adresse aem.synology.me (synology.me étant un service fourni par Synology de DynDNS – DNS dynamique).
/aem/calendriers/ : le chemin vers le calendrier (selon la convention /volume/repertoire/…/repertoire/)
/…/sebastien/ : le répertoire du calendrier.
https://192.168.123.123:5006 : adresse du serveur Synology sur réseau local. Le service CalDAV est disponible sur le port 5006 par défaut.
192.168.123.254 : passerelle / routeur.
nota : nous n’aborderons pas ici les connexions avec les adresses en quickconnect.to de Synology, c’est censé résoudre ce type de problème (plus de problème de NAT) mais pas pu vérifier encore. Je mettrai à jour dès que chose faite. Idem pour les serveurs de mail (MX).
Dans ce genre de situation, tout se passe bien quand l’ordinateur qui se connecte au service est situé à l’extérieur …
nota : c’est un peu l’objectif hein … et puis c’est ce que tout le monde à l’habitude de faire / voir, puisque le fournisseur de service sont rarement chez soi (sauf en entreprise mais c’est pas vous qui gérez) … Seulement aujourd’hui avec l’arrivée montante des NAS @ {home|TPE}, ce problème devient visible pour les non initiés ! Et oui cet article est dédié aux geek !
Ça se passe souvent moins bien quand l’ordinateur se situe sur le réseau local alors que l’adresse de connexion, elle, n’est pas locale.
L’exemple typique est le commercial de l’entreprise qui doit pouvoir se connecter depuis l’extérieur en clientèle et au bureau quand il est de retour.
Pour cela, il est nécessaire de changer l’adresse de connexion au service selon l’emplacement. On a donc besoin d’une fonction qui fasse comprendre à l’ordinateur que, selon la ou il est, il se connectera soit en local, soit à distance.
C’est la qu’intervient {la notion de|l’astuce du|la fonction} loopback ou rebouclage (boucle arrière) …
Une bonne partie des routeurs grand public, notamment les Livebox, ne dispose pas de cette fonction (pourtant basique).
Trois solutions immédiates me viennent à l’esprit …
ControlPlane et scripting en fonction de la localisation
Comment ça peut fonctionner ? ControlPlane détecte la où il se trouve (emplacement réseau par ex.) et permet de lancer des scripts en fonction de ce contexte. Il suffirait donc de modifier le fichier “hosts” de la machine … Pas très {propre|simple} effectivement MAIS ça marche !
Au final, ce n’est pas vraiment envisageable … On peut faire ça quand on a un ou deux postes (et encore), mais pas avec un parc de 20 machines … imaginez la gestion. Il y a plus simple après réflexion (mais j’apprécie tellement les possibilités de ce logiciel donc j’en parle … sic ).
Utiliser un équipement Open WRT et le service DNSmasq
C’est la solution idéale puisque {la fonction|le service} sera fourni(e) par le routeur lui même (qui est tjrs actif par définition). Contrepartie, cela demande l’acquisition d’un matériel supplémentaire (si vous avez pas dans votre installation). Je ne rentre pas dans le détail de configuration, ce n’est pas le sujet.
nota : nous utilisons les gammes de routeurs TP-Link (cela dépend des capacités nécessaires hein …) puisqu’ils sont compatibles avec la distribution OpenWRT. Le TP-Link Archer C5 dispose d’un très bon rapport qualité / prix, et est un best-seller de la marque. Disponible autour de 80 €. Attention, il existe plusieurs révisions …
nota : c’est la solution idéale pour bien d’autres raisons puisque c’est une distribution Unix. Si certains savaient ce qu’il est possible de faire … ils n’utiliseraient que ça ! Et croyez moi, c’est magique !
NAS Synology et le service DNS Server
Le NAS Synology dispose d’une application DNS Server (à installer) qui autorise la fonction loopback.
En utilisant le NAS comme serveur DNS (cela implique que les machines du réseau utilise le NAS comme serveur DNS principal hein …), nous allons créer un loopback qui permettra de rediriger le client de connexion depuis l’adresse externe https://aem.synology.me:12345 vers l’adresse locale 192.168.123.123. Ainsi ça sera transparent pour les utilisateurs du réseau local.
Quand notre commercial est en clientèle, le DNS résout normalement l’adresse https://aem.synology.me:12345 et l’ordinateur se connecte donc sur l’adresse internet (IP externe) du routeur / modem.
Quand le commercial se trouve au bureau, le DNS résout l’adresse https://aem.synology.me et l’ordinateur est redirigé vers l’adresse locale du NAS https://192.168.123.123.
nota : quelqu’un aura déjà peut être remarqué que si le port externe est différent du port interne (local), la redirection ne fonctionne pas. Et bien tu attendras que je finisse mes explications !
Voici comment configurer le loopback une fois l’application DNS Server installée.
Configuration de DNS Server en loopback
1 – Se rendre dans l’interface de configuration de DNS Server, puis faire “créer une Zone master”.
2 – Inscrire le nom de domaine à rediriger localement ici c’est aem.synology.me.
Indiquer l’adresse IP locale du serveur : dans notre cas c’est 192.168.123.123.
3 – Récapitulatif … relisez bien !
4 – Rubrique Résolution, activer les redirecteurs et saisissez les serveurs DNS quand le serveur DNS Synology ne sait pas répondre aux demandes (tous les autres cas en fait ici).
Indiquez donc vos serveurs DNS (ceux de votre FAI par ex.). Ici ce sont ceux de Google et du routeur.
Redirecteur (request forwarding)
Étant donné qu’on ne résout ici qu’une seule adresse (ou domaine), quand le serveur DNS ne sait pas résoudre l’adresse demandée, il doit transmettre les demandes auxquels il n’a pas de correspondance à un autre DNS.
Voila, il ne reste plus qu’à configurer (si ce n’est pas déjà fait) votre client de calendriers (ou autres) pour se connecter au service et vérifier que tout fonctionne bien depuis le réseau local ET depuis l’extérieur.
Résolution et redirection (NAT et DNS)
Pour celui qui a ouvert sa bouche tout à l’heure, voici un élément de réponse.
Les ports utilisés par défaut par les services Synology ne doivent pas être utilisées pour éviter les attaques automatisées (5001, 5005, 5006 etc …) suie à faille CVE. Ce sont des ports connus.
On utilise, dans ce cas, le mécanisme de NAT qui permet de faire entrer une personne par une porte externe pour accéder à une porte interne (ou service), sans avoir à changer le port par défaut dans la configuration du NAS (c’est préférable quand on gère plusieurs centaines de NAS hein).
nota : on pourra aussi utiliser le mécanisme de VPN, c’est mieux ;).
Dans le cas du loopback, la résolution va traduire uniquement la partie adresse mais pas la partie port.
De fait, si vous avez configuré la NAT pour l’accès au port 12345 depuis l’extérieur pour se connecter au port 5006 en local, le loopback va résoudre de la manière suivante :
aem.synology.me:12345 vers 192.168.123.123:12345 et non 192.128.123.123:5006 (la requête ne peut aboutir).
Il est donc préférable (je n’ai pas réfléchi à une autre solution) de configurer le port local du service directement en 12345 (au lieu de 5006).
De cette manière, il n’y pas de problème de résolution (DNS) et de redirection (NAT).
Merci qui ?
Bonjour,
Je viens de configurer le DNS comme mentionné mais toujours impossible d’acceder à mon domaine une fois connecté au LAN…
J’ai mentionné l’adresse IP de ma box en tant que passerelle sur mon DHCP et Redirecteur 2. En redirecteur 1 le DNS d’Orange.
Une idée?
Merci
Bonjour Christophe,
je comprends que si vous laissez un message ici c’est que vous avez suivi ce tutoriel.
Seulement la seconde phrase / affirmation montre que la configuration n’est pas la bonne …
Bref, message incohérent ? peut être est ce une erreur ?
Ici (dans le cadre de cet article), le service dns EST le serveur Synology. Cette information doit être fournie par le serveur DHCP (ici la box), ou définie localement sur l’ordinateur via les préférences réseaux (par un profil c’est mieux).
Ceci dit, il arrive que cette configuration ne fonctionne pas correctement et l’origine du problème n’a pas encore été identifiée.
Sébastien
Sébastien
Je pensais que cette configuration fonctionnait avec le DHCP du NAS activé, pour info j’ai une box v3 Orange.
Pour resume mon NAS joue le role de DHCP et de DNS d’ou la configuration ci-dessus.
En laissant la box gerée le DHCP cela fonctionnerait il?
Dans les deux cas c’est censé fonctionner. À partir du moment ou le DNS est bien l’@ IP du Synology et que le service est bien configuré.
pour info. : les livebox v3 c’est pas très stable … on ne peut pas compter dessus.
Sébastien
[…] local (URL internet) en fonction de la topologie réseau. La solution la plus adaptée est le rebouclage (loopback) DNS au niveau routeur voire […]
Bonjour,
je suis intéressé par une config avec le service DNSMASQ (j’ai un ASUS RT-AC66U avec un firmware ASUSWRT-MERLIN). J’ai essayer de faire une configuration mais je suis bloqué sur la partie redirecteurs.
Pouvez vous m’aider ?
Merci
Bonjour,
ne connaissant pas le contexte (services actifs / besoins etc …), il est difficile de répondre.
Des réponses figurent ici. L’avez vous lu ?
Par ailleurs, nous ne fournissons pas ce niveau de support depuis le blog.
Sébastien
Bonjour,
Merci de votre réponse, sur votre lien j’ai pu trouver ma réponse.
Clt.
DPFPIC
Effectivement, rien de bien compliqué …