Im ersten Teil habe ich die Einrichtung von OpenLDAP-Servern mit einfacher Replikation beschrieben. Hier geht es jetzt um die Replikation mit delta-syncrepl. Die komplette Einrichtung aller Server wird via Ansible durchgeführt. Die Konfiguration der OpenLDAP-Server wird im Backend cn=config erstellt. Im Gegensatz zur Konfiguration über die slpad.conf ist es hier wichtig die richtige Reihenfolge der Overlays und Datenbanken einzuhalten. HIER finden Sie die Rollen für Ansible. Die Anleitung liegt in den entsprechenden REDME-Dateien.
Samba DC und Ansible
Nachdem ich im vorherigen Beitrag OpenLDAP mit Ansible eingerichtet habe, ist dieses Mal Samba dran. Auch hier ist es so, dass ich zu Testzwecken häufig eine Domäne einrichte und mir das ganze durch die Automatisierung mit Ansible etwas einfacher machen wollte. Ziel war es, mehrere DCs einzurichten, ohne ein Kommando eingeben zu müssen. Auch wollte ich keine zwei Rollen erstellen, eine für das Provisioning des ersten DCs und eine für das Join der nachfolgenden DCs. Ich wollte alles in einer Rolle vereinen. Das ganze hat etwas gedauert, aber jetzt läuft es. Jetzt ist es so, dass auf Grund der Gruppe im Inventory entschieden wird ob es sich bei der Installation um den Ersten oder einen weiteren DC handelt.
Eine genau Beschreibung der Rolle steht im README der Rolle. Alle Variablen sind (hoffe ich doch) gut beschrieben und auch die Tasks selber sind alle dokumentiert. Mit ein paar Vorkenntnissen an Ansible sollte es kein Problem geben die DCs zu installieren.
Using Ansible to set up an OpenLDAP environment
Because I need an OpenLDAP environment for testing purposes I wrote three Ansible-roles to create an environment with three OpenLDAP-servers, one provider and two consumers.
Everything you need are three Debian-VMs with ssh-rootlogin with password. This will be revoked at the end of the first script, after setting up a sudo-user.
The name of the first role is setup_server, this role will do the first equal steps on all servers:
- All the needed packages will be installed
- An ansible user will be created on all servers
- The public-key from ansible-user on the control-host will be copied to all servers
- Setting up sudo with no-password for the ansible-user
- The certificate for all servers will be copied to all servers, depending on the hostname (see README.md)
- Some ACLs will be set
- Setting the loglevel
After the first run the root-login via ssh with password is no longer possible.
The second role setup_provider will do the following tasks:
- Loading the sycprov-modul and configure it
- Create a user for replication with read-permission to all objects and all attributes
- Create a user with write-permission to all object and all attributes this user will be used to manage the objects
The third role will setup the two consumers:
- Configuring the replication
You can download all roles here.
Tutorial SambaXP 2020
This year everything was different, due to corona the SambaXP was planned as a online conference. Also my tutorial on the first day of the conference was an online-event. So I had to find a way for my participants to set up the virtual machines to follow my tutorial. So I created a Vagrant-box and a install-script to setup one Samba4 Domaincontroller two Linux-machines for the cluster and one Linux-client. So everyone could set up the machines before the tutorial starts. Here you find all files to setup the environment. The vm are Debian 10 with kernel 5.4, Samba 4.12 from Louis van Belle and GlusterFS 7.x. You will also find the handout in English in the file.
Nachtrag:
Die Videos zu meinem Tutorial können auf der Seite sambaxp.org heruntergeladen werden
Ubuntu 20.04 PXE-Installation mit NFS-Server
Gerade habe ich mir mal die neue Ubuntu-Version 20.04 angesehen und wollte testen, wie sich die neue Version über PXE booten und installieren lässt. Das Einrichten der PXE-Umgebung ging wie gewohnt. Ein DHCP-Server, ein TFTP-Server und ein NFS-Server waren schnell aufgesetzt. Nach der Einrichtung eine VM über das Netz gebootet, der DHCP-Server vergibt auch eine IP-Adresse. Sowohl im Log des DHCP-Servers als auch beim Bootprozess des neuen Systems wird die vergeben IP-Adresse angezeigt. Die initrd und der Kernel werden gefunden und das System bootet. Aber dann ging es los, der NFS-Server konnte nicht gefunden werden. Ich habe dann nochmal alles geprüft. Der NFS-Server lief und ich konnte auch, von einem anderen System, die Freigabe mounten. Also nochmal starten, aber der Fehler blieb, keine Verbindung zum NFS-Server.
Ich habe dann mal das Timeout abgewartet, bis der Prompt des Systems erreichbar war. Ein „ip a“ meinte „Ich habe gar keine IP-Adresse“. HÄÄÄÄÄ, DHCP hat doch eindeutig einen IP an das System vergeben? Dann mal etwas gesucht im Netz und tatsächlich habe ich was gefunden. Ein Bugreport der genau das anspricht, zum Glück gab es auch eine Lösung. Einfach and die „APPEND“-Zeil den Parameter „ip=dhcp“ anhängen. Siehe da, während des Ladens des Kernels wurde erneut eine IP-Adresse angefordert und jetzt auch der Netzwerkkarte zugewiesen. Jetzt wird der NFS-Server gefunden und die Installation startet wie gewohnt.
Hurra, das neue Buch ist da
Im Mai ist es endlich soweit, das neue Buch zum Thema openLDAP erscheint im Hanser-Verlag. Nach gut neun Monaten Arbeit haben Andreas und ich es zusammen mit dem Verlag geschafft und das Projekt abgeschlossen. Eigentlich war geplant das Buch auf der SLAC in Berlin vorzustellen, aber da hat uns leider Corona einen Strich durch die Rechnung gemacht. Aber trotzdem freuen wir uns, dass das Buch so schnell fertig geworden ist. Wie immer, Anregungen und ein sinnvolles Feedback sind immer gerne gelesen.
Es geht Online weiter
Alle bleiben zu Hause, so auch ich. Aber heißt das auch das nichts mehr geht? Nein! Schulungen und Support kann ich Ihnen in dieser Zeit auch Online anbieten. Ob es um die Unterstützung bei einer Samba-Migration geht, oder um eine komplett neue Samba AD-Domäne, eine Online-Unterstützung via Zoom ist in vielen Fällen möglich und machbar. Auch die openLDAP Unterstützung kann ich Online durchführen. Bei Schulungen gibt es auch verschiedene Möglichkeiten Ihnen Online Wissen zu vermitteln.
Sollten Sie Fragen zu Themen haben, können wir gerne zusammen überlegen, ob eine Online-Veranstaltung machbar und sinnvoll ist.
CentOS und Red Hat 8.1 ohne OpenLDAP
In den aktuellen Versionen vom Red Hat Enterprise Server und CentOS 8.1 gibt es keine OpenLDAP-Server-Pakete mehr. Ein Begründung dafür findet sich hier. Man muss sich die einzelnen Abschnitte mal auf der Zunge zergehen lassen:
The knowledge and expertise, and thus ability to support OpenLDAP server to the same level of confidence as our other offerings was limited.
Das heißt also, weil sie nicht genügend Ahnung haben, fliegen die Pakete raus. An einer anderen Stelle heißt es:
First of all, the LDAP server is the core of the identity system. It requires enterprise level support.
Heißt das man muss unbedingt dafür bezahlen um guten Support zu bekommen?
Ach ja, beim SLES 15 fällt der OpenLDAP auch raus zu gunsten des 389 DS.
Der OpenLDAP wird auch weiterhin gepflegt und es wird auch eine neue Version 2.5 geben mit vielen Verbesserungen. Jetzt muss man sich überlegen, auf welche Distribution man in Zukunft setzen will um einen LDAP-Server zu betreiben der vor allen Dingen ohne JAVA installiert und genutzt werden kann.
Das neue Buch ist korrigiert
Jetzt ist es soweit, dass neue Buch ist durch die Korrektur und geht in der kommenden Woche in den Satz. Jetzt kann ich dann auch mal was zum Thema sagen: Es wird ein Buch, das ich schon seit ein paar Jahren schreiben wollte, bisher aber nicht die Zeit gefunden habe. Es geht in dem Buch um OpenLDAP. Ja 🙂 ein neues Buch zu dem Thema OpenLDAP. Erscheinen wird das Buch im Hanser-Verlag und, wenn alles gut geht, noch vor der SLAC im Mai. Hier mal kurz etwas zu den Inhalten:
– Installation der benötigten Pakete abhängig von der Distribution
– Verwaltung des OpenLDAP über die slapd.conf
– Verwaltung des OpenLDAP über cn=config
– Grundlagen rund um das Protokoll und den Dienst LDAP
– Erstellen eigener Schemen
– Erste Schritte nach der Installation der Pakete
– Erste Objekte im LDAP-Baum
– Verschlüsselung der Verbindung über TLS und LDAPS
– Einrichtung des sssd als LDAP-Client
– Vorstellung verschiedener grafischer Werkzeuge
– Einsatz von Filtern zur Suche im LDAP-Baum
– Absichern des Baums durch ACLs
– Verwendung von Overlays zur Funktionserweiterung
– Replikation des LDAP-Baums
– Nutzung von LDAP zusammen mit Kerberos
– Monitoring mit Munin
– OpenLDAP und Docker
– Verschiedene Anwendungsbeispiele aus der Praxis
Wir haben uns im Buch auf die Distributionen Debian Buster und CentOS 8.0 bezogen. Leider ist Red Hat der Meinung das OpenLDAP nicht mehr zu Red Hat und somit auch nicht zu CentOS passt und die Pakete werden in der Version 8.1 nicht mehr bereitgestellt. Wir haben uns trotzdem dazu entschlossen CentOS im Buch zu belassen.
Auch habe wir sowohl die statische Konfiguration über die slapd.conf, als auch die dynamische Konfiguration über cn=config an allen Stellen beschrieben. So kann jeder wählen wie er seinen OpenLDAP verwalten will.
Das Buch habe ich nicht alleine geschrieben, als Co-Autor (oder besser gleichwertiger Autor) konnte ich Andreas Ollenburg gewinnen und wir habe zusammen in den letzten 7 Monaten das Buch mit sehr großem Praxisbezug erstellt. Ein Coverentwurf gibt es auch schon, aber ist noch nicht vom Verlag abgesegnet. Wenn das der Fall ist, wird das Cover natürlich auch hier auf der Seite erscheinen.
SambaXP 2020
Auch dieses Jahr werde ich auf der SambaXP wieder ein Tutorial halten. Das Tutorial wird am 26.05.2020 stattfinden. Dieses Jahr geht es um das Thema CTDB. Im Tutorial wird ein GlusterFS-Cluster mit zwei Knoten eingerichtet und anschließend kommt CTDB als SMB-Cluster dazu. Für das Tutorial habe ich (wie schon im letzten Jahr) extra virtuelle Maschinen mit Vagrant und VirtualBox erstellt. Dadurch sind alle wesentlichen Voraussetzungen für die beiden Dienste bereits komplett installiert und wir kümmern uns an dem Tag nur um die Einrichtung des Gluster-Clusters und des CTDB-Cluster. Alle benötigten Dateien sind vorbereitet. Da die Vagrant-Box, die ich extra für das Tutorial erstellt habe, dann auch in der Vagrantcloud zu finden ist, kann jeder die Konfiguration der System am Ende des Tages mitnehmen und zu Hause auf dem eigenen System einrichten und so alles noch einmal in Ruhe nachvollziehen.
Neueste Kommentare