Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/01/2015, à 10:20

djedje68

zone totocom/IN: not loaded due to errors.

Bonjour,

Sous Ubuntu 14 j'ai mis en place un serveur Bind9. Le but du serveur est d'être slave d'un master existant.
Voici mes différents fichiers de configuration :

/etc/bind/named.conf.local
zone "toto.com" {
    type slave;
    masters {192.168.0.254; };
    file "/var/lib/bind/db.toto.com";
    notify yes;
};
zone "0.168.192.in-addr.arpa" {
    type slave;
    masters {192.168.0.254; };
    file "/var/lib/bind/db.192.168.0";
};

Je n'ai pas touché aux autres fichiers. Sur le master, j'ai indiqué mon slave. Les fichiers var/lib/bind/db.toto.com et var/lib/bind/db.192.168.0 sont automatiquement crées.
SI je change la configuration de mon poste client et que j'indique ce nouveau DNS comme DNS principale tout fonctionne....
Le truc qui me dérange, c'est quand je fais un :

 named-checkzone -d toto.com /var/lib/bind/db.toto.com

root@dnssrv:/etc/bind# named-checkzone -d toto.com /var/lib/bind/db.toto.com
loading "toto.com" from "/var/lib/bind/db.toto.com" class "IN"
dns_master_load: /var/lib/bind/db.toto.com:1: syntax error
dns_master_load: /var/lib/bind/db.toto.com:1: syntax error
dns_master_load: /var/lib/bind/db.toto.com:1: syntax error
/var/lib/bind/db.toto.com:2: unknown RR type 'masterlantotocom'
dns_master_load: /var/lib/bind/db.toto.com:6: syntax error
dns_master_load: /var/lib/bind/db.toto.com:6: syntax error
dns_master_load: /var/lib/bind/db.toto.com:6: syntax error
dns_master_load: /var/lib/bind/db.toto.com:6: syntax error
dns_master_load: /var/lib/bind/db.toto.com:8: unexpected end of line
dns_master_load: /var/lib/bind/db.toto.com:7: unexpected end of input
dns_master_load: /var/lib/bind/db.toto.com:8: syntax error
dns_master_load: /var/lib/bind/db.toto.com:8: syntax error
dns_master_load: /var/lib/bind/db.toto.com:41: syntax error
dns_master_load: /var/lib/bind/db.toto.com:41: syntax error
dns_master_load: /var/lib/bind/db.toto.com:41: syntax error
dns_master_load: /var/lib/bind/db.toto.com:41: syntax error
dns_master_load: /var/lib/bind/db.toto.com:41: isc_lex_gettoken() failed: unbalanced parentheses
dns_master_load: /var/lib/bind/db.toto.com:41: unbalanced parentheses
/var/lib/bind/db.toto.com: file does not end with newline
zone toto.com/IN: loading from master file /var/lib/bind/db.toto.com failed: syntax error
zone toto.com/IN: not loaded due to errors.
root@dnssrv:/etc/bind#

Le fichier db.toto.com est un binaire, donc il m'est pas possible de le lire via vi et corriger les erreurs de syntaxe.

Avez vous des idées ?

Hors ligne

#2 Le 19/01/2015, à 10:41

tiramiseb

Re : zone totocom/IN: not loaded due to errors.

Salut,

Le fichier db.toto.com est un binaire [...] Avez vous des idées ?

Oui, j'ai une idée. Ton fichier "db.toto.com" est un binaire alors que le format attendu n'est pas binaire.
Cette commande est là pour valider qu'un fichier de configuration textuel est correct et sera reconnu par Bind9.

Si tu veux vérifier la conformité de ce fichier avec ta zone, tu peux le convertir au format texte :
https://kb.isc.org/article/AA-00608/0/C … rmats.html

Cela étant dit, il n'y a pas de raison qu'une zone soit différente entre le slave et le master...

Hors ligne

#3 Le 19/01/2015, à 10:43

djedje68

Re : zone totocom/IN: not loaded due to errors.

Merci tiramiseb pour la réponse.
Mais pourquoi BIND crée un binaire ? Car c'est lui qui crée ce fichier non ? ou j'ai mal fais ma configuration ?

Merci,

Hors ligne

#4 Le 19/01/2015, à 10:47

tiramiseb

Re : zone totocom/IN: not loaded due to errors.

Le slave récupère les données de zone du master, puis il les stocke, telles quelles, en binaire.
Ce fichier qu'il crée, c'est juste la copie de la config de ton master.
Si je me rappelle bien, à une époque il les stockait en texte, je ne sais pas pourquoi ça a changé : peut-être pour améliorer les performances.

Hors ligne

#5 Le 19/01/2015, à 10:50

jplemoine

Re : zone totocom/IN: not loaded due to errors.

Je me pose une question : 
- pourquoi le fichier de zone est dans /var/lib ? (lib, c'est pas pour les librairies qui sont effectivement du binaire ?)
- Je ne pense pas mais est-ce que ça peut avoir une influence ? ou pas ?


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#6 Le 19/01/2015, à 10:55

tiramiseb

Re : zone totocom/IN: not loaded due to errors.

jplemoine a écrit :

- pourquoi le fichier de zone est dans /var/lib ?

les configurations des zones sont historiquement placées dans /var/lib/bind.
Personnellement je préfère les mettre dans /etc/bind (voire /etc/bind/zones), mais parfois on ne peut pas lutter contre une habitude qui dure depuis des dizaines d'années tongue
(c'est comme pour les données des sites qui sont dans /var/www alors que ça devrait être dans /srv : c'est historique...)var

Cela étant dit, quand on est sur un slave alors /var/lib/bind est tout à fait cohérent car ce sont des données gérées automatiquement, ce ne sont plus des fichiers de configuration en tant que tels.

jplemoine a écrit :

lib, c'est pas pour les librairies qui sont effectivement du binaire ?

/usr/lib contient les bibliothèques (pas librairies), qui sont effectivement des données binaires, exécutables.
/var/lib contient les données variables des bibliothèques ; ces données ne sont pas nécessairement binaires elles-mêmes.

jplemoine a écrit :

- Je ne pense pas mais est-ce que ça peut avoir une influence ? ou pas ?

Changer le répertoire aurait une influence sur le format de fichier ? Vraiment ? big_smile

Dernière modification par tiramiseb (Le 19/01/2015, à 10:56)

Hors ligne

#7 Le 19/01/2015, à 10:58

tiramiseb

Re : zone totocom/IN: not loaded due to errors.

tiramiseb a écrit :

Si je me rappelle bien, à une époque il les stockait en texte, je ne sais pas pourquoi ça a changé : peut-être pour améliorer les performances.

Après recherche, en effet il s'agit d'une histoire de performance : lors du démarrage de Bind, la lecture du format binaire (raw) est deux fois plus rapide que la lecture du format textuel. Pour des petites zones, ça ne se ressent pas. Mais quand il y a des centaines, voire des milliers ou des dizaines de milliers d'entrées, ça peut commencer à avoir un impact.

Hors ligne

#8 Le 19/01/2015, à 11:07

jplemoine

Re : zone totocom/IN: not loaded due to errors.

Sébastien, merci pour tes réponses.
Pour le problème, je n'ai qu'un serveur avec bind (donc pas de réplique).
Sur mon serveur, pour la zone (zone locale non propagée sur internet), il y a 2 fichiers
db.xxx : c'est un fichier texte
db.xxx.jnl : c'est un fichier binaire créé par bind
Dans la configuration (named.conf.local), on indique le fichier texte.
La réplique devrait faire la même chose, non ?


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#9 Le 19/01/2015, à 11:12

tiramiseb

Re : zone totocom/IN: not loaded due to errors.

jplemloine a écrit :

La réplique devrait faire la même chose, non ?

Tu as lu mon message #4 ?
Celui où j'explique à djedje68 que sur un slave ce sont les données telles quelles, en raw, qui sont stockées, et non leur représentation textuelle ?

Hors ligne

#10 Le 19/01/2015, à 11:46

djedje68

Re : zone totocom/IN: not loaded due to errors.

En tout cas merci pour les infos!

Hors ligne

#11 Le 19/01/2015, à 12:15

tiramiseb

Re : zone totocom/IN: not loaded due to errors.

Pas de quoi.

En résumé : pas d'inquiétude, tout ceci est normal wink

Hors ligne

#12 Le 19/01/2015, à 12:16

djedje68

Re : zone totocom/IN: not loaded due to errors.

Oui voilà c'est ça!
C'est juste dommage que la commande check ne serve à rien au final quand le serveur est slave..

Hors ligne

#13 Le 19/01/2015, à 12:19

tiramiseb

Re : zone totocom/IN: not loaded due to errors.

En même temps, cette commande est faite pour vérifier que tu n'as pas fait de faute dans la définition de ta zone. À partir du moment où c'est une zone récupérée d'un master, c'est sur le master qu'il faut vérifier que la zone est OK smile

Hors ligne

#14 Le 19/01/2015, à 12:43

jplemoine

Re : zone totocom/IN: not loaded due to errors.

tiramiseb a écrit :

Celui où j'explique à djedje68 que sur un slave ce sont les données telles quelles, en raw, qui sont stockées, et non leur représentation textuelle ?

Si mais je trouve ça illogique : ça veut dire que le même nom de fichier n'a pas le même contenu en fonction que l'on soit un "master" ou un "slave".
Je pensais que le "slave" était  une réplique exacte du master (sauf l'indication master/slave).


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#15 Le 19/01/2015, à 12:45

tiramiseb

Re : zone totocom/IN: not loaded due to errors.

Je pensais que le "slave" était  une réplique exacte du master (sauf l'indication master/slave).

Oui, les données sont les mêmes. Le contenu "logique" est le même.
Ce n'est "juste" pas le même format, pour une question de performance.

Hors ligne