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

Bind9 sous Debian : un ping ne fonctionne pas

23 réponses
Avatar
Francois
Bonjour à tous,

Je suis en train d'apprendre à faire un petit serveur DNS simplement en
"mode cache" (le DNS ne fait que renvoyer la balle au DNS de mon FAI)
sous une debian 5.0 version stable et j'ai du mal. Je vais essayé d'être
complet, désolé pour la longueur du message.

a) Je "suis derrière" ma freebox dont le dhcp n'est pas activé.

b) J'ai une distribution ubuntu qui me sert de client DNS dont les
paramètres sont :
IP = 192.168.0.1 avec le masque 255.255.255.0
Passerelle par défaut = 192.168.0.254 (IP de la freebox)
DNS = 192.168.0.2 (IP de la debian, le serveur DNS)

c) Sur Ubuntu j'ai installé en OS virtuel une debian donc, que j'essaye
de transformer en serveur DNS. Voici ses paramètres :
IP = 192.168.0.2 avec le masque 255.255.255.0
Passerelle par défaut = 192.168.0.254 (IP de la freebox)
Le domaine qu'elle est censée gérer s'appelle "dom" et le PC-serveur DNS
s'appelle "debian".

Voici certains fichiers sur le serveur DNS (debian) que j'ai
laborieusement essayé d'éditer correctement (sachant que j'ai installé
le paquet bind9 dessus) :

----------------
# /etc/host.conf
order hosts, bind
----------------

----------------
# /etc/hosts
127.0.0.1 localhost.dom localhost
192.168.0.2 debian.dom debian

# et des trucs qui étaient là au départ
# semble-t-il pour gérer l'IP6...
----------------

----------------
# /etc/resolv.conf
nameserver 127.0.0.1
domain dom
----------------

----------------
# /etc/bind/named.conf qui modulo des include donne ceci :

acl "dom" { 127.0.0.0/8; 192.168.0.0/24; };

options {
directory "/var/cache/bind";
allow-query { "dom"; };
forward first;
forwarders {
212.27.40.241; // DNS de free
212.27.40.240; // DNS de free
};
}

zone "." {
type hint;
file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
----------------


Voilà pour la configuration. Et bien le DNS fonctionne un peu dans le
sens où pour aller chercher des hôtes sur le net (je parle du client
ubuntu), ça fonctionne. Et quand je tue le processus "named" (c'est bien
le processus du DNS ???) sur ma debian et bien là plus de navigation
possible sur Internet avec le client (Ubuntu) il n'arrive plus à
résoudre les noms. Par contre, pour avec le terminal d'ubuntu, un simple :

$ ping debian.dom

me renvoie un :

ping: unknown host debian.dom

Donc le DNS ne fait pas bien son travail et je ne vois absolument pas
pourquoi ? Si vous avez des idées... J'y est passé du temps et je
commence à m'embrouiller.

Au passage, je croyais que les deamons étaient tous répertoriés dans
/etc/init.d/. Or je ne vois pas de "named" dans ce répertoire, mais je
vois un "bind9". C'est normal ça ? On lance le deamom comment ? Avec la
commande "named" ou en lançant le script /etc/init.d/bind9 ? Est-ce
équivalent ? Dans mon esprit, ça me complique les choses, déjà que je
trouve ça compliqué...

Merci de m'avoir lu jusqu'au bout (et bravo ;-)).


À bientôt.



--
François Lafont

3 réponses

1 2 3
Avatar
La Bete des Vosges (Francis Chartier)
Le Sun, 03 May 2009 15:06:39 +0200, Francois a écrit :


J'ai paramétré le résolveur ainsi :

-------------/etc/resolv.conf--------------------- nameserver
192.168.0.253 # j'ai mis 127.0.0.1 pour le DNS lui-même
domain mondomaine.local.
--------------------------------------------------



Pas de point à la fin de domain mondomaine.local dans le fichier
resolv.conf

Seul endroit où il faut mettre ce point final c'est dans le fichier
"reverse".

# On regle les parametres du resolveur echo "
nameserver 192.268.0.253 # j'ai mis 127.0.0.1 pour le DNS lui-même
domain mondomaine.local.
" > /etc/resolv.conf



même remarque que précédemment.

Dans le cadre d'une politique en IP fixes, est-ce une manière correcte
de s'y prendre (notamment le fait de passer par le fichier
/etc/rc.local) ?



Je ne comprends pas trop pourquoi vous faites comme ça.
Pourquoi ne pas configurer une bonne fois pour toute directement le
fichier resolv.conf ?
C'est à cause d'une "amélioration" de la distrib qui reconfigure à chaque
démarrage le réseau ?
Si c'est ça, il doit exister le moyen de le figer avec des valeurs persos.

Bon j'ai conscience que la bonne politique serait de
passer en DHCP, j'ai l'intention de me documenter sur ce point (quand
j'aurais le temps)...



Bof.
Sur un réseau limité en nombre de machines et qui évolue peu (notamment
sans postes nomades), je ne vois pas réellement d'intérêt à DHCP.
D'autant plus qu'il va falloir récupérer et gérer les addresses MAC pour
les postes autorisés, écrire éventuellement les fichiers d'attributions
des addresses IP à certains postes qu'on veut voire en IP fixe, etc.
Pas forcément moins de boulot en fait.


4) Si j'ai une nouvelle machine que je veux intégrer au domaine, me
suffit-il de faire ceci ?
a) paramétrer son IP, sa passerelle et son résolveur (comme dans 3. ?)
b) puis, sur le serveur DNS, mettre une ligne supplémentaire dans les
deux fichiers /var/cache/bind/db.mondomaine.local et
/var/cache/bind/db.0.168.192.reverse



Pensez à mettre à jour à chaque révision du fichier

@ IN SOA debian.mondomaine.local. root.debian.mondomaine.local.(
2009050305
^^^^^^^^^^

C'est le classique oubli du débutant, avec l'oubli du point final au PTR
dans le fichier reverse. :))


Existe-t-il une commande pour ajouter un membre dans le domaine sans
éditer à la main les fichiers de zones ?



Editer à la main présente le risque de coquilles, mais ça permet d'eviter
d'oublier la syntaxe. Si vous devez ajouter pas mal de machines et ce
assez régulièrement, une macro en perl ?

Merci d'avance et désolé pour ce message un peu fleuve.



Nan c'est bien, en plus on voit que vous avez faits vos devoirs :)
C'est mieux que le "Sa march' pô cé tout Kcé, ou é le tuto???".

Bon courage pour la suite.
Je confonds peut-être plusieurs fils, mais n'est-ce pas vous qui deviez
configurer le réseau d'une école ?

Si c'est le cas (avec un certains nombre de machines), vous avez intérêt
à bien réfléchir votre topologie, les plages d'adresses, qui a accès à
quoi, etc.
C'est très pénible de devoir recommencer parce qu'on a pas assez réfléchi
avant. :)



--
La Bête des Vosges
Avatar
La Bete des Vosges (Francis Chartier)
Le Wed, 06 May 2009 01:19:58 +0200, Francois a écrit :

Ah d'accord. Je croyais qu'il fallait au contraire mettre un nom FQDN
systématiquement avec un point "." à la fin dans les fichiers de
configuration, je croyais que c'était justement la façon propre d'écrire
un FQDN.

Seul endroit où il faut mettre ce point final c'est dans le fichier
"reverse".



Et pas dans le fichier de zone normal (le "non-reverse") ? Car c'est ce
que j'ai fait dans le fichier /var/cache/bind/db.mondomaine.local :



Si, il est nécessaire dans les fichiers de zone pour bind, c'est dans le
resolv.conf qu'il ne doit pas figurer.

Dans ce fichier aussi, il faudra que je supprime tous les points "." à
la fin ?



Non, c'est ok.

Non, vous avez raison. En fait, mon routeur était activé en DHCP et donc
au démarrage le PC prenait les DNS du FAI. J'ai enlevé le DHCP et là
c'est Ok. En revanche, je ne sais pas "couler dans le marbre" la
configuration IP fixe du PC "debian",



/etc/network/interfaces

man interfaces

exemple :

------------------------------
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.4
# dns-* options are implemented by the resolvconf package, if
installed
dns-nameservers 192.168.0.4
dns-search bete-des-vosges.org

-----------------------------


Sinon, il y a un problème que je ne comprends pas et que je n'arrive pas
à résoudre, le voici résumé par ces quelques commandes. Je les effectue
sur le PC "franPC" pour vérifier que le DNS ("debian") fonctionne bien.




~$ ping debian.mondomaine.local.
ping: unknown host debian.mondomaine.local.


^

Parce que debian.mondomaine.local. ne correspond à rien dans la zone,
c'est debian.mondomaine.local (sans le . final) qui existe...


--
La Bête des Vosges
Avatar
La Bete des Vosges (Francis Chartier)
Le Wed, 06 May 2009 20:14:44 +0200, Francois a écrit :

(J'ai une interface graphique qui gère ma connexion filaire. Je peux
tout y paramétrer sauf le nom "mondomaine.local". Donc ensuite, j'édite
moi-même /etc/resolv.conf pour y ajouter ce paramètre).



Hum, je vois pas trop d'où ça peut venir.
De mon côté sur mes serveurs ou stations je n'utilise pas d'utilitaires
graphiques pour configurer le réseau, et dans /etc/default/bind9 des
serveurs j'ai l'option
RESOLVCONF=no pour éviter l'autoconfiguration "magique".


Histoire d'être sûr, vous pourriez mettre à jour le serial dans les
fichiers de zone et recharger la configuration de bind ?

Ca ne devrait pas être ça puisque host répond correctement, mébon...


--
La Bête des Vosges
1 2 3