Impossible de joindre un domaine

Bonjour

J’essaie depuis 2 jours de joindre un domaine Active Directory (de Windows 2003 SP2, qui possède 4 contrôleurs. J’ai essayé avec 2 différents…).

J’arrive pourtant à obtenir un ticket Kerberos.

Ma version de debian (qui est dans une VM sur un serveur ESXi) :

root@(none):~# uname -r 2.6.32-5-686

/etc/samba/smb.conf

[code][global]
workgroup = ADM
realm = ADM.SB1
security = ads
encrypt passwords = yes

password server = datix.adm.sb1

idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes[/code]

/etc/krk5.conf

[code][logging]
default = FILE10000:/var/log/krb5lib.log

[libdefaults]
default_realm = ADM.SB1
clock_skew = 300
ticket_lifetime = 24000
default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc rc4-hmac des-cbc-crc des-cbc-md5
default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc rc4-hmac des-cbc-crc des-cbc-md5
dns_lookup_realm = false
dns_lookup_kdc = true

[realms]
ADM.SB1 = {
kdc = theorix.adm.sb1
admin_server = theorix.adm.sb1
default_domain = ADM.SB1
}

[domain_realm]
.adm = ADM
adm = ADM[/code]

/etc/hostname

/etc/nsswitch.conf

[code]passwd: compat winbind
group: compat winbind
shadow: compat

hosts: files dns wins
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis[/code]

/etc/resolv.conf

Ping du DC

root@(none):~# ping theorix PING theorix (192.168.1.236) 56(84) bytes of data. 64 bytes from theorix.adm.sb1 (192.168.1.236): icmp_req=1 ttl=128 time=0.185 ms

Connectivité AD

[code]root@(none):~# kinit Administrateur
Password for Administrateur@ADM.SB1:
root@(none):~# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrateur@ADM.SB1

Valid starting Expires Service principal
10/10/11 08:59:44 10/10/11 15:39:44 krbtgt/ADM.SB1@ADM.SB1[/code]

Tentative d’adhésion

root@(none):~# net ads join -U Administrateur Enter Administrateur's password: [color=#FF0000]Failed to join domain: failed to set machine spn: Time limit exceeded[/color]

ntpdate n’arrive pas à se synchroniser, mais je n’ai que 7 secondes d’écart entre les serveurs.

root@(none):~# ntpdate 192.168.1.239 10 Oct 09:12:20 ntpdate[1509]: no server suitable for synchronization found

Pourquoi je n’arrive pas à joindre le domaine ?
J’en ai besoin pour suivre ce tuto de proxy authentifiés par AD.
Merci d’avance.

PS: je n’ai jamais réussi à installer les paquets kerberos et cie avec apt-get. J’ai téléchargé les *.deb et installés avec dpkg -i, puis un apt-get -f install final.

Bonjour,

Il serait bien de synchroniser au niveau du temps.

Le serveur que tu utilises est-t-il serveur de temps ?

Sinon utilises l’option -d|–debuglevel=level pour la commande net pour augmenter le niveau de trace.

Renseigne dans hosts l’adresse ip de ton hôte.

Sinon je vois que que tu n’utilises pas le même hôte pour le dc pour krb5.conf(kdc=) et smb.conf (password server=).

A+

Merci pour ta réponse.

Tout d’abord, nous avons plusieurs serveurs (datix, theorix…) qui sont contrôleurs de domaine AD. Les rôles FSMO sont tous accordés à datix.

FSMO :

select operation target: list roles for connected server Le serveur "datix" est informé de 5 rôles Schéma - CN=NTDS Settings,CN=DATIX,CN=Servers,CN=Premier-Site-par-defaut,CN=Site s,CN=Configuration,DC=adm,DC=sb1 Domaine - CN=NTDS Settings,CN=DATIX,CN=Servers,CN=Premier-Site-par-defaut,CN=Sit es,CN=Configuration,DC=adm,DC=sb1 PDC - CN=NTDS Settings,CN=DATIX,CN=Servers,CN=Premier-Site-par-defaut,CN=Sites,C N=Configuration,DC=adm,DC=sb1 RID - CN=NTDS Settings,CN=DATIX,CN=Servers,CN=Premier-Site-par-defaut,CN=Sites,C N=Configuration,DC=adm,DC=sb1 Infrastructure - CN=NTDS Settings,CN=DATIX,CN=Servers,CN=Premier-Site-par-defaut ,CN=Sites,CN=Configuration,DC=adm,DC=sb1
Du coup, je ne sais pas comment savoir si un serveur est serveur de temps ou pas.

J’ai modifié krb5.conf pour pointer vers theorix.

/etc/hosts

[code]#127.0.0.1 localhost
#192.168.1.8 proxytest

The following lines are desirable for IPv6 capable hosts

::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

192.168.1.239 datix
192.168.1.236 theorix[/code]

Depuis mon Windows 7 adhéré au domaine :

[code]C:\Users\cedric.ADM>w32tm /monitor
Obtention de la liste de contrôleurs de domaine Active Directory pour le domaine
datix.adm.sb1 *** PDC ***[192.168.1.239:123]:
ICMP: 0ms retard
NTP: +0.0000000s Décalage de datix.adm.sb1
RefID: ‘LOCL’ [0x4C434F4C]
Couche: 1
THEORIX.adm.sb1 *** PDC ***[192.168.1.236:123]:
ICMP: 0ms retard
NTP: -0.0017361s Décalage de datix.adm.sb1
RefID: datix.adm.sb1 [192.168.1.239]
Couche: 2
idefix.adm.sb1 *** PDC *** [erreur WSAHOST_NOT_FOUND]
AD3-SBF.adm.sb1 *** PDC ***[192.168.2.239:123]:
ICMP: 21ms retard
NTP: -0.0039960s Décalage de datix.adm.sb1
RefID: datix.adm.sb1 [192.168.1.239]
Couche: 2

Attention :
La résolution de nom inverse est conseillée. Une erreur peut
se produire car le champ d’ID de référence des paquets de temps diffère entre
les implémentations NTP et peut ne pas utiliser les adresses IP.[/code]

Mes tentatives de ntpdate ont toutes échouées (vers datix/theorix via leur IP, via leur nom netbios, via leur nom FQDN, même après les avoir ajoutés dans hosts).

La commande net ads join -U Administrateur --debuglevel=1 à renvoyé

root@(none):~# net ads join -U Administrateur --debuglevel=1 Enter Administrateur's password: [2011/10/13 08:37:12.637190, 1] libnet/libnet_join.c:1947(libnet_Join) libnet_Join: libnet_JoinCtx: struct libnet_JoinCtx in: struct libnet_JoinCtx dc_name : NULL machine_name : '(NONE)' domain_name : * domain_name : 'ADM.SB1' account_ou : NULL admin_account : 'Administrateur' admin_password : * machine_password : NULL join_flags : 0x00000023 (35) 0: WKSSVC_JOIN_FLAGS_IGNORE_UNSUPPORTED_FLAGS 0: WKSSVC_JOIN_FLAGS_JOIN_WITH_NEW_NAME 0: WKSSVC_JOIN_FLAGS_JOIN_DC_ACCOUNT 0: WKSSVC_JOIN_FLAGS_DEFER_SPN 0: WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED 0: WKSSVC_JOIN_FLAGS_JOIN_UNSECURE 1: WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED 0: WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE 0: WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE 1: WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE 1: WKSSVC_JOIN_FLAGS_JOIN_TYPE os_version : NULL os_name : NULL create_upn : 0x00 (0) upn : NULL modify_config : 0x00 (0) ads : NULL debug : 0x01 (1) use_kerberos : 0x00 (0) secure_channel_type : SEC_CHAN_WKSTA (2) [2011/10/13 08:37:12.983183, 1] libnet/libnet_join.c:1978(libnet_Join) libnet_Join: libnet_JoinCtx: struct libnet_JoinCtx out: struct libnet_JoinCtx account_name : NULL netbios_domain_name : 'ADM' dns_domain_name : 'adm.sb1' forest_name : 'adm.sb1' dn : NULL domain_sid : * domain_sid : S-1-5-21-2142639626-767165437-31661 7838 modified_config : 0x00 (0) error_string : 'failed to set machine spn: Time limit exceeded' domain_is_ad : 0x01 (1) result : WERR_GENERAL_FAILURE Failed to join domain: failed to set machine spn: Time limit exceeded

J’ai essayé en forçant le paramètre “-S datix.adm.sb1” ou avec theorix, rien ne change.

Est-ce normal que j’ai machine_name = ‘(NONE)’ ?

En effet, quand on regarde mon prompt, j’ai :

et hostname renvoi i[/i].
J’ai changé le nom de la machine et rebooté.

Au reboot, j’ai perdu le nom de la machine proxytest, puisque le prompt n’a pas changé (et je ne connais pas bien la syntaxe de /etc/hostname)
Je refais un hostname proxytest.
J’adhère et ça change le résultat:

root@(none):/etc# net ads join -U Administrateur -S datix.adm.sb1 Enter Administrateur's password: Using short domain name -- ADM Joined 'PROXYTEST' to realm 'adm.sb1' [2011/10/13 08:51:36.158296, 0] libads/kerberos.c:333(ads_kinit_password) kerberos_kinit_password PROXYTEST$@ADM.SB1 failed: Client not found in Kerberos database No DNS domain configured for proxytest. Unable to perform DNS Update. DNS update failed!

En vérifiant dans la console Computer d’AD, j’ai bien proxytest, mais également i[/i] !

root@(none):/etc# net ads testjoin Join is OK

Je vais continuer le tuto et voir si ça bloque quelque part… merci !

Salut

Si tu as déja ceci:

Ce qu’il faut c’est un:

Après redémarrage, vérifie:

# wbinfo -u
[liste des utilisateurs dans AD]
# wbinfo -g
[liste des groups dans AD]

Enfin:

# vim /etc/pam.d/common-auth
auth sufficient pam_winbind.so
# vim /etc/pam.d/common-account
account sufficient pam_winbind.so
# vim /etc/pam.d/common-session
session required pam_mkhomedir.so skel=/etc/skel umask=0022

Bon courage!

Merci de ta réponse.

Je rappel qu’après un reboot, ma machine perd son nom.

Quand j’ai vu qu’il y avait i[/i] et proxyTest dans ActiveDirectory, j’ai supprimé i[/i].

Juste après un reboot :

root@(none):~# net ads testjoin [2011/10/13 14:17:26.786567, 0] libads/kerberos.c:333(ads_kinit_password) kerberos_kinit_password (NONE)$@ADM.SB1 failed: Client not found in Kerberos database [2011/10/13 14:17:26.794205, 0] libads/kerberos.c:333(ads_kinit_password) kerberos_kinit_password (NONE)$@ADM.SB1 failed: Client not found in Kerberos database Join to domain is not valid: Improperly formed account name

Si je renomme la machine :

root@(none):~# hostname proxytest root@(none):~# net ads testjoin Join is OK

Liste des utilisateurs et groupes

root@(none):~# wbinfo -u (NONE)\nobody (NONE)\cedric root@(none):~# wbinfo -g root@(none):~#

Concernant pam, j’ajoute vos extraits à mes fichiers. Dois-je mettre en commentaire les lignes d’origines de ces fichiers ?

après reboot, vérifie le contenue de ton /etc/hostname.
S’il ny a rien, ajoute ton nom de machine puis:

# /etc/init.d/hostname.sh start

De nouveau, un reboot et lance ta commande:

# net ads testjoin

Bonjour,

Il faut absolument s’assurer que le nom d’hôte soit bien déclaré au niveau du dns (+ reverse) ,/etc/hosts et fichier /etc/hostname (echo nommachine>/etc/hostname).

samba et kerberos sont très sensible au nom d’hôte.

a+

Dans /etc/hostname, j’avais écris ça :

Et…

root@proxytest:~# /etc/init.d/hostname.sh start hostname: the specified hostname is invalid

Je me sens bête, pourquoi ai-je cru bon de mettre 127.0.0.1 proxytest.adm.sb1 proxytest ?

wbinfo -u et wbinfo -g fonctionne désormais !!

Merci ! Je vais pouvoir avancer !