Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[DNS/BIND] LAN design

3 réponses
Avatar
Julien K.
Bonjour,

je cherche à faire quelque chose qui me semble simple mais qui (je m'en
rends compte) n'est si trivial, j'ai lu plein de trucs à ce sujet et aucune
solution ne me satisfait vraiment du point de vue de l'organisation.

Je gère (vaguement) un LAN (Win2k/Linux) derrière un modem ADSL mais sans
ip fixe (me demandez pas pourquoi). Dans un moment d'oisiveté je me suis
intéressé à la mise en place d'un serveur centralisé DNS sur le serveur
Linux uniquement pour le LAN.

Pour l'instant ça marche simplement, la résolution depuis le(s) bécane(s)
Linux se fait via des fichiers "hosts" et les win2k se causent grâce au
winbind du serveur Samba, tout ce petit monde est en adressage fixe sur le
LAN.

Je dispose d'un nom de domaine du style 'bidule.fr'[*]. Les services POP3/
IMAP & www ne sont pas hébergés sur le LAN mais chez un hébergeur.

La question est: comment nommer les postes du LAN pour que la résolution
de noms interne fonctionne? J'aimerais bien que les adressages privés soient
en 'bidule.fr' du style 'toto.bidule.fr'.

L'idée serait que si une résolution échoue sur un DNS local la requète
soit passée à un DNS externe: ça marche, sauf pour un même domaine.

J'ai lu que plusieurs solutions existaient:

- une "split-zone" (l'appellation varie) qui se rapproche de la config
d'un LAN qui comprend un DNS interne et un DNS en DMZ (donc public); on
a une duplication de l'information, le DNS interne comprenant les
informations du DNS externe pour le domaine, plus celles réservées au
LAN.

- la création d'un sous domaine ('lan.bidule.fr'), le DNS interne contrôle
alors cette zone: pas mal aussi mais implique de changer la config des
postes clients (smtp/...) et de faire passer l'information humaine (hum)
La résolution externe est alors assurée par forward.

- créer un domaine /virtuel/ ('bidule.lan'), on retombe dans la config
précédente.

Pour l'instant j'ai choisi la première option mais un changement de
l'adressage dans la DMZ (pour moi des serveurs de l'hébergeur) implique une
mise à jour manuelle du DNS interne, avec une possible mise en rideau si je
suis en mission en Patagonie (j'ai fait un script qui vérifie et fait la
mise à jour automatiquement mais...).

Auriez-vous d'autres solutions à me proposer, ou laquelle des 3
propositions ci-dessus vous semble la plus adaptée (il est également
possible que je me sois gourré dans la config de Bind9)?

Merci de vos lumières

JKr

[*] je viens de m'apercevoir que bidule.fr était enregistré, mes excuses
auprès du propriétaire

--
MY BUTT DOES NOT DESERVE A WEBSITE.
MY BUTT DOES NOT DESERVE A WEBSITE.
MY BUTT DOES NOT DESERVE A WEBSITE.
-+- Bart Simpson on chalkboard, episode #143

3 réponses

Avatar
MaXX
Julien K. wrote:

Bonjour,
[...]

Je gère (vaguement) un LAN (Win2k/Linux) derrière un modem ADSL mais
sans
ip fixe (me demandez pas pourquoi).
si tu utilise isc-dhcp tu peux facilement permettre à ton dhcp de rajouter

les entrées DNS pour tes clients dynamiques

Dans un moment d'oisiveté je me suis
intéressé à la mise en place d'un serveur centralisé DNS sur le serveur
Linux uniquement pour le LAN.

Pour l'instant ça marche simplement, la résolution depuis le(s)
bécane(s)
Linux se fait via des fichiers "hosts" et les win2k se causent grâce au
winbind du serveur Samba, tout ce petit monde est en adressage fixe sur le
LAN.

Je dispose d'un nom de domaine du style 'bidule.fr'[*]. Les services
POP3/
IMAP & www ne sont pas hébergés sur le LAN mais chez un hébergeur.

La question est: comment nommer les postes du LAN pour que la résolution
de noms interne fonctionne? J'aimerais bien que les adressages privés
soient en 'bidule.fr' du style 'toto.bidule.fr'.

L'idée serait que si une résolution échoue sur un DNS local la requète
soit passée à un DNS externe: ça marche, sauf pour un même domaine.



Disons que tu crée une zone "bidule.fr" je pense que tu peux jouer avec "IN
NS" pour resoudre www.bidule.fr, pop.bidule.fr,...
---fichier de zone---
$ORIGIN .
www.bidule.fr IN NS ns.isp.fr

$ORIGIN bidule.fr
client1 A 192.168.1.10

ou qqch du genre, j'ai pas testé et je n'ai pas envie de toucher à mon
dns...

Sinon tu peux te créer ton propre tld, bidule.lan par exemple ce qui évitera
que tes adresses ne soient résolue de l'extérieur et simplifiera le truc...
---extrait named.conf---
options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";

listen-on {
//IP de la carte reseau sur le LAN;
};

forwarders {
//IP Serveur DNS1 de l'ISP;
//IP Serveur DNS2 de l'ISP;
};
};


zone "." in {
type hint;
file "named.root";
};

zone "bidule.lan" in {
type master;
file "dynamic/bidule.lan";
allow-update {
key DHCP_UPDATER;
};
};
Ton DNS ne sera autoritatif que pour sa zone et renvera les autres requètes
aux dns de l'isp. Ici dans l'exemple le DNS est mis a jour par DHCP dans la
zone interne (bidule.lan) [google "Dynamic DNS"]

2cents,
--
MaXX

Avatar
Julien K.
On 16-03-2006, MaXX wrote:
Julien K. wrote:

Bonjour,
[...]

Je gère (vaguement) un LAN (Win2k/Linux) derrière un modem ADSL mais
sans ip fixe (me demandez pas pourquoi).
si tu utilise isc-dhcp tu peux facilement permettre à ton dhcp de rajouter

les entrées DNS pour tes clients dynamiques


L'ip fixe est absente sur l'interface WAN; pour le LAN je préfère savoir
rapidement qui fait quoi.

Dans un moment d'oisiveté je me suis intéressé à la mise en place d'un
serveur centralisé DNS sur le serveur Linux uniquement pour le LAN.

La question est: comment nommer les postes du LAN pour que la résolution
de noms interne fonctionne? J'aimerais bien que les adressages privés
soient en 'bidule.fr' du style 'toto.bidule.fr'.

L'idée serait que si une résolution échoue sur un DNS local la requète
soit passée à un DNS externe: ça marche, sauf pour un même domaine.


Disons que tu crée une zone "bidule.fr" je pense que tu peux jouer avec "IN
NS" pour resoudre www.bidule.fr, pop.bidule.fr,...
$ORIGIN .
www.bidule.fr IN NS ns.isp.fr

$ORIGIN bidule.fr
client1 A 192.168.1.10

ou qqch du genre, j'ai pas testé et je n'ai pas envie de toucher à mon
dns...


Je vais regarder ça de manière plus approfondie, les premiers tests
rapides montrent que ça marche pas. J'ai trouvé une autre piste
(malheureusement pas très détaillée) qui serait de monter mon DNS en master
pour la zone mais "non-authoritative"...

Sinon tu peux te créer ton propre tld, bidule.lan par exemple ce qui évitera
que tes adresses ne soient résolue de l'extérieur et simplifiera le
truc...


Je sais, c'était mon option 3. Marche nickel sur la bécane de test.

Merci pour la réponse ;)

bye

JKr

--
I WILL NOT SELL LAND IN FLORIDA.
I WILL NOT SELL LAND IN FLORIDA.
I WILL NOT SELL LAND IN FLORIDA.
-+- Bart Simpson on chalkboard, episode #65


Avatar
MaXX
Julien K. wrote:

On 16-03-2006, MaXX wrote:
Julien K. wrote:
[...]


Disons que tu crée une zone "bidule.fr" je pense que tu peux jouer avec
"IN NS" pour resoudre www.bidule.fr, pop.bidule.fr,...
$ORIGIN .
www.bidule.fr IN NS ns.isp.fr
$ORIGIN bidule.fr
lire $ORIGIN bidule.fr. //le point a la fin


client1 A 192.168.1.10
ou qqch du genre, j'ai pas testé et je n'ai pas envie de toucher à mon
dns...
Je vais regarder ça de manière plus approfondie, les premiers tests

rapides montrent que ça marche pas. J'ai trouvé une autre piste
(malheureusement pas très détaillée) qui serait de monter mon DNS en
master pour la zone mais "non-authoritative"...
A essayer: trafiquer le champ A du serveur www dans la zone genre

$ORIGIN bidule.fr.
www A IP.DU.SRV.EXT
client1 A 192.168.1.10

Ca donne qqch? A noter que l'adresse IP du serveur web est en dur, si le
fournisseur change d'IP, ça marche plus.

Sinon tu peux te créer ton propre tld, bidule.lan par exemple ce qui
évitera que tes adresses ne soient résolue de l'extérieur et simplifiera
le truc...
Je sais, c'était mon option 3. Marche nickel sur la bécane de test.

Merci pour la réponse ;)


--
MaXX