Résolution de nom de domaine différent interne/externe

Bonjour,

J’ai un domaine en .fr hébergé chez OVH .
Je souhaiterai avoir sur mon réseau local un serveur DNS ( j’ai déja un bind sur un serveur ) qui me permette de résoudre certains noms de ce domaine en .fr mais uniquement en local ( par exemple pour faire un dev.xxx.fr ).

J’ai aussi des serveurs mails en local il serai intéressant que lorsque que je suis connecté en Wifi en local je puisse le joindre directement sans passer par la connexion internet sans avoir a reconfigurer le nom du serveur.

Je voudrais ajouter uniquement les entrées “locales” sur cette zone et que les le reste chez ovh.

J’ai essayé de configurer bind 9 sans succès: Soit la résolution de tout le domaine passe sur le serveur local et les entrées DNS configurées chez OVH ne sont pas résolues , soit il n’est pas pris en compte.

Je pense que le problème vient de la manière dont est déclarée ma zone sur bind.

Merci d’avance pour vos réponses / suggestions !

Quels sont les rôles du serveur BIND local vis à vis du domaine en .fr, et vis à vis du réseau local (autoritaire maître/esclave, cache récursif) ?

Attend, je n’ai pas compris, tu as un réseau local dans lequel des services sont accessibles sur Internet via des noms de domaine. Du coup, tu voudrais pouvoir utiliser ces noms de domaines quand tu es dans le même réseau que ces serveurs pour y accéder sans sortir sur Internet. J’ai bon ?

Si c’est ça, tu peux utiliser dnsmasq à la place. Tu lui donnes un serveur amont et tu définis dans un fichier semblable au fichier /etc/hosts des entrées qui seront résolues localement, de façon totalement granulaires.

Voila l’architecture:

En local : un domaine en xxx.local avec samba4 en AD et un serveur bind configuré en récursif .
Le serveur mail est hébergé en local , tous les autres services http , ftp … sont hébergés chez OVH

Chez OVH:
Tous les serveurs avec les différents sous domaines , le DNS principal est sur les DNS de OVH.

L’idée est par exemple d’avoir un sous domaine style boutique.xxx.fr hébergé chez OVH qui pointe sur une IP publique , mais que en local je puisse avoir une resolution de sous domaine style dev-boutique.xxx.fr qui pointe sur une IP locale genre 192.168…

Je pense que mon problème se situe dans la déclaration de ma zone dns de xxx.fr .

Est-ce que je dois la déclarer en master ?

Voici mon fichier zone :

$TTL    86400
xxx.fr.   IN      SOA    XXX.XXX.  dsi.xxx.fr. (
                        2012092402 ; Numero
                        28800      ; refresh
                        14400      ; Retry
                        604800     ; Expire
                        86400 )    ; Minimum

; Default IP adress of the domain
        IN          A       176.x.x.x

; Name servers for the domain
        IN          NS      ns200.anycast.me.
        IN          NS      dns200.anycast.me.


; Nodes in domain
dev-boutique                   IN      A   192.168.0.4

Dans XXXX , faut il renseigner le DNS OVH ?

Je te propose cette configuration.
Tu installes les paquets dnsmasq et unbound.
Tu modifies le fichier /etc/unbound/unbound.conf :

server: 
	auto-trust-anchor-file: "/var/lib/unbound/root.key"
	port: 14615
	do-ip4: yes
	do-ip6: yes
	infra-cache-numhosts: 1

Puis le fichier /etc/dnsmasq.conf :

no-hosts
expand-hosts
bogus-priv
all-servers
clear-on-reload
domain-needed
no-negcache
no-resolv
proxy-dnssec
server=127.0.0.1#14615

# Hôtes spécifiques
host-record=	dev-boutique.xxx.fr,	192.168.0.4
host-record=	xxx.fr,			176.x.x.x

Et, pour ton AD, tu peux éventuellement ajouter au fichier une ligne server=/xxx.local/x.x.x.xx.x.x.x est l’adresse IP du contrôleur de domaine

Ensuite, tu désactives bind et tu redémarres dnsmasq et unbound.

Si j’ai bien compris, ça devrais à peu près faire ce que tu veux.

Qu’est-ce qui joue le rôle de serveur DNS autoritaire pour l’AD ? BIND ou samba ? (pour savoir si on peut se passer de BIND)

J’avais bien compris.

A ma connaissance, on ne peut pas configurer BIND pour qu’il fasse autorité pour une zone (un domaine) incomplète et qu’il transfère les requêtes pour les noms inconnus de cette zone. C’est toute la zone ou rien.

Si c’est acceptable, une solution simple consiste à créer un sous-domaine géré localement, par exemple dev.xxx.fr qui contiendrait des noms comme boutique.dev.xxx.fr.

Si les noms locaux ne peuvent pas être regroupés dans un sous-domaine, tu peux créer une zone locale pour chacun. Mais c’est laborieux.

Sinon, toujours avec BIND, tu peux mettre en place sur le serveur local une copie de la zone xxx.fr publique modifiée avec en plus les enregistrements locaux supplémentaires (et des versions modifiées des enregistrements SOA et NS). Mais c’est plus compliqué à maintenir car chaque modification de la zone publique doit être répercutée sur la zone privée.

Autrement, il faut utiliser autre chose que BIND. Comme l’a écrit @Almtesh, dnsmasq peut servir des noms définis localement et retransmettre les autres requêtes vers un serveur récursif comme unbound (ou BIND configuré en serveur récursif). Le serveur DNS récursif n’a pas besoin d’être local.

Merci pour ces réponses . Je vois déja mieux pourquoi ça coince .

C’est bien bind qui qui résoud le domaine de l’AD donc je ne pense pas pouvoir m’en passer.

Je vais plutôt m’orienter sur l’option du sous-domaine.