Bug 25393 - Re-Join eines Samba 4 Servers
Re-Join eines Samba 4 Servers
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Samba4
UCS 3.0
Other Linux
: P5 normal (vote)
: UCS 3.1
Assigned To: Arvid Requate
Stefan Gohmann
: interim-3
Depends on:
Blocks: 28371 28373
  Show dependency treegraph
 
Reported: 2011-12-09 16:02 CET by Stefan Gohmann
Modified: 2012-12-12 21:08 CET (History)
1 user (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2011-12-09 16:02:50 CET
Ich habe einen Samba 4 Server mit den gleichen Daten nochmal installiert. Anschließend sehe ich die folgende Meldung in der Logdatei (log.samba):

[2011/12/09 15:09:47,  1] ../source4/auth/gensec/gensec_gssapi.c:612(gensec_gssapi_update)
  GSS server Update(krb5)(1) Update failed:  Miscellaneous failure (see text): Failed to find SLAVE493$@DEADLOCK49.LOCAL(kvno 
2) in keytab FILE:/etc/krb5.keytab (arcfour-hmac-md5)
[2011/12/09 15:09:48,  1] ../source4/auth/gensec/gensec_gssapi.c:612(gensec_gssapi_update)
  GSS server Update(krb5)(1) Update failed:  Miscellaneous failure (see text): Failed to find SLAVE493$@DEADLOCK49.LOCAL(kvno 
2) in keytab FILE:/etc/krb5.keytab (arcfour-hmac-md5)
Comment 1 Arvid Requate univentionstaff 2012-08-22 17:18:59 CEST
Das konnte ich bisher nicht nachstellen, dafür aber:

================================================================
Adding TXT record "_kerberos ARUCS3I8.QA" to zone arucs3i8.qa... done
ERR: (Attribute or value exists) "SINGLE-VALUE attribute operatingSystem on CN=SLAVE12,OU=Domain Controllers,DC=arucs3i8,DC=qa specified more than once" on DN CN=slave12,OU=Domain Controllers,DC=ARUCS3I8,DC=QA
Modified 0 records with 1 failures
Starting Samba 4 daemon: samba.
Adding dns-slave12 account
removing sAMAccountName=dns-slave12
Waiting for RID pool
Waiting for RID pool
Waiting for RID pool
Waiting for RID pool
================================================================

Man kann auf dem frisch neu gejointen Slave einfach keine Benutzer anlegen (Fehlermeldung scheint auf den erstem Blick nicht korrekt zu usein):
================================================================
root@slave12:~# samba-tool user add foo1 univention
ERROR(ldb): Failed to add user 'foo1':  - ../ldb_tdb/ldb_index.c:1189: Failed to re-index objectSid in CN=foo1,CN=Users,DC=arucs3i8,DC=qa - ../ldb_tdb/ldb_index.c:1121: unique index violation on objectSid in CN=foo1,CN=Users,DC=arucs3i8,DC=qa
================================================================

Wenn man im Joinscript --keep-existing entfernt, dann tritt dieses Problem nicht auf. Allerdings kann der Master nach diesem Reinstall den Slave nicht mehr per DRS-Replikation erreichen, Fehlermeldung von showrepl auf dem Master ist WERR_GENERAL_FAILURE und der slave zeigt keine outgoing connection. Im log.samba des Slave steht mehrfach:
====================================================================
[2012/07/03 17:31:36,  1] ../source4/auth/gensec/gensec_gssapi.c:612(gensec_gssapi_update)
  GSS server Update(krb5)(1) Update failed:  Miscellaneous failure (see text): Decrypt integrity check failed
====================================================================
Die Sitation löst sich durch restart von samba auf dem Master.
Comment 2 Arvid Requate univentionstaff 2012-08-23 19:20:42 CEST
Comment 1 bezieht sich auf ucs3.0-1 unter  UCS 3.1-0/beta4 konnte ich das noch nicht nachstellen.

Statt dessen konnte ich unter UCS 3.1-0 jetzt die Fehlermeldung aus der original Bug Description nachstellen. Anscheinend hat die gensec-Kommunikation zwischen Master und Slave noch nicht die aktuelle kvno, ein samba4 restart auf dem Master (!) behebt das Problem. Auf dem Master konnte ich im Fehlerzustand wiederholt auch eine Fehlfunktion von samba-tool drs showrepl beobachten:

root@master10:~# samba-tool drs showrepl
Default-First-Site-Name\MASTER10
DSA Options: 0x00000001
DSA object GUID: 574e4b59-3adf-48ad-8ba7-cd769c141ca4
DSA invocationId: 4f2c553c-e823-4ed2-8120-6048c84b569e

==== INBOUND NEIGHBORS ====

ERROR(runtime): DsReplicaGetInfo of type 0 failed - (8442, 'WERR_DS_DRA_INTERNAL_ERROR')

Suboptimaler workaround ist aktuell, auf allen anderen DCs samba4 neu zu starten.
Comment 3 Arvid Requate univentionstaff 2012-08-30 10:52:45 CEST
1. Für das in Comment 1 beschriebene "RID Pool"-Problem, das mit der
Samba4-Version aus ucs3.0-2 auftritt, gibt es jetzt Bug 28371.


2. Für das in Comment 1 beschriebene "unique index violation on objectSid" beim
Anlegen von Benutzern nach Re-Join, das mit der Samba4-Version aus ucs3.0-2
auftritt, gibt es jetzt Bug 28373.


3. Die in Comment 1 beschriebene Meldung "GSS server Update(krb5)(1) Update
failed:  Miscellaneous failure (see text): Decrypt integrity check failed"
tritt nur mit der Samba4-Version aus ucs3.0-x auf, mit beta4 (UCS 3.1-0
interim-1) lässt sich das nicht nachstellen.


Damit ist der Bug hier wieder ausschließlich der KVNO-Meldung gewidmet.
Comment 2 gibt den aktuellen Stand wieder, wobei festzustellen war, dass die WERR_DS_DRA_INTERNAL_ERROR Meldung "samba-tool drs showrepl" anscheinend temporärer Natur ist.
Comment 4 Arvid Requate univentionstaff 2012-09-05 20:52:40 CEST
Das Problem scheint zu sein, dass nach dem Join (per Re-Join oder per Re-Install) die alten Keys nicht mehr in /etc/krb5.keytab stehen (z.B. nicht die mit KVNO-1), weil von Samba4 eine neue angelegt wird. Die anderen DCs verwenden aber noch die alten Key Versionen (sie werden laut upstream Aussage 10 Stunden gecached - wo ist noch unklar).

Bei einem Re-Join mit --keep-existing steigt die KVNO immer und man kann vorher ein Backup der alten krb5.keytab machen und die darin enthaltenen Keys per ktutil in die neue Keytab übernehmen. Dadurch tritt die Fehlermeldung as dem ersten Bugreport nicht mehr periodisch auf, sondern es erscheint nur kurz beim Starten eine Fehlermeldung zu einem temporären keytab File:
======================================================================
[2012/09/05 19:15:12,  0] ../source4/smbd/server.c:368(binary_smbd_main)
  samba version 4.0.0beta4 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2012
[2012/09/05 19:15:12,  0] ../source4/smbd/server.c:470(binary_smbd_main)
  samba: using 'standard' process model
[2012/09/05 19:15:12,  1] ../file_server/file_server.c:136(s3fs_task_init)
  Started file server smbd with config /var/lib/samba/private/smbd.tmp/fileserver.conf
[2012/09/05 19:15:15,  1] ../source4/auth/gensec/gensec_gssapi.c:645(gensec_gssapi_update)
  GSS server Update(krb5)(1) Update failed:  Miscellaneous failure (see text): Failed to find SLAVE12$@ARUCS3I8.QA(kvno 3) in keytab FILE:/tmp/tmp.XCKPUnCiHv (arcfour-hmac-md5)
[2012/09/05 19:15:15,  1] ../source4/auth/gensec/gensec_gssapi.c:645(gensec_gssapi_update)
  GSS server Update(krb5)(1) Update failed:  Miscellaneous failure (see text): Failed to find SLAVE12$@ARUCS3I8.QA(kvno 3) in keytab FILE:/tmp/tmp.XCKPUnCiHv (arcfour-hmac-md5)
======================================================================


Danach tritt dann auf dem Master die in Comment 2 beobachtete showrepl Fehlermeldung 'WERR_DS_DRA_INTERNAL_ERROR' auf, die mit folgender Logmeldung einhergeht:
======================================================================
[2012/09/05 20:10:37,  0] ../source4/dsdb/kcc/kcc_drs_replica_info.c:543(fill_neighbor_from_repsFrom)
  ../source4/dsdb/kcc/kcc_drs_replica_info.c:543: Failed to find DN for neighbor GUID f3a00c8f-8f3e-4a3e-a0a9-3bd2c1058c54
======================================================================

Der hier fehlende DN bezieht sich auf das beim Join gelöschte alte NTDS-Objekt des DC Slave:

root@slave12:~# host f3a00c8f-8f3e-4a3e-a0a9-3bd2c1058c54._msdcs
f3a00c8f-8f3e-4a3e-a0a9-3bd2c1058c54._msdcs.arucs3i8.qa is an alias for slave12.arucs3i8.qa.
slave12.arucs3i8.qa has address 10.200.8.12

Diese Fehlermeldung von showrepl lässt sich mer samba-tool drs kcc beheben. Danach zeigt showrepl die neuen NTDS objectGUIDS für den Slave an, z.B.

======================================================================
CN=Configuration,DC=arucs3i8,DC=qa
        Default-First-Site-Name\SLAVE12 via RPC
                DSA object GUID: 26baa2af-0d3f-45ff-b7b8-66e0d039a76d
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)
======================================================================
Comment 5 Arvid Requate univentionstaff 2012-09-05 20:54:22 CEST
Der in Comment 4 beschriebene Workaround funktioniert aber nicht für das hier an diesem Bug behandelte allgemeinere Problem der Neuinstallation eines DCs under gleichem Namen (wo dann die alte keytab nicht zur Verfügung steht).

Unter AD sollte das eigentlich gehen:
http://technet.microsoft.com/en-us/library/cc785849%28v=ws.10%29.aspx
Comment 6 Stefan Gohmann univentionstaff 2012-10-08 16:57:39 CEST
Warten auf Upstream.
Comment 7 Arvid Requate univentionstaff 2012-11-06 20:44:03 CET
Comment 5 wurde abgespalten als Bug 29083. In diesem Bug geht es also nur um den Re-Join per univention-join.

Changelog ist angepasst.
Comment 8 Stefan Gohmann univentionstaff 2012-11-13 08:22:28 CET
OK, ein erneuter Join ist erfolgreich.

Changelog: OK
Comment 9 Stefan Gohmann univentionstaff 2012-12-12 21:08:01 CET
UCS 3.1-0 has been released: 
 http://forum.univention.de/viewtopic.php?f=54&t=2125

If this error occurs again, please use "Clone This Bug".