Auteur Sujet: DNS personnalisé pour réseau privé  (Lu 17451 fois)

0 Membres et 1 Invité sur ce sujet

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 971
DNS personnalisé pour réseau privé
« le: 10 novembre 2012 à 11:03:27 »
Bonjour à tous,

C'est le sujet d'à côté sur les DNS qui m'a fait penser à ça.

J'aimerai bien mettre en place sur mon PC ou sur mon réseau un système qui renvoie l'intégralité des requetes DNS d'un domaine vers une partie du réseau privé, avec un DNS privé. Mais je ne voudrais pas que le PC ait systématiquement à interroger ce DNS privé. Pourquoi? Parce que c'est un truc de test, qu'il est souvent éteint, et rarement fiable. Je ne voudrais pas non plus que ça ralentisse la navigation sur des sites standards.

Autre contrainte, et non des moindres: le "domaine DNS" en question sera présent sur des DNS publics, mais je souhaite "leurer" mon PC pour qu'il interroge le DNS privé, local, pour ce domaine, et uniquement pour ce domaine. Donc déclarer en DNS secondaire mon DNS privé ne suffira pas.

Je tourne sous Windows, mais j'ai aussi une petite carte de développement sous Linux (FoxBoard) qui aurait besoin, à terme, de ce genre de bidouille.

J'avais pensé au fichier "Hosts", mais malheureusement, j'ai l'impression que le fichier Hosts ne prends que les adresses IP. Il est impossible de déclarer des renvoi de type "CNAME", au moins sous Windows.

J'ai pensé aussi à déclarer un DNS spécifique pour une connexion (Ethernet) spécifique. Mais là, je ne comprends pas comment Windows fonctionne quand c'est comme ça. Comment il priorise les différentes entrées DNS de différentes connexions.

Donc est-ce que quelqu'un aurait une idée pour résoudre ce problème qui semble pourtant pas si compliqué?
Merci d'avance à tous!

Leon.

corrector

  • Invité
DNS personnalisé pour réseau privé
« Réponse #1 le: 10 novembre 2012 à 18:22:09 »
Je ne vois pas trop où tu souhaites aller (par opposition à comment tu souhaites y arriver).

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 971
DNS personnalisé pour réseau privé
« Réponse #2 le: 10 novembre 2012 à 20:26:23 »
Ma question n'est pas claire? Je vais essayer de remonter au niveau du "besoin", et pas de la solution.

Je veux par exemple que toutes les requetes vers "lafibre.info" (c'est un exemple) depuis mon PC  arrivent vers un serveur DNS privé, qui répondra des adresses privées, sur une plage 10.x.x.x. Alors que Lafibre.info existe bel et bien sur les DNS publics. Je veux ainsi pouvoir "détourner" les requêtes DNS qui appellent "lafibre.info". Que ça soit "www.lafibre.info" ou "mail.lafibre.info", qui doivent aller vers 2 machines différentes.

En fait, il faut imaginer un réseau privé de bonne taille, avec plusieurs sous réseaux, chacun ayant son propre accès à Internet avec sa Box-NAT. Je veux que chaque machine puisse avoir accès facilement à d'autres machines, sur d'autres sous-réseaux privés, tout en conservant un accès normal à Internet.

Alors, faisable, ou pas?

De même, j'aimerai vraiment comprendre comment ça fonctionne un PC connecté à 2 réseaux différents, dont chaque connexion possède ses propres DNS, qui sont différents. En effet, on peut déclarer autant de serveur DNS que de connexion Ethernet (par carte réseau). Et même 2 par connexion Ethernet (primaire/secondaire). Quelqu'un sait répondre à cette question?

Leon.

seb

  • Pau Broadband Country (64)
  • Abonné SFR fibre FttH
  • *
  • Messages: 515
  • FTTH 1 Gbps sur Pau (64)
DNS personnalisé pour réseau privé
« Réponse #3 le: 10 novembre 2012 à 21:29:39 »
Ce que tu cherches à faire me semble assez trivial à implèmenter avec BIND, et le mécanisme des "vues" (dont il a d'ailleurs été question dans un fil à côté).
Je l'utilise par exemple chez moi pour que le domaine le-seb.net, que j'auto-héberge, soit résolu avec des adresses privées depuis mon réseau local :
view "lan" {
        match-clients { 127.0.0.1; 192.168.1.0/24; };  // Adresses IP du LAN
        recursion yes;  // La vue privée résout tous les domaines

        include "/etc/bind/named.conf.default-zones";

        zone "le-seb.net" {
                type master;
                file "/etc/bind/db.lan.le-seb.net";
        };

        zone "1.168.192.in-addr.arpa" {
                type master;
                file "/etc/bind/db.lan.le-seb.net.rev";
        };
};


view "wan" {
        match-clients { any; };  // Autres adresses IP = Internet
        recursion no;  // La vue publique ne résout que le domaine le-seb.net

        zone "le-seb.net" {
                type master;
                file "/etc/bind/db.wan.le-seb.net";
                allow-transfer { 217.70.177.40; };  // Serveur DNS secondaire hébergé par Gandi
        };
};


Pour te donner une idée de ce que ça peut donner dans les faits :
db.lan.le-seb.net:  www    CNAME    master.le-seb.net.  // Adresse IP privée du nœud maître du cluster hébergeant le serveur web
db.wan.le-seb.net:  www    CNAME    9box.le-seb.net.    // Adresse IP publique de ma neufbox, qui redirige le trafic web vers le nœud maître du cluster


Mais bon, si tu ne veux/peux pas faire tourner un serveur DNS en permanence chez toi, je ne vois pas bien comment tu pourrais t'en sortir, à moins de bricoler un truc à base de fichier hosts.

thenico

  • Expert.
  • Abonné OVH
  • *
  • Messages: 1 009
  • FTTH >500 Mb/s (13)
DNS personnalisé pour réseau privé
« Réponse #4 le: 11 novembre 2012 à 00:12:55 »

J'ai pensé aussi à déclarer un DNS spécifique pour une connexion (Ethernet) spécifique. Mais là, je ne comprends pas comment Windows fonctionne quand c'est comme ça. Comment il priorise les différentes entrées DNS de différentes connexions.


Windows prends les DNS associé à l'interface ayant une route par défaut.

Si tu as une édition serveur, installe le serveur DNS de Microsoft, met 127.0.0.1 comme serveur DNS, configure qui sont les resolveurs DNS upstream (parce que résoudre à partir des root servers, c'est lent !) et crée la zone locale qui t'interresse.

C'est aussi facilement faisable avec unbound, un peu plus chiant avec bind9, doit être faisable avec dnsmasq ...

seb

  • Pau Broadband Country (64)
  • Abonné SFR fibre FttH
  • *
  • Messages: 515
  • FTTH 1 Gbps sur Pau (64)
DNS personnalisé pour réseau privé
« Réponse #5 le: 11 novembre 2012 à 02:57:52 »
(parce que résoudre à partir des root servers, c'est lent !)
C'est forcèment moins efficace, puisqu'il n'y a pas des centaines de milliers d'abonnés derrière pour maintenir les caches à jour.
Mais franchement, à l'usage, c'est loin d'être évident.

Quelques exemples de durées de téléchargement de pages web complètes (wget -p via DNS SFR / via DNS perso) :
www.kawasaki.fr : 0m1.553s / 0m1.623s
www.lasvegas.com : 0m2.363s / 0m2.589s
www.lapresse.ca : 0m3.477s / 0m3.947s
www.portugal.gov.pt : 0m14.037s / 0m11.492s  (ce n'est pas une erreur : ça a été plus long via SFR)
www.muskogeephoenix.com : 0m1.234s / 0m1.405s
www.saopaulofc.net : 0m2.132s / 0m2.685s

J'ai volontairement choisi des sites sur lesquels j'étais certain de ne jamais avoir mis les pieds, histoire que mon serveur DNS soit forcé de résoudre les noms présents sur les pages.

Le plus gros écart mesuré ici en défaveur de la résolution via les serveurs racine est de l'ordre d'une demie seconde.
Je ne sais pas pour vous, mais moi je supporte ça sans aucun problème, dans la mesure où je vais en passer au moins trente à lire la page ...   ;)

Après, c'est vrai que si tout le monde se met à faire comme moi, ça va être un beau bordel.  ???

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 971
DNS personnalisé pour réseau privé
« Réponse #6 le: 11 novembre 2012 à 08:12:12 »
Merci à tous les 2 pour vos réponses.
Donc si je comprends bien, la seule solution est d'installer un petit serveur DNS sur mon PC (de préférence), ou sur une machine du réseau tout le temps allumée (ce qui n'existe pas chez moi). Tous les logiciels de serveurs DNS que vous citez (unbound, bind9, dnsmasq) permettent de faire ça? Du détournement d'un domaine complet? Sans trop se prendre la tête?


Citer
Ce que tu cherches à faire me semble assez trivial à implèmenter avec BIND
Seb, quand tu nous dit que "c'est trivial", en mettant un tas de code de config incompréhensible pour le commun des mortels, c'est de la provoc? J'arrive pas à comprendre... Question bête et innoncente, pour lever toute ambiguité... Parce que ça surprend, dans ton post.


Par rapport à ça:
Citer
(parce que résoudre à partir des root servers, c'est lent !)
Après, c'est vrai que si tout le monde se met à faire comme moi, ça va être un beau bordel.  ???
J'avais même pas compris que dans la config de Seb, tu faisais appel aux serveurs racine. Où est-ce qu'on voit ça dans le fichier de config de Seb?

Où est-ce que tu déclares les adresses des serveurs DNS, dans ton fichier de config? DNS racine? DNS fournisseur d'accès?

Pour te donner une idée de ce que ça peut donner dans les faits :
db.lan.le-seb.net:  www    CNAME    master.le-seb.net.  // Adresse IP privée du nœud maître du cluster hébergeant le serveur web
db.wan.le-seb.net:  www    CNAME    9box.le-seb.net.    // Adresse IP publique de ma neufbox, qui redirige le trafic web vers le nœud maître du cluster
Là, j'ai rien compris, mais alors rien du tout.  ??? Si tu pouvais t'adapter à mon niveau dans tes explications, stp? C'est quoi ta citation en bleu? Une requête? De qui? Pourquoi ça répond ça? A quoi correspond db.lan et db.wan, que je n'ai jamais vu auparavant?

Leon.

Nico

  • Modérateur
  • *
  • Messages: 44 449
  • FTTH 1000/500 sur Paris 15ème (75)
    • @_GaLaK_
DNS personnalisé pour réseau privé
« Réponse #7 le: 11 novembre 2012 à 08:16:25 »
Donc si je comprends bien, la seule solution est d'installer un petit serveur DNS sur mon PC (de préférence), ou sur une machine du réseau tout le temps allumée (ce qui n'existe pas chez moi).
Si tu es prêt à mettre ~40€ dans cette histoire, tu peux acheter un Raspberry Pi. Ça fait tourner ce genre de chose (et plein d'autres) sans aucun soucis.

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 971
DNS personnalisé pour réseau privé
« Réponse #8 le: 11 novembre 2012 à 08:23:27 »
Windows prends les DNS associé à l'interface ayant une route par défaut.
Ca veut dire que pour les interfaces Ethernet qui n'ont pas de "passerelle par défaut", le DNS renseigné ne sert à RIEN? Dans ce cas, pourquoi permettre de la déclarer?

Tiens, une autre question, sur cette piste. Si j'accepte que l'utilisateur doive rentrer une adresse différente pour accéder aux serveurs internes (par exemple lafibre.info.toto au lieu de lafibre.info), est-ce qu'il suffit de déclarer un serveur DNS local en DNS secondaire (tertiaire)? Les 2 premiers serveurs ne sachant pas résoudre, j'ai pensé que la requête serait dirigée "naturellement" vers le 3ieme. Est-ce que ça fonctionne aussi si le serveur DNS est sur une interface Ethernet "privée" différente de l'interface ethernet "publique" qui voit la "passerelle par défaut"?

Merci d'avance pour votre aide. C'est pas facile de bien comprendre comment tout ça fonctionne.

Leon.

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 971
DNS personnalisé pour réseau privé
« Réponse #9 le: 11 novembre 2012 à 08:26:40 »
Si tu es prêt à mettre ~40€ dans cette histoire, tu peux acheter un Raspberry Pi. Ça fait tourner ce genre de chose (et plein d'autres) sans aucun soucis.
En fait, je suis plus électronicien-bidouilleur que développeur soft. Mes prochaines bidouilles embarqueront un truc encore plus simple que la carte Raspberry-Pi. C'est la carte "ARIA" d'Acmesystems, voir le lien ci dessous.
http://www.acmesystems.it/aria

Leon.

vivien

  • Administrateur
  • *
  • Messages: 47 079
    • Twitter LaFibre.info
DNS personnalisé pour réseau privé
« Réponse #10 le: 11 novembre 2012 à 09:18:27 »
Windows et Linux envoient les requêtes vers le même serveur DNS quel que soit l'interface utilisé.

Si plusieurs interface ont plusieurs serveurs DNS, alors ils se rajoutent en DNS supplèmentaire.

Pas de souci pour joindre le serveur DNS si la table de routage est bien définie.

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 971
DNS personnalisé pour réseau privé
« Réponse #11 le: 11 novembre 2012 à 09:25:33 »
Donc si je comprends bien: tous les serveurs DNS de toutes les interfaces sont potentiellement utilisables. Et le système d'exploitation les interroge les uns à la suite des autres, et s'arrête au premier qui répond. Et dans l'ordre, le système d'exploitation interroge d'abord les DNS déclarés dans l'interface qui a la "route par défaut", puis les DNS des autres interfaces.
Et un serveur DNS localisé sur une partie du réseau (privée) peut très bien répondre une adresse IP localisée sur une autre partie du réseau (public), accessible via une autre interface Ethernet.
C'est bien ça? Ou je me trompe quelque part?

Si c'est ça, ça peut certainement me simplifier la vie, si j'accepte de taper une adresse non déclarée en DNS publics pour accéder aux services du réseau privé.

Leon.