Pages : 1
#1 Le 19/01/2015, à 09: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, à 09: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...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#3 Le 19/01/2015, à 09: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, à 09: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.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#5 Le 19/01/2015, à 09: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 ?
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#6 Le 19/01/2015, à 09:55
- tiramiseb
Re : zone totocom/IN: not loaded due to errors.
- 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
(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.
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.
- 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 ?
Dernière modification par tiramiseb (Le 19/01/2015, à 09:56)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#7 Le 19/01/2015, à 09:58
- tiramiseb
Re : zone totocom/IN: not loaded due to errors.
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.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#8 Le 19/01/2015, à 10: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 ?
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#9 Le 19/01/2015, à 10:12
- tiramiseb
Re : zone totocom/IN: not loaded due to errors.
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 ?
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#10 Le 19/01/2015, à 10: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, à 11: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
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#12 Le 19/01/2015, à 11: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, à 11: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
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#14 Le 19/01/2015, à 11:43
- jplemoine
Re : zone totocom/IN: not loaded due to errors.
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).
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#15 Le 19/01/2015, à 11: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.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
Pages : 1