Heimverzeichnis von Standort A nicht bei Standort B einbinden?

ucsschool
ucs-4-3

#1

Hallo,
ich dachte, ich hätte es schon einmal in der Doku gesehen, finde es aber nicht mehr :-/
Die Frage:
Eine Lehrperson mit Stammschule A, soll sich an Schule B anmelden. Dies funktioniert natürlich wie gewünscht und auch das Heimverzeichnis Ihrer Stammschule wird in Schule B eingebunden. Nun möchte sie jedoch über eine RDP Verbindung “besondere” Dienste in Schule B nutzen. Leider ist ihre Stammschule nur sehr schlecht via VPN mit Schule B verbunden, so dass das Öffnen des Windows Explorers seeeehr lange dauert.
Ich dachte, es sei eventuell möglich, das Heimverzeichnis der Lehrperson nicht mehr in Schule B einzubinden. Konkret ginge es nur um einen Rechner, auf dem das nicht sein sollte, aber generell braucht sie das persönliche Verzeichnis aus der Stammschule in Schule B nicht.

Wahrscheinlich habe ich das jetzt sehr kompliziert beschrieben und die Lösung wird ganz einfach sein, aber ich komme nicht darauf.

Liebe Grüße
Christian

edit: Es handelt sich wohl wieder um das schulspezifische sambahome, ich würde es nur gerne allein für einen Benutzer so ändern, dass es an jedem Schulstandort ein eigenes home-Verzeichnis gibt. Ob das geht?


#2

EDIT: Sorry zu früh abgeschickt.

Hallo Christian,

ich denke du hast recht. Am besten löst du es mit dem unter “Schulspezifisches Sambahome” beschriebenen Alias: http://docs.software-univention.de/ucsschool-import-handbuch-4.3.html#ou_spanning_account:sambahome
Wenn du das erstmal nur für einzelne Lehrpersonen an einzelnen Schulen einrichten willst würde ich folgendermaßen vorgehen:

  1. Host-Record auf dem Master einrichten (DNS Forward-Eintrag) der auf den Master selbst zeigt. Name zum Beispiel “schulserver”
  2. Alias auf dem Schulserver so umkonfigurieren, dass der Alias auf den lokalen Schulserver zeigt
    Mit folgendem Befehl kannst du überhaupt erstmal schauen was auf dem lokalen Samba4 des Schulservers als IP steht:
    root@e262-sl01:~# univention-s4search dc=schulserver --cross-ncs --show-binary
    Sollte es die falsche IP sein sind folgende Schritte durchzuführen:
    – Die DN heraussuchen:
    root@e262-sl01:~# udm dns/host_record list | grep schulserver
    – Die IP setzen:
    ucr set connector/s4/mapping/dns/host_record/schulserver.FQDN/static/ipv4=IP-Des-Schulservers
    – Einen neuen Sync forcieren:
    root@e262-sl01:~# /usr/share/univention-s4-connector/resync_object_from_ucs.py DN
  3. An den Lehrkräften in der Weboberfläche den FQDN des Profilpfads durch den Alias “schulserver” ersetzen.

Gruß
Michel


#3

Hallo Michel,
ich glaube, den Gedanken dahinter habe ich verstanden und er klingt schön für mich. Bevor ich es aber morgen teste, muss ich noch einmal mit Unkenntnis glänzen und fragen:

Bisher nahm ich an, dass Änderungen im DNS auf dem Master für alle Slaves gilt. Nach dieser Denke würde ich jetzt schulserver -> master.FQDN auf dem Master konfigurieren und so würden auch alle Slaves der Domäne schulserver nach master auflösen, oder?

Also, mich würde da der Mechanismus interessieren, wenn es nicht zu aufwendig zu beschreiben ist. Mein plumper Weg wäre wahrscheinlich eine Anpassung der hosts Datei auf den Slaves, um meine Master-Slave-DNS Irrung zu umgehen. :slight_smile: Aber mir schwant, dass ich da eher eine DNS-Kenntnislücke habe.

Diese manuellen Eingriffe, die man aber auch auf einem besseren Weg lösen könnte, lösen immer Unbehagen aus.

Danke Dir für diese umfangreiche Beschreibung! Von hier könnte ich jetzt fast alleine gehen und markiere mal als gelöst… Weitere Infos zu meiner Frage, wären mir aber eine Freude…

Liebe Grüße
Christian


#4

Hallo Christian,
deine Annahme ist wieder genau richtig. Ohne Änderungen würde der Record natürlich immer auf den Master auflösen. Der kleine Trick verbirgt sich in der oben von mir genannten UCR-Variable “ucr set connector/s4/mapping/dns/host_record/schulserver.FQDN/static/ipv4=IP-Des-Schulservers”. Wenn du die auf jedem Schulserver individuell setzt musst du keine weiteren Anpassungen vornehmen. In der Windows-Domäne wird das DNS von Samba verwendet (ich bin kein Samba-Spezialist und hoffe, dass man das so formuliert ;-). Das heißt, es reicht wenn im Samba auf dem Schulserver der “schulserver”-Host-Record auf den Schulserver selbst zeigt (eigene IP).
Die UCR-Variable konfiguriert (“mappt”) den Samba4-Connector genau so, dass dieser die IP-Adresse im lokalen DNS des Schulservers umschreibt. Ich habe dir das mal versucht in folgendem Bild aufzuzeichnen. Nicht schön aber hoffentlich hilfreich.
artikel
Die Schritte vom Host-Record sehen dann folgendermaßen aus:

  1. Auf dem Master zeigt der Host-Record auf den Master selbst.
  2. Es findet eine (selektive) Replikation der LDAP-Objekte auf den Schulserver statt.
  3. Auf dem Schulserver zeigt der Host-Record im LDAP weiterhin auf den Master.
  4. Der Host-Record wird über den Samba4-Connector in das Samba synchronisiert. Dabei wird das Mapping aus der UCR-Variable ausgelesen und statt der IP des Masters nun die IP des lokalen Schulservers verwendet.
  5. Der Host-Record für den Schulserver in Samba und der Windows Domäne zeigen auf den lokalen Schulserver.

Das funktioniert dann analog an jeder weiteren Schule mit einem Schulserver. Nun kann man diesen Host-Record in den Heimatverzeichnissen bedenkenlos nutzen. Weitere nützliche Anwendungsfälle sind zum Beispiel Gruppenrichtlinien. Die kann man zentral verwalten und immer wenn man darin einen Server angeben muss könnte man direkt “schulserver” verwenden. Das hilft beispielsweise bei der Verknüpfung von Druckertreibern etc.

Ich hoffe meine Ausführungen helfen dir weiter und ich wünsche dir einen schönen Start in die neue Woche. Lass mich gerne wissen ob es geklappt hat.

Gruß
Michel


#5

Hallo Michel,

ich musste mir heute früh die Augen reiben: danke für die wunderbare Anleitung!

Ich sitze gerade dran und es sieht alles aus wie erwartet, bis auf das Ergebnis am Ende:

  • univention-s4search: liefert die Adresse des Masters
  • udm dns/host_record list | grep schulserver: liefert die DN
  • ucr set connector/s4/mapping/dns/host_record/schulserver.domain.intranet/static/ipv4=x.x.x.x: neuer connector wird angelegt
  • /usr/share/univention-s4-connector/resync_object_from_ucs.py relativeDomainName=schulserver,zoneName=…: resync wird getriggert

Im connector-log taucht aber nichts auf und die univention-s4search liefert noch den Master aus.

Wo liegt denn mein Fehler?

Liebe Grüße und noch einmal danke!
Christian


#6

Guten Morgen Christian,

hm das klingt komisch. Möglicherweise reicht es den Samba4-Connector einfach neu zu starten:
:~# service univention-s4-connector restart
Es könnte sein, dass der Samba4-Connector das Mapping nur beim starten einliest. Sorry, hatte ich vergessen.
Dann nochmal triggern und dann denke ich klappts.

Gruß
Michel


#7

Hallo Michel,

es funktioniert jetzt. Fantastisch! Danke Dir für diese schöne Schritt für Schritt Anleitung und die ganze Zeit, die Du dort hineingesteckt hast. Und ich habe auch wieder viel über die Zusammenhänge gelernt.

Liebe Grüße
Christian


#8

Das freut mich!

Lieben Gruß
Michel