DNS local pour auto-hebergement

Bonjour a toutes et tous.

Je sollicite votre aide a la compréhension et a la mise en place d’un dns local.
Je me suis mis en tete de tester l’auto-hebergement.

  1. Achat d’un nom de domaine. Merci OVH. :+1:
  2. Modification de la zone DNS. Et j’ai meme utiliser un DynDNS. Je peux pinguer de l’extérieur. Installation de ddclient et configuration. :+1:
    C’est ici que ça commence a se compliquer.
  3. Installation d’un serveur Debian Jessie.:+1:
  4. Installation de bind9 et configuration.“:+1:
    C’est la que j’ai besoin de vous.
    Si je fait des requêtes sur des machines du réseau en interrogeant directement mon serveur DNS, pas de souis. Si je fait une requêtes sans spécifier le serveur DNS à interroger, la réponse n’est pas juste. Jusque la, c’est ok, je comprends que je n’ai pas spécifier correctement mon dns sur mon réseau local.

La question est donc la suivante:
Comment configurer bind pour qu’il soit le DNS de mon réseau local sans que je doivent modifier toutes les machines ni mettre en place un DHCP? Ou comment apprendre au DNS de ma box de mon FAI que j’ai un DNS secondaire pour les informations locales?

Merci d’avance.

Waldorf

Peux-tu être plus explicite ? Un exemple concret, peut-être ?

Dans l’absolu, tu ne peux pas.
Tu peux peut être rediriger, au niveau de ton routeur, le flux venant de ton LAN sur le port 53 du resolver par defaut actuellement configuré sur tes machines (ou toutes les requètes LAN sur le port 53 si tu veux empêcher qu’on utilise autre chose que ton bind9) vers le port 53 de ton serveur. Ca devrait marcher, mais ce n’est pas propre.

Un truc qui n’a rien à voir: si tu décides de relayer un autre resolver au lieu de juste faire un serveur cache des root servers, prend en un autre que celui de ton isp, un qui ne soit pas en france, car il sont menteurs, piratés et manipulés par le gouvernement pour censurer.

Bien sur… :sweat_smile: Enfin, essayer…

Un dig mail.mondomaine.ext me donne:
; <<>> DiG 9.11.5-P4-5.1-Debian <<>> mail.mondomaine.ext
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24714
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 512
;; QUESTION SECTION:
;mail.mondomaine.ext.			IN	A

;; ANSWER SECTION:
mail.mondomaine.ext.		5	IN	A	87.65.207.157

;; Query time: 41 msec
;; SERVER: 192.168.232.2#53(192.168.232.2)
;; WHEN: mar aoû 27 16:17:59 CEST 2019
;; MSG SIZE  rcvd: 57


  ; <<>> DiG 9.11.5-P4-5.1-Debian <<>> @192.168.1.3 mail.mondomaine.ext
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50054
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mail.mondomaine.ext.			IN	A

;; AUTHORITY SECTION:
mondomaine.ext.		604800	IN	SOA	monserveur.mondomaine.ext. waldorf.mondomaine.ext. 2018111905 3600 86400 2419200 604800

;; Query time: 7 msec
;; SERVER: 192.168.1.3#53(192.168.1.3)
;; WHEN: mar aoû 27 16:21:15 CEST 2019
;; MSG SIZE  rcvd: 100

Noooonn… Je n’aime pas cette réponse… :sleepy::wink:

Mais je m’y attendait et ai donc préparer la question suivante.

Ceux qui ont un petit reseau local et qui gère eux même le DNS, vous avez fait comment?

Que sont 192.168.232.2 et 192.168.1.3 ?
Que sont-ils censés répondre à cette requête ?

Ben ça ne me viendrait pas à l’idée d’avoir autre chose que du dhcp sur mes machines clientes.
Aprés, je réserve l’adresse de mon serveur sur ma box, qui me sert actuellement de dhcp (pour des raisons historiques, je vais repasser au dhcp fourni par le serveur quand j’aurais le temps), et mon serveur est sur son dresse en statique (seule machine de mon réseau en statique).
Je rend certaines machines fixes en dhcp pour faire certaines redirections de port, mais elles restent clientes en dhcp.

Par contre, toute ton organisation et ton paramètrage pour ta zone dns mondomaine.ext me semblent effectivement un peu bizarre, avec un mélange dans la gestion de la zone, qui devrait être en ligne et disponible en permanence au moins pour ce qui concerne le serveur de domaine primaire (qui peut être esclave de ton serveur maitre interne ou tu configures la zone), et des éléments d’adressage locaux (192.168) qui n’ont pas à figurer dans une zone dédiée à l’internet, vu qu’elle ne sont pas accessibles de l’extérieur avec ces adresses:
pour ça, tu prends un ndd bidon interne, genre monreseau.local, tu mets toutes les machines locales sur le domaine monreseau.local ou tu gères leurs associations nom/adresse interne tu gères sur ton bind.
Et même comme ça, ce n’est pas recommandé de mélanger résolution d’adresse interne et externe sur un même serveur dns.

l’IP de ma machine virtuel (Debian sur VMPlayer15 depuis Windows 7)

Mon serveur[quote=“PascalHambourg, post:6, topic:79997”]
Que sont-ils censés répondre à cette requête ?
[/quote]

Me donner une resolution correcte de nom de domaine quand je suis sur mon reseau perso, evidement…:sweat_smile:

J’aimerais bien aussi mais mon FAI me fourni aussi la television numerique et je n’ai pas (encore) trouve les reglages pour le decodeur…:sweat_smile:

Je ne vois pas trop le rapport.
Je dirais même vraiment pas du tout.

Et bien comme dit plus haut, tu crées une zone dédiée à ton lan, ou tu colles tes adresses lan, mais ton domaine public, dédié à la résolution par un public public à l’exterieur, ne doit inclure que des ips publiques.
Tes ips privées sont à gèrer dans un domaine privé ou tu fous toutes tes machines avec des ips inaccessibles de l’extérieur.

Quel sont (ou sont censés être) leurs rôles respectifs vis à vis du réseau local et de ton domaine ?

J’ai demandé du concret, pas des tautologies.

L’idée de base dans ma petite tête est la suivante:
Si un utilisateur de mon auto-hebergement est sur le réseau locale, il doit pouvoir se connecter aux services (courriel, cloud, communication instantannée,…) grâce a la résolution du nom de domaine qui devrait lui donner l’adresse locale.
Si le même utilisateur est connecté ailleurs que dans mon réseau local, il devrait pouvoir aussi accéder aux mêmes services.
Vu que les deux dns qu’il va interroger vont être différents, il ne devrait pas y avoir de problème. L’un, le dns externe par exemple, renseignant l’adresse public amenant vers ma box et redirige en locale sur mon serveur. L’autre, le dns local, envoyant directement vers mon serveur.

Je ne me trompe quand même pas?..

Et la ou je n’arrive pas a trouver de solution, c’est comment expliquer à mes machines que si elles sont sur mon réseau locale, elles doivent d’abord interroger le dns locale et si la demande n’aboutit pas, qu’elles envoient leur requêtes vers un dns pointant vers le net.
Il n’existe pas de fonction de hiérarchisation des serveurs dns dans un réseau local?

Je pense, en écrivant ces lignes et grâce a vos interventions @mattotop et @PascalHambourg (en vous remerciant), que la seule solution est effectivement de gérer directement le DHCP… :disappointed_relieved:

Bonjour,

C’est normal. Ce n’est pas possible :wink:
Le principe c’est qu’il ne peut y a avoir qu’un seul serveur faisant autorité pour un domaine donné. Quand on fait une requête sur un nom du domaine, le serveur faisant autorité répond qu’il connaît ou qu’il ne connaît pas (NXDOMAIN) le nom demandé et cela ne peut pas aller plus loin.

La seule chose que l’on peut faire c’est avoir un serveur faisant autorité sur example.com, accessible localement et depuis l’internet, et mettre en place un « split DNS » (cf view avec bind9) pour avoir des réponses différentes suivant que la demande vient du réseau local ou de l’internet.

Est ce la fonction de la directive authoritative? Ou par autorité tu veux dire un seul et unique?

Je vais me renseigner la dessus…

Pourquoi ?
C’est pas parce que l’adresse utilisée est publique que la connexion à tes services depuis un poste interne va passer par l’internet. Ca ira jusqu’à ton routeur, qui possède l’adresse publique de tous ces services, et qui redirigera le flux vers les services en interne comme si c’était un client externe, mais ça ne changera pas le fait que ça passe en interne sur le réseau en rebondissant juste sur ton routeur.
Et sinon, il y a une mécanique pour avoir des facettes (je ne me souviens plus du nom) dans bind pour gèrer différemment une zone dns suivant l’ip qui interroge, il me semble, mais de mémoire, c’est la merde à gèrer et ce n’est pas recommandé.

Qué 2 dns ?
Ca ne veut rien dire, en fait, ce que tu dis, c’est du cafouillage pas clair total.

Ben si, c’est l’ordre dans lequel tu configures les resolver de chaque machine qui va déterminer lequel elles interrogent en premier, mais ça n’a pas pour but de lister des dns qui répondent des choses différentes, mais juste de passer de l’un à l’autre si le premier ne sait pas répondre.

Ca, c’est encore autre chose, ça n’a rien à voir, ce n’est qu’une question pratique pour ne pas avoir à refaire à la main la config sur toutes tes machines et la diffuser depuis un point centralisé, mais ça n’impacte en rien comment tu dois configurer ta résolution pour faire ce que tu veux.

https://www.wordreference.com/enfr/authoritative

authoritative (adjectif) = > qui fait autorité

authoritative name server => serveur faisant autorité (pour un domaine)

Voilà, j’avais pas vu, c’est le nom du systéme de facettes qu’il vaut mieux éviter d’utiliser.

@mattotop, je devrais utiliser serveur dns plutot que simplement dns puisque je dois éviter de diffuser l’adresse locale de mon serveur multifonction
Quand je tapes:
waldorf.ycomprendsrien.com
en local, la résolution n’est pas la même que quand tu tapes de chez toi
waldorf.ycomprendsrien.com
Toi, tu vas interroger le serveur dns de ton FAI (ou pas vu que tu me conseillais d’utiliser un autre plus haut dans la conversation… :wink:)
Et moi, je devrais interroger mon serveur dns en local.

Est ce plus clair entre nous?

Ca parait presque trop simple… Je vais essayer ca d’ici ce week end…

En fait, non. J’avais parfaitement compris que tu parlais de “serveur” dns en disant juste dns, et ce que tu as ajouté m’amène juste à penser que tu mélanges la manière dont ton serveur dns va résoudre les adresses qui lui sont demandées avec la manière dont les clients sont configurées pour aller consulter un dns.

Et pourquoi donc ?
D’après vous, si je tape sur une des machines locales

getent hosts nom_serveur

et que ledit serveur interrogé est présent dans le fichier /etc/hosts de la machine ?
Il faut comprendre qu’il y a toute une hiérarchie de moyens (services interrogés) pour réaliser la résolution de noms et que la méthode par dns vient en général en dernier.
extrait de

man nsswitch.conf
       La première colonne est le nom  de  la  base  de  données.  Les  autres
       colonnes indiquent :

       *  une  ou plusieurs spécifications de services, par exemple « files »,
          « db » ou « nis ». L'ordre des services sur la ligne indique l'ordre
          dans  lequel  les requêtes seront réalisées sur ces services, tour à
          tour, jusqu'à ce qu'un résultat soit obtenu ;

Au lieu de vous poser la fausse question d’installer un serveur DHCP, posez-vous la question de l’intérêt d’avoir toutes les résolutions de noms des machines du réseau local définies par les fichiers /etc/hosts gérés sur toutes les machines, ou d’installer un serveur nis sur une des machines et les autres systèmes seront des clients nis (c’est le même paquet).
Combien avez-vous de machines dans votre réseau local ?

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »
Pierre Dac