Bind9 Failed to sart

Ah, essaie plutôt la commande suivante :

netstat -lup

Il me semble que ça ne fonctionne pas, si la commande ne renvoie aucun résultat, donne-nous le retour de cette commande à la place :

grep '00000000:0035' /proc/net/udp*

Pourquoi cela ne fonctionerait pas si netstat est présent (paquet net-tools installé) et exécuté en root (pour l’option -p) ? J’ajouterais néamoins l’option -n pour ne pas résoudre les adresses et ports en noms. Sinon, on peut utiliser la commande ss à la place, avec à peu près les mêmes options.

A moins que ça ait changé (et les logs indiquent le contraire), BIND ouvre une socket distincte pour chaque adresse IPv4 locale éligible par la directive listen-on et non une socket unique pour n’importe quelle adresse (0.0.0.0) donc cette commande n’affichera rien. Il vaudrait mieux ne mettre que ':0035'.

En fait, j’ai eu beaucoup de problème à faire fonctionner la commande netstat pour l’UDP, je ne m’y fie donc plus, mais il se trouve que ça fonctionne de nouveau.

Ah oui, je n’ai pas fait gaffe, ça ne fonctionne chez moi que pour les adresses en IPv6.

Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat                                                                                                                     PID/Program name
udp        0      0 0.0.0.0:mdns            0.0.0.0:*                                                                                                                                        382/avahi-daemon: r
udp        0      0 0.0.0.0:36444           0.0.0.0:*                                                                                                                                        382/avahi-daemon: r
udp        0      0 serveurLDAP.domain:ntp 0.0.0.0:*                                                                                                                                        3515/ntpd
udp        0      0 localhost:ntp           0.0.0.0:*                                                                                                                                        3515/ntpd
udp        0      0 0.0.0.0:ntp             0.0.0.0:*                                                                                                                                        3515/ntpd
udp6       0      0 [::]:mdns               [::]:*                                                                                                                                           382/avahi-daemon: r
udp6       0      0 [::]:46528              [::]:*                                                                                                                                           382/avahi-daemon: r
udp6       0      0 serveurLDAP:ntp         [::]:*                                                                                                                                           3515/ntpd
udp6       0      0 localhost:ntp           [::]:*                                                                                                                                           3515/ntpd
udp6       0      0 [::]:ntp                [::]:*                                                                                                                                           3515/ntpd

La commande

grep '00000000:0035' /proc/net/udp*

n’a donné aucune sortie

Desactive mdns qui ne te sert à rien ici.

D’accord

J’ai essayé ceci. Je crois qu’il y a plus de détails même si je ne comprend pas grand chose.

named -g
29-Dec-2021 15:00:27.163 starting BIND 9.11.5-P4-5.1+deb10u6-Debian (Extended Support Version) <id:998753c>
29-Dec-2021 15:00:27.164 running on Linux x86_64 4.19.0-18-amd64 #1 SMP Debian 4.19.208-1 (2021-09-29)
29-Dec-2021 15:00:27.165 built with '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=/usr/include' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=/usr/lib/x86_64-linux-gnu' '--libexecdir=/usr/lib/x86_64-linux-gnu' '--disable-maintainer-mode' '--disable-dependency-tracking' '--libdir=/usr/lib/x86_64-linux-gnu' '--sysconfdir=/etc/bind' '--with-python=python3' '--localstatedir=/' '--enable-threads' '--enable-largefile' '--with-libtool' '--enable-shared' '--enable-static' '--with-gost=no' '--with-openssl=/usr' '--with-gssapi=/usr' '--disable-isc-spnego' '--with-libidn2' '--with-libjson=/usr' '--with-lmdb=/usr' '--with-gnu-ld' '--with-geoip=/usr' '--with-atf=no' '--enable-ipv6' '--enable-rrl' '--enable-filter-aaaa' '--enable-native-pkcs11' '--with-pkcs11=/usr/lib/softhsm/libsofthsm2.so' '--with-randomdev=/dev/urandom' '--enable-dnstap' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/bind9-gHNcz0/bind9-9.11.5.P4+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -fno-strict-aliasing -fno-delete-null-pointer-checks -DNO_VERSION_DATE -DDIG_SIGCHASE' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'
29-Dec-2021 15:00:27.165 running as: named -g
29-Dec-2021 15:00:27.166 compiled by GCC 8.3.0
29-Dec-2021 15:00:27.166 compiled with OpenSSL version: OpenSSL 1.1.1d  10 Sep 2019
29-Dec-2021 15:00:27.166 linked to OpenSSL version: OpenSSL 1.1.1d  10 Sep 2019
29-Dec-2021 15:00:27.166 compiled with libxml2 version: 2.9.4
29-Dec-2021 15:00:27.166 linked to libxml2 version: 20904
29-Dec-2021 15:00:27.166 compiled with libjson-c version: 0.12.1
29-Dec-2021 15:00:27.166 linked to libjson-c version: 0.12.1
29-Dec-2021 15:00:27.166 threads support is enabled
29-Dec-2021 15:00:27.166 ----------------------------------------------------
29-Dec-2021 15:00:27.166 BIND 9 is maintained by Internet Systems Consortium,
29-Dec-2021 15:00:27.166 Inc. (ISC), a non-profit 501(c)(3) public-benefit
29-Dec-2021 15:00:27.166 corporation.  Support and training for BIND 9 are
29-Dec-2021 15:00:27.166 available at https://www.isc.org/support
29-Dec-2021 15:00:27.166 ----------------------------------------------------
29-Dec-2021 15:00:27.166 found 1 CPU, using 1 worker thread
29-Dec-2021 15:00:27.166 using 1 UDP listener per interface
29-Dec-2021 15:00:27.167 using up to 4096 sockets
29-Dec-2021 15:00:27.169 loading configuration from '/etc/bind/named.conf'
29-Dec-2021 15:00:27.170 reading built-in trust anchors from file '/etc/bind/bind.keys'
29-Dec-2021 15:00:27.170 initializing GeoIP Country (IPv4) (type 1) DB
29-Dec-2021 15:00:27.170 GEO-106FREE 20181108 Build
29-Dec-2021 15:00:27.170 initializing GeoIP Country (IPv6) (type 12) DB
29-Dec-2021 15:00:27.170 GEO-106FREE 20181108 Build
29-Dec-2021 15:00:27.170 GeoIP City (IPv4) (type 2) DB not available
29-Dec-2021 15:00:27.170 GeoIP City (IPv4) (type 6) DB not available
29-Dec-2021 15:00:27.170 GeoIP City (IPv6) (type 30) DB not available
29-Dec-2021 15:00:27.170 GeoIP City (IPv6) (type 31) DB not available
29-Dec-2021 15:00:27.170 GeoIP Region (type 3) DB not available
29-Dec-2021 15:00:27.170 GeoIP Region (type 7) DB not available
29-Dec-2021 15:00:27.171 GeoIP ISP (type 4) DB not available
29-Dec-2021 15:00:27.171 GeoIP Org (type 5) DB not available
29-Dec-2021 15:00:27.171 GeoIP AS (type 9) DB not available
29-Dec-2021 15:00:27.171 GeoIP Domain (type 11) DB not available
29-Dec-2021 15:00:27.171 GeoIP NetSpeed (type 10) DB not available
29-Dec-2021 15:00:27.171 using default UDP/IPv4 port range: [32768, 60999]
29-Dec-2021 15:00:27.171 using default UDP/IPv6 port range: [32768, 60999]
29-Dec-2021 15:00:27.172 listening on IPv6 interfaces, port 53
29-Dec-2021 15:00:27.172 listening on IPv4 interface lo, 127.0.0.1#53
29-Dec-2021 15:00:27.173 listening on IPv4 interface enp0s3, 192.168.2.240#53
29-Dec-2021 15:00:27.173 generating session key for dynamic DNS
29-Dec-2021 15:00:27.173 sizing zone task pool based on 5 zones
29-Dec-2021 15:00:27.174 Loading 'DOMAIN.lan' using driver dlopen
ldb: unable to dlopen /usr/lib/x86_64-linux-gnu/samba/ldb/acl.so : /usr/lib/x86_64-linux-gnu/samba/libmessages-dgm-samba4.so: symbol smb_strtoul version SAMBA_UTIL_0.0.1 not defined in file libsamba-util.so.0 with link time reference
ldb: unable to dlopen /usr/lib/x86_64-linux-gnu/samba/ldb/aclread.so : /usr/lib/x86_64-linux-gnu/samba/libmessages-dgm-samba4.so: symbol smb_strtoul version SAMBA_UTIL_0.0.1 not defined in file libsamba-util.so.0 with link time reference
ldb: unable to dlopen /usr/lib/x86_64-linux-gnu/samba/ldb/anr.so : /usr/lib/x86_64-linux-gnu/samba/libsamba-sockets-samba4.so: symbol smb_strtoul version SAMBA_UTIL_0.0.1 not defined in file libsamba-util.so.0 with link time reference
ldb: module version mismatch in ../../lib/ldb/modules/asq.c : ldb_version=1.4.6 module_version=2.3.0
ldb: failed to initialise module /usr/lib/x86_64-linux-gnu/samba/ldb/asq.so : Unavailable
Erreur de segmentation (core dumped)

Vu que bind ne fonctionne pas du tout j’ai pensé à faire
apt-get purge bind9 && sudo apt-get install --reinstall bind9.
je crains des dépendances avec samba et donc des problèmes de connexion pour les utilisateurs. Qu’en pensez-vous ?

Peut-être un conflit de versions entre bibliothèques de samba.
Je ne trouve pas les fichiers libmessages-dgm-samba4.so ni libsamba-sockets-samba4.so dans les paquets Debian. Il faudrait chercher à quel paquet ils appartiennent.

dpkg -S /usr/lib/x86_64-linux-gnu/samba/libmessages-dgm-samba4.so
dpkg -S /usr/lib/x86_64-linux-gnu/samba/libsamba-sockets-samba4.so
symbol smb_strtoul version SAMBA_UTIL_0.0.1 not defined in file libsamba-util.so.0 with link time reference

Je me trompe peut être mais ça ressemble à l’erreur GSKICCS not defined in file libgsk7iccs_64.so with link time reference

Donc j’ai fait

find / -name libsamba-util.so.0
sortie:

/home/ldap/samba-4.14.5/bin/default/lib/util/libsamba-util.so.0
/home/ldap/samba-4.14.5/bin/shared/libsamba-util.so.0
/usr/lib/x86_64-linux-gnu/libsamba-util.so.0

Et je pensais faire

nano /etc/bash.bashrc

Puis rajouter une ligne similaire à

export LD_LIBRARY_PATH=/usr/local/ibm/gsk8_64/lib64:$LD_LIBRARY_PATH

D’accord, voici les sorties

root@serveurLDAP:~# dpkg -S /usr/lib/x86_64-linux-gnu/samba/libmessages-dgm-samba4.so
dpkg-query: avertissement: le fichier contenant la liste des fichiers du paquet « libpaper1:amd64 » étant manquant, il est considéré qu'aucun fichier du paquet n'est actuellement installé
dpkg-query: aucun chemin ne correspond à /usr/lib/x86_64-linux-gnu/samba/libmessages-dgm-samba4.so
root@serveurLDAP:~# 
root@serveurLDAP:~# dpkg -S /usr/lib/x86_64-linux-gnu/samba/libsamba-sockets-samba4.so
dpkg-query: avertissement: le fichier contenant la liste des fichiers du paquet « libpaper1:amd64 » étant manquant, il est considéré qu'aucun fichier du paquet n'est actuellement installé
dpkg-query: aucun chemin ne correspond à /usr/lib/x86_64-linux-gnu/samba/libsamba-sockets-samba4.so

Comment as-tu installé Samba?

Bind9 n’a normalement pas de dépendances vis-à-vis de samba, donc je suis étonné de la relation qu’il y a chez toi.

Quels sont les fichiers de conf concernés?
Pourquoi y-a-t-il ce lien entre samba et bind9?

:sneezing_face: Ce n’est pas moi qui ai fait l’installation. J’ai juste accès à l’historique

40  wget https://download.samba.org/pub/samba/samba-latest.tar.gz
41  tar zxvf samba-latest.tar.gz
42  apt-get install bind9
43  /etc/bind/named.conf.options
44  nano /etc/bind/named.conf.options
45  /etc/bind/named.conf.local
46  nano /etc/bind/named.conf.local
47  nano /etc/default/bind9
48  nano /etc/samba/smb.conf
49  ls
50  cd samba-4.14.4
51  ./configure --prefix=/usr --exec-prefix=/usr --enable-fhs --libdir=/usr/lib/x86_64-linux-gnu --sysconfdir=/etc --localstatedir=/var --with-systemd --systemd-install-services --with-systemddir=/etc/systemd/system --systemd-smb-extra=NotifyAccess=all --systemd-nmb-extra=NotifyAccess=all --systemd-winbind-extra=NotifyAccess=all --systemd-samba-extra=NotifyAccess=all --with-lockdir=/var/run/samba --enable-selftest
52  make -j && make -j install
53  nano /etc/samba/smb.conf
54  apt-mark hold samba
55  apt-mark showhold
56  apt search ^samba$
57  samba --version
58  samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=SAMBA_INTERNAL \
59  samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=BIND9_DLZ
60  samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=BIND9_DLZ\ --realm=DOMAIN.PRO --domain=DOMAIN
61  samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=BIND9_DLZ --realm=DOMAIN.PRO --domain=DOMAIN
62  nano /etc/samba/smb.conf
63  mkdir /var/lib/samba/bind-dns
64  mkdir /var/lib/samba/bind-dns/dns
65  systemctl restart samba-ad-dc
66  systemctl restart bind9
67  netstat -tapn | grep 53

Bon ben voilà.

celui qui a installé samba n’a pas utilisé les packages Debian. mauvaise idée fondamentalement.
Qui plus est quelle est la configuration du DNS? les fichiers de conf?
Car la moindre des choses est d’installer Bond9 puis de s’assurer qu’l marche correctement, ensuite d’installer samba et de s’assurer qu’il marche correctement, enfin de faire le lien entre samba et le DNS j’imagine pour mettre à jour des entrées DNS automatiquement.

Quelles entrées d’ailleurs? car si ce sont les machines clientes qui viennent mettre à jour, c’est une mauvaise idée, car cela ouvre à des risques de sécurité.

Apparement, on dirait que le but était de faire un Active Directory avec Linux?

Oui c’est exactement ça : un montage samba-AD.
J’ai jeté un oeil aux confs

named.conf.default-zones
// prime the server with knowledge of the root servers
zone "." {
        type hint;
        file "/usr/share/dns/root.hints";
};

// 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";
};


cat named.conf.local
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

dlz "DOMAIN.pro.lan" {
# For BIND 9.11
database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_11.so";
};



cat named.conf.options
options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        forwarders {
        192.168.2.1;
        };

        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        dnssec-validation auto;

        allow-query {  192.168.2.0/24;192.168.3.0/24;10.8.0.0/24;};

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };

        tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";

        minimal-responses yes;
};

La librairie dlz est-elle correctement fonctionnelle? car je pense que c’st là qu’est le problème.

ensuite, DOMAIN.pro.lan n’a pas de zone définie.

Peux tu m’expliquer comment tester sa fonctionnalité stp ?
Est ce que ceci a rapport avec la définition de la zone ?

cat zones.rfc1918
zone "10.in-addr.arpa"      { type master; file "/etc/bind/db.empty"; };
zone "16.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "17.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "18.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "19.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "20.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "21.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "22.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "23.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "24.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "25.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "26.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "27.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "28.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "29.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "30.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "31.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };

Bonjour, alors après plusieurs tests, et plusieurs semaines de recherches j’ai finalement trouvé la solution.
Comme samba n’a pas été installé à partir des dépôts de debian ce qui a marché c’est de faire une maj sans passer par ceux-ci:

Il a fallu arrêter le Service Samba sur l’ensemble des Contrôleurs de Domaine.

systemctl stop samba.service
wget https://download.samba.org/pub/samba/samba-latest.tar.gz 
tar zxvf samba-latest.tar.gz 

Compiler et Installer la nouvelle version de Samba

cd samba-<la version>
./configure --prefix=/usr --exec-prefix=/usr --enable-fhs --libdir=/usr/lib/x86_64-linux-gnu --sysconfdir=/etc --localstatedir=/var --with-systemd --systemd-install-services --with-systemddir=/etc/systemd/system --systemd-smb-extra=NotifyAccess=all --systemd-nmb-extra=NotifyAccess=all --systemd-winbind-extra=NotifyAccess=all --systemd-samba-extra=NotifyAccess=all --with-lockdir=/var/run/samba --enable-selftest
make -j && make -j install

Démarrer le service Samba

systemctl daemon-reload
systemctl start samba.service
samba-tool processes
systemctl restart bind9 
systemctl restart ntp

-Vérification de l’intégrité de la base de données :

samba-tool dbcheck --cross-ncs

Et voilà problèmes réglés. Je vous remercie pour vos contributions et je mets le sujet en résolu :smile:

Le souci, c’est que si des paquets samba de Debian sont installés, le problème risque de se reproduire à la prochaine mise à jour.