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

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 35 482
    • Twitter LaFibre.info
DNS personnalisé pour réseau privé
« Réponse #12 le: 11 novembre 2012 à 10:38:19 »
C'est bien ça : Windows va toujours vers le DNS de l'interface par défaut en premier, quel que soit l'interface (en fait il ne sait pas avant la réponse du DNS que le flux va passer sur une autre interface)

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é.
Non car le premier DNS va répondre que le site n'exite pas et donc il n'ira pas voire le second serveur DNS.

Il va voir le second serveur DNS si le premier est en panne (absence de réponse avant expiration du time-out)

thenico

  • Expert.
  • Client OVH
  • *
  • Messages: 855
  • FTTH >500 Mb/s et FTTLA 100 Mb/s (13)
DNS personnalisé pour réseau privé
« Réponse #13 le: 11 novembre 2012 à 10:49:16 »
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?

Cela va d'un argument (dnsmasq) à une dizaine de ligne (bind9).

Pour unbound, c'est assez simple:
Citer
server:
        # a number of locally served zones can be configured.
        #       local-zone: <zone> <type>
        #       local-data: "<resource record string>"
        # o deny serves local data (if any), else, drops queries.
        # o refuse serves local data (if any), else, replies with error.
        # o static serves local data, else, nxdomain or nodata answer.
        # o transparent gives local data, but resolves normally for other names
        # o redirect serves the zone data for any subdomain in the zone.
        # o nodefault can be used to normally resolve AS112 zones.
        # o typetransparent resolves normally for other types and other names
        #
        # defaults are localhost address, reverse for 127.0.0.1 and ::1
        # and nxdomain for AS112 zones. If you configure one of these zones
        # the default content is omitted, or you can omit it with 'nodefault'.
        #
        # If you configure local-data without specifying local-zone, by
        # default a transparent local-zone is created for the data.
        #
        # You can add locally served data with
        # local-zone: "local." static
        # local-data: "mycomputer.local. IN A 192.0.2.51"
        # local-data: 'mytext.local TXT "content of text record"'
        #
        # You can override certain queries with
        # local-data: "adserver.example.com A 127.0.0.1"
        #
        # You can redirect a domain to a fixed address with
        # (this makes example.com, www.example.com, etc, all go to 192.0.2.3)
        # local-zone: "example.com" redirect
        # local-data: "example.com A 192.0.2.3"
 

2 lignes pour rediriger un domaine entier vers une IP locale

seb

  • Pau Broadband Country (64)
  • Client SFR fibre FTTH
  • *
  • Messages: 515
  • FTTH 100/50 Mbps sur Pau (64)
DNS personnalisé pour réseau privé
« Réponse #14 le: 11 novembre 2012 à 14:02:27 »
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?
Non, désolé, c'est sans doute une simple déformation professionnelle.
C'est trivial dans le sens où si tu sais déjà comment gérer des zones DNS avec BIND, c'est une simple formalité de les lui faire gérer sous forme de vues.

Je vais détailler ça, histoire d'étancher la soif de curiosité des ceusses que ça intéresse, mais thenico semble avoir une solution (unbound) qui a l'air bien plus simple d'emploi.
 
Dans mon exemple de configuration de BIND, il y a deux vues (voyons ça comme des directives de configuration particulières) :
  • Le bloc view "lan" { ... }; correspond aux zones DNS qui seront servies aux machines de mon réseau local.
  • Le bloc view "wan" { ... }; correspond aux zones DNS qui seront servies aux machines en provenance d'Internet.

Le serveur va décider quelle vue utiliser en fonction de l'adresse IP du client qui frappe à la porte (directive match-clients { ... }; dans chaque vue) :
  • La vue "lan" va être utilisée pour les machines qui se présentent avec l'adresse 127.0.0.1 ou une adresse en 192.168.1.x
  • La vue "wan" sera utilisée pour tous les autres clients (donc les machines en provenance de l'Internet)

Dans le second cas, le plus simple, qui est celui de la résolution publique :
  • On n'autorise pas la résolution des zones non gérées localement : recursion no;
  • On définit la zone "le-seb.net" (zone "le-seb.net" { ... };) :
    • pour laquelle le serveur est maître (type master;)
    • qui autorise le serveur de backup à récupérer les mises à jour (allow-transfer { 217.70.177.40; };)
    • qui s'appuie sur le fichier de définition de zone /etc/bind/db.wan.le-seb.net (file "/etc/bind/db.wan.le-seb.net";)
      • Lequel fichier indique que l'entrée "www" dans la zone (le-seb.net) est un alias (CNAME) vers l'entrée "9box.le-seb.net" :
        www    CNAME    9box.le-seb.net.
      • Laquelle entrée sera résolue avec l'adresse IP publique de ma box :
        9box    IN    A    93.31.136.109

Dans le premier cas, un brin plus compliqué, qui est celui de la résolution privée :
  • On autorise la résolution des zones non gérées localement (interrogation des serveurs racine) : recursion yes;
  • On inclut les directives de configuration supplèmentaires pour gérer les zones par défaut (qui intègrent entre autres les références aux serveurs racine) : include "/etc/bind/named.conf.default-zones";
  • On définit la zone "le-seb.net" (zone "le-seb.net" { ... };) :
    • pour laquelle le serveur est maître (type master;)
    • qui s'appuie sur le fichier de définition de zone /etc/bind/db.lan.le-seb.net (file "/etc/bind/db.lan.le-seb.net";)
      • Lequel fichier de zone indique que l'entrée "www" dans la zone (le-seb.net) est un alias (CNAME) vers l'entrée "master.le-seb.net" :
        www    CNAME    master.le-seb.net.
      • Laquelle entrée sera résolue avec l'adresse IP privée du nœud maître de mon petit cluster :
        master    IN    A    192.168.1.2
  • On définit également une zone pour faire la résolution inverse (zone "1.168.192.in-addr.arpa" { ... };) ...
Si j'avais voulu faire suivre les requêtes non gérées localement par mon serveur DNS aux serveurs de mon FAI, plutôt que d'interroger moi-même les serveurs racine, j'aurais intégré une directive forwarders { ... }; dans la vue "lan".


Au final, cette configuration fait que si tu réclames l'adresse de www.le-seb.net, mon serveur DNS va te répondre 93.31.136.109, alors que si c'est moi qui la réclame, depuis mon PC connecté au LAN, il va me répondre 192.168.1.2.
Ça me permet de passer outre certaines limitations de la neufbox, qui ne gère pas le loopback depuis le LAN (je ne peux pas accéder à 93.31.136.109 depuis mon LAN), et aussi de gérer localement tout un tas d'enregistrements DNS qui ne sont pas visibles (et de toute façon non routables) depuis Internet, sans avoir à utiliser un autre domaine DNS.

Bref, ça ressemble pas mal à ce que tu cherches à faire.

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 4 475
DNS personnalisé pour réseau privé
« Réponse #15 le: 11 novembre 2012 à 19:35:47 »
Merci à tous pour vos explications, c'est très intéressant. On apprends vraiment des choses sur ce forum.  :)

Bon, à priori, je n'ai besoin que de leurer des entrées DNS depuis l'intérieur de mon réseau, pas de répondre à des requêtes DNS en provenance de l'extérieur. Donc ma conf sera certainement plus simple que la tienne, Seb.

Une question pour Seb : pourquoi ne mets-tu pas directement les adresses IP internes et externes en entrée "A" dans ton fichier de configuration (pour www par exemple)? Pourquoi utilises-tu des entrées "CNAME", quel est l'intérêt?

Et une autre question, sans doute idiote : Est-ce qu'il est possible, pour un serveur DNS public d'un domaine particulier (serveur et domaine sur lesquels j'aurais la main) de répondre pour certaines entrées de ce domaine, des adresses privées 10.x.x.x? Je sais, c'est délirant; mais par curiosité, est-ce que ça peut fonctionner? Est-ce que le serveur DNS récursif du FAI (public) qui recevrai, en réponse de mon serveur DNS public de mon domaine, une adresse privée 10.x.x.x, est-ce qu'il la renvoie au PC de l'utilisateur final? Ou est-ce qu'il y a une "protection" pour éviter de diffuser des adresses privées?

Leon.

corrector

  • Invité
DNS personnalisé pour réseau privé
« Réponse #16 le: 11 novembre 2012 à 19:56:32 »
Bonsoir,

Est-ce que les serveurs DNS récursifs de
- Orange
- SFR
- Free
- Bouygues Telecom
- Numericable
- Adeli
- K-Net

permettent les enregistrements spécifiant des IP privées (RFC 1918) ?

Pour le savoir, allez sur http://corrector.lafibre.info/
Bon, personne ne m'écoute, c'est un scandaaaaale...

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 4 475
DNS personnalisé pour réseau privé
« Réponse #17 le: 11 novembre 2012 à 20:03:25 »
Bon, personne ne m'écoute, c'est un scandaaaaale...
D'un autre côté, s'il fallait lire TOUS les posts de ce forum qui devient de plus en plus célèbre et fréquenté...  ;)

OK, ça répond bien à la question : certains DNS récursif (Free) bloquent ce genre d'entrée, mais pas tous. Merci.

Leon.

seb

  • Pau Broadband Country (64)
  • Client SFR fibre FTTH
  • *
  • Messages: 515
  • FTTH 100/50 Mbps sur Pau (64)
DNS personnalisé pour réseau privé
« Réponse #18 le: 11 novembre 2012 à 20:25:19 »
Une question pour Seb : pourquoi ne mets-tu pas directement les adresses IP internes et externes en entrée "A" dans ton fichier de configuration (pour www par exemple)? Pourquoi utilises-tu des entrées "CNAME", quel est l'intérêt?
Pourquoi ?
Parce que je le peux ! ;)

Désolé, mais je n'ai pas de réponse plus sensée à te faire dans mon cas particulier.
Ça m'évitera juste de changer une adresse IP de plus dans ma configuration le jour où je devrai migrer vers un autre FAI ou vers un hébergeur.

thenico

  • Expert.
  • Client OVH
  • *
  • Messages: 855
  • FTTH >500 Mb/s et FTTLA 100 Mb/s (13)
DNS personnalisé pour réseau privé
« Réponse #19 le: 11 novembre 2012 à 20:54:27 »
Bon, personne ne m'écoute, c'est un scandaaaaale...

Le paramétrage par défaut d'Unbound filtre les enregistrements pointant vers des IP privé.
 

corrector

  • Invité
DNS personnalisé pour réseau privé
« Réponse #20 le: 11 novembre 2012 à 20:56:46 »
En vertu de quoi?

thenico

  • Expert.
  • Client OVH
  • *
  • Messages: 855
  • FTTH >500 Mb/s et FTTLA 100 Mb/s (13)
DNS personnalisé pour réseau privé
« Réponse #21 le: 11 novembre 2012 à 22:00:55 »
Est-ce que tu connais une raison valable pour qu'un nom externe puisse pointer vers une adresse interne (sans configuration explicite de l'administrateur) ?
A l'inverse, rendre impossible le DNS rebinding permet de sécuriser pas mal d'application par forcement à jour.


Avoir un something.priv.example.com qui pointe vers de l'interne est possible mais il faut indiquer que priv.example.com est "de confiance".

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 191
  • FTTH orange
DNS personnalisé pour réseau privé
« Réponse #22 le: 19 novembre 2012 à 10:57:30 »
Salut!

je remonte le sujet car je suis actuellement entrain de monter mon propre DNS:
donc le contexte:
j'ai un pc qui tourne sous windows server 2012:
role Active Directory et DNS d'installés, tout marche très bien sauf que je n'arrive pas à mettre la main sur le paramètre désignant les DNS sources des réponses que me fourni mon serveur, il répond bien mais je ne sais pas d'ou ça vient et ça m’embête....

donc si vous avez une idée ^^

merci a+

thenico

  • Expert.
  • Client OVH
  • *
  • Messages: 855
  • FTTH >500 Mb/s et FTTLA 100 Mb/s (13)
DNS personnalisé pour réseau privé
« Réponse #23 le: 19 novembre 2012 à 13:21:23 »
Si tu n'as pas configuré les redirecteurs, le serveur DNS fournis par Windows fait la résolution d'appartir les root servers.

 

Mobile View