Domaine samba4 avec Bind sur second serveur

Bonjour,

Je galère un peu, je connais la mise en place de Samba4, mais de son DNS un peu moins.

En fait, j’ai mon serveur 1 : Bind 9.8 qui fait DNS / DHCP.
Puis mon serveur 2 : Bientôt serveur Samba4, cependant celui-ci n’ayant qu’ 1 GO de RAM et 1GHz de proc, j’aimerais qu’il ne prenne pas en charge un second DNS inutilement…

Si j’installe samba4 depuis apt-get, il m’installe forcément bind9 sur le futur contrôleur… Si j’installe Samba4 depuis les sources, évidemment pas de logiciel Bind installé, mais comment dire qu’il doit me générer des zones AD sur le second serveur…
Ou alors peut-être faut-il que je rentre moi-même des enregistrements SRV dans le Bind du serveur 1 ??? J’espère pas quand même -_-’ …

Si quelqu’un a une idée, un lien, ou une réflexion…
Merci :slightly_smiling:

Hello :slightly_smiling:

Avant tout la bonne lecture est ici : wiki.samba.org/index.php/DNS
Si vous n’êtes pas à l’aise avec l’anglais, cette page explique que vous devez choisir un “moteur” DNS (qu’ils appellent “Backend”).
L’équipe de smb4 a intégré de façon native un résolveur DNS qu’ils appellent “Internal DNS” (mais qui fondamentalement s’appuie sur un Bind (je crois, pas sûr à 100%)). Ce DNS interne peut être changé par un Bind 9.7 minimum mais avec une configuration un peu spéciale. Voir cette page wiki.samba.org/index.php/Dns-backend_bind

Ce que je sais, pour l’avoir testé au boulot et pour avoir un tout petit peu la même architecture que vous, c’est que le soucis que nous avons eu c’est cette phrase dans la doc :

Pour nous c’était vraiment problématique avec la politique du “Un serveur, Un service” (virtualisé bien sûr…).
Pour l’avoir testé nous savons aussi que ce DNS “interne” est assez “opaque”. Bon j’exagère un peu…mais disons qu’en gros on ne peut pas bidouiller les zones comme un Bind maison. C’est le smb4 qui gère tout en interne.

Au boulot dans notre équipe, on se pose très sérieusement la question de cette approche de smb4. On a fais pas mal de test…
Et pour nous la meilleure solution que nous avons choisi et qui semble marcher (notre smb4 n’est pas en prod, juste en test) c’est la délégation de zone.

Nous avons comme vous un DHCP/DNS Bind dynamique qui marche bien : c’est à dire je fais une requête DHCP, je me présente avec mon nom “pc-bureau-3” et j’ai mon entrée DNS automatiquement. Si je fais un ping pc-bureau-3.monentreprise.lan je tombe sur son IP.
Pour le smb4 nous avons donc fait une délégation de zone de ce type :

zone "monentreprise.dom" { type forward; forward only; forwarders { 10.31.8.44; }; };
En sachant que 10.31.8.44 est l’ip du smb4. Et notre smb4 utilise son propre moteur DNS (backend), celui qu’ils appellent le “Internal DNS”. On a fait une installation assez classique…
L’avantage que nous avons retenue c’est que :
Une machine joint le réseau, elle peut résoudre google.fr avec nos résolveurs du lan qui sont récursifs (normal), elle peut résoudre une machine en “monentreprise.lan” mais je veux joindre le domaine smb4 “monentreprise.dom” alors notre Bind se tourne vers le smb4. Si le smb4 tombe, on peut continuer à surfer sur le net personne n’est impacté.

C’est le meilleur compromis que nous avons trouvé.

Je ne sais pas si j’ai répondu à vos questions mais j’ai pensé que notre retour d’expérience pouvait vous intéresser.

Cordialement,

Un grand merci pour votre réponse, j’ai un peu avancé dans mes tests depuis.

J’ai donc installé Samba4 avec Internal_DNS dans cette optique là, en me disant que cela fonctionnerait :

  • Le client récupère une IP et s’enregistre auprès de Bind9 sur SRV1.
  • Le client interroge en serveur DNS primaire : smb4 (donc ici, SRV2).
  • Je pensais que tout fonctionnerait en mettant en serveur primaire SRV2 (donc smb4), et en mettant la directive “dns forwarder = 192.168.X.X” dans smb.conf, avec évidemment l’adresse de SRV1.

Cependant, je m’aperçois que le Forwarder DNS que j’ai choisi lors du provisionning ne fonctionne absolument pas sous SMB4… (malgré plusieurs tests avec nslookup, dig, host…). On dirait qu’il ne trouve pas la directive ou qu’il ne l’applique pas (testparm trouve bien la directive).

Je vais donc peut-être plutôt essayer votre méthode, cependant l’ennui pour moi :

  • j’utilise le même nom de domaine sur mon serveur DNS et sur mon serveur SMB4.

Avez-vous du utiliser des noms de domaines différents sur vos deux serveurs ? J’imagine en fait que dans votre cas, monentreprise.dom n’est déclaré qu’en forward, votre Bind ne fait pas autorité sur cette zone ?

Après, vous avez raison, je crois que l’on ne peut pas gérer les zones manuellement facilement sur SMB4, notamment à cause de la commande “samba-tool dns” qui contient peu d’aide au final, je trouve…

Merci de vos conseils en tout cas ! :slightly_smiling:

Note : Je joins un schéma au cas où mes explications serait un peu trop en vrac.

Ok, ça fonctionne pour les deux zones, comme pour vous. Le Forward est bien fait de mon Bind vers SMB4.

J’ai donc monentreprise.priv pour la zone Active Directory sur SMB4, et sur mon Bind principal contenant ce forward conditionnel, je gère la zone monentreprise.fr.
Comme ça, l’Active Directory est bien joignable, vraiment merci beaucoup pour l’astuce.
Et ainsi, en effet pas de coupure pour les noms publics, on dispose malgré tout de 2 serveurs DNS.

En revanche, un léger souci sur la machine SMB4 :
I - Je ne pouvais rien résoudre de la zone monentreprise.fr, du coup j’ai ajouté ce qu’il fallait dans le resolv.conf et ça résout bien tout ce qu’il faut pour monentreprise.fr :
domain monentreprise.priv
search monentreprise.priv monentreprise.fr
nameserver 127.0.0.1
nameserver 192.168.2.10

(192.168.2.10 = SRV1 gérant monentreprise.fr).

II - Je gère la sécurité d’OpenSSH sur cette machine SMB4, avec la directive suivante : Allow Users user1@client1.*
J’autorise en fait seulement cet utilisateur à se connecter depuis le PC de l’Admin (quelque soit le nom de domaine ou l’IP de ce PC d’Admin, juste en ayant le bon nom).

Le problème : Cette machine m’interdit de me connecter en SSH, car n’arrivant pas à trouver le nom du PC de l’Admin avec 127.0.0.1, OpenSSH conserve mon IP en tant que Remote Host (je vois ça dans les logs détaillés).
Mais l’IP 192.168.X.X n’est pas autorisé dans la configuration d’OpenSSH… Donc Access Denied…

Pourtant, avec nslookup, ce serveur résout bien le nom du PC de l’Admin (enregistré dynamiquement dans SRV1, je le rappelle).
Je précise que cela fonctionnait avant que j’ai 2 nameserver dans le /etc/resolv.conf de cette machine…

Je ne sais pas si quelqu’un a une idée ?? Je suis un peu exigeant, je sais et ça sort un peu de la question initiale… :confused:

Merci !

Je suis content d’avoir pu vous aider.
Je ne vous cache pas que je n’ai pas la prétention de bien connaître smb4 et bind, et que cette réflexion sur smb4 me tiraille encore (“Faisons nous le bon choix ? Est ce que cette archi fonctionnera bien ?”).

Et le fait de vous voir rejoindre notre idée me conforte un peu. :slightly_smiling:
Merci pour votre retour à vous aussi.

Exactement, il passe directement la main à smb4.
Nous avons un domaine .lan pour toutes les machines du parc (j’entends par là un domaine DNS… (pas Active Directory)) et ce nouveau domaine .dom pour le smb4.

Concernant la sécurité SSH si vous avez des administrateurs nomades vous pouvez peut être exiger une restriction par cléf ssh ? Mais c’est très contraignant, je le concède.

Là pour le coup je laisse des membres plus expérimentés du forum faire des propositions.

Maintenant d’un point de vue sécurité je sais qu’il ne faut pas considérer le lan comme “trust” mais pour avoir éplucher les logs de connexion ssh sur tout nos linux en lan, je n’ai JAMAIS constaté d’accès par les utilisateurs. Au bénéfice du doute j’ai posé un fail2ban mais clairement…ça roupille…