Raspberry PI als Windows Domaincontroller

Wie vielseitig der Raspberry Pi sein kann, wissen wir alle. Genauso wissen wir um die Leistungsfähigkeit von Linux. Zu Hause, wo nicht so viel Authentifizierungsverkehr läuft, benötigt man keine teure Windows Server Lizenz. Ein Raspberry und ein wenig Zeit reichen bereits aus

Der Server selbst läuft auf Niveau von Windows Server 2008r2. Wenn man bedenkt, dass nun Server 2019 vor der Tür steht, ist es natürlich nicht 100% aktuell. Für zu Hause und kostenlos aber auf jeden Fall ein gutes Angebot.

Vorbereitung

Ich setze vorraus, dass du Raspbian lite 9 installiert hast und du bereits eine fixe IP sowie Internetverbindung hast. Natürlich hast du bereits die Regionseinstellungen, Zeitzone, das erweitern der SD Karte per raspi-config erledigt und bist als root angemeldet (sudo su). Deinen Hostnamen hast du bereits vergeben, unter Umständen hast du sogar bereits Vorsorglich die /etc/hosts bearbeitet und deinen FQDN vergeben. Auf jeden Fall hast du dich um die Sicherheit deines Servers gekümmert und die Zugänge zu diesem (ssh, usw.) gesichert.

Installation

Der AD-DC wird auf Samba Basis funktionieren, natürlich benötigt man Kerberos für die Authentifizierung sowie winbind und den smbclient.

apt install samba krb5-config winbind smbclient

Bei der Installation werden die Parameter für den Domaincontroller abgefragt. Bei der ersten Frage (Realm) den gewünschten Domainnamen eingeben.
z.B.: magicdungeon.homenet
Bei den beiden nächsten Fragen den ganzen FQDN eingeben. Hat der Server also den Hostnamen “domaincontroller” und wir verwenden die obengenannte Domain wäre das dann “domaincontroller.magicdungeon.homenet”

Konfiguration

Zunächst werden wir die Samba Konfiguration umbenennen, diese wird später automatisch mit unseren Parametern neu erzeugt

mv /etc/samba/smb.conf /etc/samba/smb.conf.OLD

Danach können wir schon die Einstellungen für unseren Domaincontroller festlegen. Dies kann man mit dem samba-tool durchführen.

samba-tool domain provision

Folgende Einstellungen werden hierbei abgefragt:

  • Realm (Deine Domain inkl. TLD) [magicdungeon.homenet]
  • Domain (Deine Domain)
  • Server Rolle (DC) [dc]
  • DNS Backend (Samba Internal) [Samba Internal]
  • DNS Forwarder (Dein bevorzugter DNS Server) [IP.DES.DNS.SRV]
  • Administrator Passwort (deinedomain\administrator) [AdmPwrt]

Kerberos Config nach /etc kopieren

cp /var/lib/samba/private/krb5.conf /etc/

Keralle Server stoppen

systemctl stop smbd nmbd winbind

alle Server disablen

systemctl disable smbd nmbd winbind

Danach führt man folgendes aus um den AD-DC Service zu aktualisieren

systemctl unmask samba-ad-dc
systemctl start samba-ad-dc.service
systemctl enable samba-ad-dc.service

Die unterstützte Version des Domaincontrollers sieht man wenn man “samba-tool domain level show” eingibt.

Das war auch bereits die Einrichtung des Servers, alles weitere kann bereits über die Clients eingestellt werden.

Einstellungen Clients / Netzwerk

Um hier nicht in die typische DNS Problematik zu laufen was darin resultiert, dass du deiner Domain nicht beitreten kannst empfehle ich dir die DNS Server Einstellungen in deinem DHCP Server auf den Domaincontroller als DNS1 zu ändern, dieser kann die Domain und deren Clients auflösen. Alles was ausserhalb ist, wird er den vorher eingegebenen DNS Server (DNS Forward) fragen. Aufgrund des Raspberry-Pi Settings eignet sich hier natürlich ein PiHole. Auch ein Bind(9) läuft auf einem Raspi gut genug für ein Heimnetz. Dieser 2te DNS Server wird als DNS2 eingestellt.

Solltest du den DNS Server deines DHCP (Verteilung der richtigen Einstellungen im ganzen Netz) nicht bearbeiten können, kannst du am Client selbst in den Netzwerkeinstellungen deinen DNS Server auf den Domaincontroller festlegen.

Nun solltest du bereits sehen, dass du im Domain-Netzwerk bist, sobald du deinen Netzwerkadapter neu startest oder den Rechner rebootest.

Einloggen auf dem Windows Client

Zunächst mal mit einem lokalen Administrator einloggen um den Client der Domain hinzuzufügen.

Drücke Strg + Pause um das Systemfenster zu öffnen und gehe zu den Hostname / Computername -Einstellungen

Danach kannst du der Domain beitreten indem du deinen Domainnamen (z.B.: magicdungeon.homenet) eingibst und dich mit den Administrator -Daten anmeldest.

Es kann sein, dass sich Windows hier widerspenstig gestaltet, wenn du versuchst den Namen “Administrator” zu verwenden. Du kannst dies umgehen indem du den Domainnamen ohne TLD-Angabe vorstellst. .z.B.: “magicdungeon\administrator”

Du wirst aufgefordert neu zu starten. Dadurch hast du deinen Rechner der Domain hinzugefügt.
Nach einem erneuten Start des Rechners kannst du dich mit Benutzernamen “domainname\administrator” an deiner Domain anmelden.

Verwaltung

Du kannst die Domain entweder vom Admin Account aus oder auch gleich vom lokalen Windows Account aus verwalten (oder danach vom Domainaccount)

Dies kannst du mit den RemoteServerAdministationTools von Microsoft tun

Vom Admin Account aus verwalten

Vom Admin Account aus kannst du die Domaintools von Microsoft herunterladen um deine Domain zu verwalten.
Hier kannst du dann neue User hinzufügen, Computerkonten verwalten und Richtlinien einstellen, wie man das halt von einem Windows Domaincontroller her kennt.

Über lokalen oder Domainaccount verwalten

Wenn du die Servertools heruntergeladen hast kannst du die “Administration Tools” auf deinem Client suchen. Dort solltest du dann auch “Active Directory User and Computer” finden.
Mit gedrückter “Shift-Taste” und rechtsklick bekommst du “run as different user” angezeigt

Achte darauf dich mit Domainnamen anzumelden sonst wird oft der lokale Admin verwendet. Daraufhin kannst du wie gewohnt deine Benutzerkonten, Computerkonten und Gruppen verwalten

Aus der Shell heraus verwalten

Natürlich kannst du auch per SSH am Server selbst neue User für deine Domain hinzufügen:

samba-tool user create USERNAME

Viel Spass mit deiner Domain auf dem Raspberry Pi

beros Config nach /etc kopieren