Bouclage NAT et DynDNS


0

J'ai correctement configuré DynDNS dans mon routeur et je peux maintenant accéder à mon serveur domestique depuis l'extérieur de mon réseau local à l'aide de mon domaine personnalisé.

En utilisant le même domaine, je peux atteindre mon serveur domestique depuis le réseau local, malgré le fait qu’il dispose d’une adresse IP externe. Je suppose donc que mon routeur autorise le bouclage NAT pour ce domaine.

Je pensais que cela suffisait à faire en sorte que le trafic réseau reste au sein du réseau local pour les demandes adressées à mon serveur domestique.

Mais j'ai fait un test simple qui semble réfuter cela.

J'ai modifié le fichier / etc / hosts de mon ordinateur portable (connecté au réseau local) pour résoudre mon domaine DynDNS en tant qu'adresse IP locale de mon serveur (par exemple 192.168.1.2).

La vitesse du réseau est beaucoup plus rapide en utilisant l'adresse IP locale pour chaque demande. Je suppose que c'est parce que la demande ne va pas en dehors du réseau local.

Mon ordinateur portable n'est pas le seul périphérique qui utilisera le serveur. De plus, changer le fichier hosts à l'intérieur / à l'extérieur de mon réseau n'est pas une option viable. Ce que je ne comprends pas vraiment, c'est pourquoi le routeur n'est pas assez "intelligent" pour rediriger les requêtes

Est-ce que je manque quelque chose?

La seule façon de résoudre ce problème est de déployer un serveur DNS sur mon réseau local?


Pourquoi n'essayez-vous pas de modifier le fichier / etc / hosts et de définir une adresse renvoyée par nslookup (externe)? Et pourquoi n'essayez-vous pas d'insérer un enregistrement statique avec une adresse locale pour votre serveur dans le DNS de votre routeur?
Akina

@ Akina mon routeur (AVM Fritz! Box 3272) ne semble pas prendre en charge la gestion des enregistrements DNS statiques.
Genna

"pourquoi le routeur n'est pas assez" intelligent "pour rediriger les requêtes - avec NAT, c'est exactement ce que cela nécessite du temps et des efforts. Les paquets qui utilisent l'adresse IP locale de votre serveur ne passent probablement même pas par la partie "routage" du routeur. S'ils voyagent via la boîte du routeur, ils peuvent simplement visiter son commutateur interne qui les gère au niveau matériel, pas le routeur logique.
Kamil Maciorowski

@ KamilMaciorowski Je comprends que sauter la partie "routage" du routeur accélère la demande. Mais l'utilisation de l'IP interne est 5/6 fois plus rapide
genna

Réponses:


0

Non, votre routeur ne fait pas de "bouclage NAT".

Il y a deux cas. Vous pouvez voir laquelle est applicable en regardant l'adresse IP de l'interface réseau externe de votre routeur (qui peut être différente de votre adresse IP publique, voir ci-dessous).

1) Votre FAI utilise un NAT de classe opérateur (très probablement, en Allemagne, une quasi-certitude).

Votre IP publique sera dans le réseau de votre FAI. Votre routeur aura également une adresse IP privée sur le réseau de votre fournisseur de services Internet (qui est différente de l'adresse IP privée de votre réseau domestique). Lorsque vous envoyez un paquet à votre adresse IP publique, il est transmis au routeur, puis au réseau de votre fournisseur de services Internet, puis à votre routeur, puis à votre serveur. Vous pouvez voir ou ne pas voir (une partie de) cela avec traceroute.

Donc, il quittera votre réseau domestique, mais ne quittera pas le réseau de votre FAI.

Il existe un mécanisme ICMP REDIRECT pour rendre cela plus rapide la prochaine fois, mais votre fournisseur de services Internet peut l’utiliser ou non, et la Fritzbox peut ou non y obéir.

OTOH, quand vous utilisez directement l'adresse de votre serveur, c'est là que ça va aller.

2) Votre FAI ne fait pas de NAT de classe opérateur. Le paquet envoyé à votre adresse IP publique sera envoyé à votre routeur. Il détectera qu'il s'agit d'une adresse IP locale, mais appliquera toujours les règles de transfert de port et le renverra à votre serveur.

C'est encore plus lent que de l'envoyer directement au serveur, mais pas autant que le cas (1).

3) Votre Fritzbox est parfaitement capable de gérer les IP statiques. Et il exécute déjà un serveur DNS. Vous pouvez modifier le nom du périphérique dans l'interface graphique, cocher la case "toujours la même adresse IP" et le serveur sera accessible sous xyz.fritz.box, toujours avec la même adresse IP.

Ce qu’elle ne fera pas, c’est annuler la résolution de noms pour les noms extérieurs à son domaine (du moins, je ne pense pas que ce soit possible, cela pourrait valoir le coup d’être essayé).

Alors oui, si vous souhaitez que votre nom de domaine DDNS soit résolu en adresses IP différentes selon que vous soyez sur votre réseau domestique ou à l'extérieur, vous devrez déployer un deuxième serveur DNS. Ou écrivez quelque chose à changer /etc/hostsautomatiquement en fonction du SSID auquel il est connecté, etc.


Faire un ping sur mon domaine personnalisé (à la fois à l'intérieur et à l'extérieur du réseau domestique) me donne l'adresse IP externe de mon routeur, qui fait partie de mon réseau ISP (en Italie). Cela devrait limiter les possibilités à l'option 1, non? Je déploierai probablement un serveur DNS sur un Raspberry pour résoudre le problème sans avoir à changer rien sur tous les appareils de mon réseau.
Genna

Non. Votre domaine personnalisé utilise DDNS. Il est donc toujours résolu sur votre adresse IP externe, où que vous soyez. Et certains FAI font des choses amusantes au sein de leurs réseaux, donc traceroute / ping n’est pas un instrument fiable pour le voir.
dirkt
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.