Aus Linux-Magazin 07/2016

Wechsel von Samba Classic Domain auf Samba 4

Seit gut drei Jahren ist Samba 4 auf dem Markt, doch noch nicht auf jedem Parkett im Einsatz. Ein Blick auf die neuen Features und Fähigkeiten soll klären, in welchen Fällen ein beherzter Sprung auf die neue Version lohnt und wo die Samba Classic Domain weiterhin ihre Runden drehen kann.

Fasst eine IT-Abteilung den Umstieg von Samba Classic Domain auf Samba 4 ins Auge, sollte sie im Vorfeld klären, welche Vor- und Nachteile daraus entstehen, und sich erst dann für eine konkrete Release entscheiden. Der Artikel will dem Entschluss für oder gegen ein Upgrade auf Samba 4 eine Basis geben.

Aufsteigen?

Seit vielen Jahren ist Samba die Software der Wahl, wenn es darum geht, sowohl Netzlaufwerke als auch Drucker über einen Linux-Server für ein Windows-Netzwerk bereitzustellen. Wer ausschließlich diese Funktionen benötigt, für den lohnt sich der Umstieg auf Samba 4 eher nicht. Zwar bietet auch die neue Version die erwähnten Features und macht ein einfaches Upgrade möglich, dennoch bringt sie für genau diesen Bedarf keine nennenswerten Verbesserungen. Samba 4 enthält nach wie vor die Komponenten »smbd« , »nmbd« und »winbindd« , hat aber zusätzlich den Dienst »samba« im Gepäck, den Samba für die neuen Features benötigt. Zugleich reduziert Samba 4 die Zugriffe auf TDBs (Trivial Databases) auf ein Minimum.

Wer Samba Classic Domain hingegen einsetzt, um eine NT4-Domäne abzubilden, und wer gewillt ist, den Tauchgang in die Windows-Welt noch etwas zu vertiefen, für den kommen einige der neuen Features womöglich wie gerufen.

Samba 4 am Klavier

Als Hauptfeature von Samba 4 gilt die Möglichkeit, die freie Software als vollwertigen Ersatz für einen Windows AD Domain Controller einzusetzen. Als solcher unterstützt Samba 4 Windows-Umgebungen ab Windows 2000.

Ein für Samba entwickelter und in die Lösung selbst integrierter LDAP-Server übernimmt standardmäßig die Rolle eines Active Directory. Zugleich unterstützt Samba 4 über das eingebaute Kerberos-KDC (Kerberos Key Distribution Center) eine Authentifizierung über dieses Protokoll. Über dessen gewohntes Ticketsystem nutzt der Samba-Betreiber zudem diverse weitere Dienste.

Da in einem Windows AD Domain Controller auch der Domain Name Server eine zentrale Rolle spielt, lässt sich Samba 4 mit zwei möglichen Exemplaren verkuppeln. Das Samba-4-Binary integriert einen DNS-Server, der Teil von Samba 4 ist. Bei Bedarf hängt der Admin mit Hilfe des DLZ-Moduls (Dynamically Loadable Zones) einen Bind-Server ein. Beide Lösungen ermöglichen die von Windows-Administratoren gewohnte Pflege von DNS-Einträgen. Die offizielle Empfehlung lautet, zunächst das eingebaute DNS zu verwenden, um dann bei Bedarf auf Bind zu wechseln.

Als Domain Controller spielt für Samba neben den passenden DNS-Einträgen auch die korrekte Systemzeit auf allen Domänen-Maschinen eine tragende Rolle. So vertraut Kerberos auf korrekte Timestamps, um Replay-Attacken zu vermeiden. Samba 4 hält den Takt, indem es auf den bekannten NTP-Daemon zurückgreift. Nur mit Windows-2000-Clients klappt das nicht, weil die nicht so agieren, wie es NTP-Server erwarten. Für sie kann Samba 4 daher nicht als AD Domain Controller einspringen.

Management

Auf der Windows-Seite passen Admins die gesamte Konfiguration mit Hilfe der MMC (Microsoft Management Console) an und erweitern sie auf Wunsch. Das ist der in der Windows-Welt übliche Weg, um einen Windows AD Domain Controller zu verwalten. Abbildung 1 zeigt, wie der Admin die Daten eines Nutzers über MMC bearbeitet.

Abbildung 1: Benutzerdaten bearbeitet der Windows-Admin auch beim Einsatz von Samba 4 über die MMC.

Abbildung 1: Benutzerdaten bearbeitet der Windows-Admin auch beim Einsatz von Samba 4 über die MMC.

Auf Linux-Seite passt der Admin aktuelle Samba-Versionen mit Hilfe des neuen »samba-tool« [2] an. Mit ihm legt er neue Benutzer und Gruppen an, löscht sie oder schiebt ein »classicupgrade« von Version 3 auf 4 an. Tabelle 1 zeigt, welche Möglichkeiten »samba-tool« bietet.

Tabelle 1

Befehle des “samba-tool”

Kommando

Auswirkung

dbcheck

Die lokale AD-Datenbank auf Fehler überprüfen

delegation

Delegations verwalten

dns

Den Domain Name Service (DNS) verwalten

domain

Domänen verwalten

drs

Management der Directory Replication Services (DRS)

dsacl

Access Control Lists (ACL) für Domain Services beeinflussen

fsmo

Rollen für Flexible Single Master Operations (FSMO) bearbeiten

gpo

Gruppenrichtlinien-Objekte (Group Policy Object) verwalten

group

Gruppen verwalten

ldapcmp

Zwei LDAP-Datenbanken vergleichen

ntacl

NT-ACLs managen

processes

Prozesse auflisten (für das Debugging auf Systemen ohne »setproctitle« )

rodc

Den Read-only Domain Controller (RODC) verwalten

sites

Sites-Management

spn

Identifier von Service-Instanzen (Service Principal Name) manipulieren

testparm

Konfigdatei auf Syntaxfehler überprüfen

time

Timestamp auf dem Server abrufen

user

Benutzerverwaltung

vampire

Eine entfernte AD-Domäne mit dem lokalen Server synchronisieren

Daneben bringt Samba 4 eine Programmierschnittstelle für Python mit. Mit ihr passen Admins und Systemintegratoren die Software nahtlos an ihre Umgebung an. Ein Großteil der Samba-4-Tools (das schließt »samba-tool« ein) verwendet Python und nutzt diese Schnittstelle.

Klein, aber oho!

Die Major-Releases 4.1, 4.2, 4.3 und 4.4 haben die Featureliste hinsichtlich der Performance noch einmal ordentlich ausgeweitet. Seit Version 4.1 funktionieren zum Beispiel die Clienttools auch über die SMB-2- und -3-Protokolle. Zudem ermöglicht Samba 4.1 Server-seitige Kopieraktionen. Das Btr-FS-VFS-Modul beschleunigt das Kopieren nochmals, vorausgesetzt die Shares verfügen über ein Btr-FS-Dateisystem. In diesem Fall dupliziert Samba 4 die Quell- und Zieldateien nicht mehr unnötig.

Versionierung

Von Samba 4 erscheinen regelmäßig Major- und Minor-Versionen. Größere Änderungen landen in Major-Versionen mit Nummerierungen wie 4.0, 4.1, 4.2 und so weiter. Kleinere Änderungen finden Eingang in die Minor-Versionen, die Versionsnummern wie 4.1.1, 4.1.2 oder 4.2.1, 4.2.2 tragen. Die aktuelle Stable Release ist die Version 4.4.3 [1].

Mit Release 4.2 landete die CTDB (Cluster Trivia Data Base) fest im Samba-Tree. Sie ermöglicht es, Samba-Dateiserver in Form von Clustern zu betreiben, Details beschreibt der folgende Artikel. Mit Hilfe eines neuen Tools namens Samba Registry Editor lässt sich die Samba-Registry durchforsten. Die so genannten SMB-2-Leases erlauben intelligenteres Caching für SMB 2 und reduzieren so spürbar den Datendurchsatz.

Bleiben noch die Releases 4.3 und 4.4. Sie verbessern in erster Linie bestehende Merkmale und erweitern hier und da die Fähigkeiten der mitgelieferten Werkzeuge und Features. Performance-steigernd wirkt sich auf Samba 4.3 aus, dass die SMB-Protokolle für das Profiling nicht mehr den Shared-Memory der Sys-V-IPC verwenden, sondern TDB-Dateien.

Weniger Sinn ergeben TDB-Dateien hingegen im »FileChangeNotify« -Subsystem, wo sie bis zur Version 4.3 Notification Requests speicherten. Besonders in Clusterumgebungen stellte sich das aber als Flaschenhals heraus, der Wechsel zu zentralen Daemons in den Subsystemen auf jedem Knoten brachte Abhilfe.

Version 4.4 punktet in Sachen Geschwindigkeit vor allem mit asynchronen Flush Requests. Wenn Clients den Server auffordern ungesicherte Inhalte auf die Festplatte zu schreiben, geschieht dies neuerdings auf asynchrone Weise. Der Vorgang blockiert dadurch keine anderen Prozesse mehr. Noch als experimentell gilt dagegen der Support für SMB-3-Multichannel. Das Feature erlaubt es dem Client, mehrere Transportverbindungen in einer authentifizierten SMB-Sitzung aufzubauen. Das steigert nicht nur die Fehlertoleranz, sondern auch den Datendurchsatz, weil sich eine Datei parallel über mehrere Netzwerkverbindungen transferieren lässt.

Nicht zuletzt betreffen einige der Änderungen auch die Konfiguration in der Datei »/etc/samba/smb.conf« . Die Entwickler haben hier 14 Parameter entfernt, für sieben die Standardeinstellung geändert und 37 neue Parameter ergänzt. Einen Überblick über alle Änderungen liefert [4]. Wer es etwas ausführlicher mag, wirft am besten einen Blick in die Release Notes zu den Major-Releases 4.1 [5], 4.2 [6], 4.3 [7] und 4.4 [8]. Sie dokumentieren diese Änderungen ebenfalls.

Engpässe

Die Performance-Frage betrifft beim direkten Vergleich zwischen Samba 4 und Samba Classic Domain vor allem zwei Bereiche: die Netzlaufwerke und die Domain Controller. In Bezug auf erstere kann Samba 4 die Performance steigern, weil es SMB 3 unterstützt, das Microsoft mit Windows 8 und Windows Server 2012 eingeführt hat.

Als Domain Controller läuft es in Sachen Datendurchsatz eher schlechter. Die Erfahrungen aus der Praxis zeigen, dass der integrierte LDAP-Server im Vergleich zu einem Open LDAP nicht sonderlich gut abschneidet. Das bereitet jedoch erst dann wirkliche Probleme, wenn verschiedene Dienste die LDAP-Anbindung nutzen, und zwar nicht nur zum Authentifizieren. So entstehen etwa Engpässe, wenn Admins zusätzlich DHCP-Server, Groupware und aus dem LDAP abgeleitete Mailinglisten betreiben.

Zugleich fällt auf, dass Samba 4 sehr viel speicherhungriger ist als sein Vorgänger. Das macht sich vor allem bemerkbar, wenn viele Nutzer die Netzlaufwerke auslasten. Hier sollten Admins im Vorfeld genügend RAM bereitstellen.

Nix zu sehen

Neben den erwähnten lauern noch weitere Problemchen in Samba 4. Dazu zählt der Support fürs Netbios-Browsing am Samba 4 Domain Controller. Das unterstützt Samba 4 aktuell noch nicht, die Entwickler stellen es auch für die nähere Zukunft nicht in Aussicht. Die Windows-Clients sehen den Domain Controller also nicht in ihrer Netzwerkumgebung. Ist Samba 4 als Netbios-Master eingestellt, taucht in der Netzwerkumgebung also kein Netzwerkgerät auf.

Momentan ist es lediglich möglich, einen Microsoft Exchange 2010 auf einem Microsoft Server 2008 R2 in die Samba-4-Domäne aufzunehmen. Microsoft Exchange benötigt ein LDAP-Feature, das dem Samba-4-LDAP noch fehlt.

Wie so oft gibt es noch kleinere Stolpersteine, die nur in spezielleren Fällen als Showstopper auftauchen. Will der Admin dies im Vorfeld genauer klären, hilft ein Blick in Sambas Bugtracker [3].

Fazit

Insgesamt hat Samba mit der Version 4 eine brauchbare Alternative zum Windows AD Domain Controller geschaffen, die nahezu alle Bedürfnisse an eine solche Umgebung abdeckt. Die Performance sollte in Umgebungen ohne spezielle Setups vollkommen ausreichen und den produktiven Einsatz erlauben.

Wer nicht auf die Funktion eines AD Domain Controller angewiesen ist und Samba Classic Domain seit Jahren reibungslos einsetzt, dem verspricht ein Upgrade Besserungen nur aus Sicht der Netzlaufwerk-Performance.

Feine Fallstricke

Sambas AD Domain Controller sei bereit für den produktiven Einsatz, erklärt Denis Cardon, Chef der französischen Firma Tranquil IT [10], am Rande der Samba XP in einem Interview. Er muss es wissen. Seine in Nantes ansässige Firma hat sich unter anderem auf Migrationen vom Samba-3-kompatiblen Domain Controller auf Samba 4 Active Directory Domain Controller spezialisiert. Zu den Kunden der Firma gehören Schulen und Universitäten, die Tausende von Rechnern mit Dutzenden Domain Controllern einsetzen.

Das Upgrade von Samba Classic Domain auf Samba 4 klappe vergleichsweise schnell. Mehr Zeit brauche es laut Cardon, die Dienste drumherum an Samba 4 zu gewöhnen, etwa die DNS- und LDAP-Server oder Kerberos.

Die richtige Version

Wichtig sei zunächst, eine passende Samba-Version zu wählen. Zwar stecke der Active Directory Domain Controller seit Version 4.0 in Samba 4, vergleichsweise reibungslos einsetzen ließe er sich allerdings erst ab Version 4.3. Wer eine Distribution verwenden will, sollte Debian Jessie in Erwägung ziehen. Das habe beim Patchen des Badlock-Bugs ausnahmsweise gleich eine halbwegs aktuelle Samba-Version an Bord geholt, die 4.2.10. Die lasse sich für Active-Directory-Setups gut nutzen. Wer aber zusätzlich eine sternförmige Replikation für Multisite-Szenarios über KCC brauche, sei auf Version 4.3 angewiesen. Ältere Versionen erlauben lediglich Mesh-Replikationen.

Näher am Samba-Puls wäre auch, wer Debian Sid verwendet, was für viele Unternehmen aber nicht in Frage komme. Die meisten anderen Distributionen im Unternehmenseinsatz bringen laut Cardon eher veraltete Pakete mit, inklusive vieler Bugs, die neuere Versionen von Samba 4 beheben. Bringt die eingesetzte Distribution keine aktuelle Samba-4-Version mit, bleibe Admins die Möglichkeit, Pakete bei Sernet zu kaufen oder selbst aus den Quellen zu kompilieren und in Paketform zu gießen.

Viele Tests im Vorfeld

Generell rät Cardon bei Migrationen dazu, so viele Schritte wie möglich im Vorfeld zu testen, etwa mit Sandbox-Maschinen. Das habe ihm bislang stets geholfen, Rollbacks zu vermeiden. Firewalls verhindern, dass sich der NT4 Domain Controller und der Active Directory Domain Controller im Laufe der Migration in die Quere kommen. Tun sie es doch, ist Handarbeit angesagt, weil der Admin jeden einzelnen Rechner wieder umstellen muss.

Ein nicht untypisches Szenario sei auch, dass der Betreiber des NT4 DC den Domain Controller zusammen mit dem Fileserver auf derselben Maschine betreibt. Samba 4 erlaube das nicht, die Mitarbeiter von Cardons Firma trennen die Dienste in diesem Fall voneinander. Auf dem vorhandenen Server lassen sie nur den Dateiserver weiterlaufen, der Domain Controller lande meist in einer virtuellen Maschine oder auf einem anderen Rechner.

Ebenfalls zu beachten sei, dass in AD-Umgebungen Gruppen und Benutzer nicht den gleichen Namen verwenden dürfen. Das sei ebenfalls im Vorfeld der Migration zu prüfen. Nicht zuletzt sollten Administratoren den in Samba 4 integrierten LDAP-Server über die »/etc/samba/smb.conf« von »localhost« auf die IP-Adresse des alten LDAP-Servers umstellen.

Wer als Admin hingegen den Samba-3-kompatiblen Domain Controller verwendet, gewinnt mit einem Upgrade auf Samba 4. Das trifft vor allem zu, wenn er bereits an die funktionalen Grenzen der NT-Domäne stößt. Die Implementierung des AD-Domain-Controllers erlaubt es, Computer ohne Registry-Patches in das Netzwerk einzubinden. Zugleich lassen sich die Rechner auch über Windows-Maschinen und die MMC verwalten. Es lohnt sich also, mit »samba-tool domain classicupgrade« [9] auf einen vollwertigen Samba 4 AD Domain Controller zu wechseln.

Ein vorheriges Backup der wichtigen Konfigurationsdateien sei empfohlen, das Upgrade funktioniert aber mit allen Passwort-Backends, also »smbpasswd« , »tdbsam« und »ldapsam« . Zudem sollten sich Admins bewusst machen, dass der Wechsel von einem NT4 Domain Controller auf den von Samba 4 eine Einbahnstraße ist und sich nicht ohne Weiteres rückgängig machen lässt. Hier ist also ein planvolles Vorgehen im Kleinen sinnvoll. Für Neueinsteiger bietet es sich an, gleich mit Samba 4 zu starten.

Der Autor

Fabian Melters ist Wirtschaftsinformatik B.Sc. und arbeitet bei der Linux Information Systems AG als Projektleiter, Consultant, Entwickler und IT/-Security System Engineer mit den Schwerpunkten IT-Security, Firewall, Monitoring und Mailgateways.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben