Zweiter Samba-DC

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Kurs Lab Rechner Domäne
Linux - Samba Linux - Samba Lab sdc2 · 10.2XX.1.22 samba.it2XX.int

Einfach erklärt

  • Eine Domäne mit nur einem DC fällt komplett aus, wenn dieser DC ausfällt. Deshalb gibt es immer mindestens zwei.
  • Ein zweiter DC tritt der Domäne mit samba-tool domain join bei. Danach gleichen sich beide DCs ständig ab.
  • Beide können Anmeldungen annehmen und Änderungen entgegennehmen. Es gibt keinen Haupt- und Neben-DC, nur einige Sonderrollen (FSMO).
  • Zwei Dinge gleicht Samba nicht von selbst ab: sysvol und die idmap der eingebauten Konten.

Vorbereitung

  • Wie bei sdc1, siehe Vorbereitung:
  • /etc/hosts: 10.201.1.22 sdc2.samba.it201.int sdc2
  • /etc/resolv.conf: nameserver 10.201.1.21 (sdc1), search samba.it201.int
  • Pakete installieren, Einzeldienste abschalten, smb.conf zur Seite legen.
  • /etc/krb5.conf mit default_realm = SAMBA.IT201.INT und dns_lookup_kdc = true
  • Zeit von sdc1: in /etc/chrony/conf.d/samba.conf server 10.201.1.21 iburst
  • kinit administrator

Beitreten

samba-tool domain join samba.it201.int DC -k yes \
  --option="dns forwarder = 10.201.1.1" \
  --option="idmap_ldb:use rfc2307 = yes"
  • idmap_ldb:use rfc2307, weil sdc1 mit --use-rfc2307 angelegt wurde.
cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
systemctl unmask samba-ad-dc
systemctl enable --now samba-ad-dc
  • /etc/resolv.conf: jetzt sich selbst zuerst, sdc1 als zweiten
nameserver 10.201.1.22
nameserver 10.201.1.21
search samba.it201.int

idmap abgleichen

  • Eingebaute Konten wie Administrator haben auf jedem DC eine eigene ID. Damit Dateirechte in sysvol überall gleich sind, die idmap von dem DC mit der Rolle PDC-Emulator übernehmen.
  • Auf sdc1:
tdbbackup -s .bak /var/lib/samba/private/idmap.ldb
scp /var/lib/samba/private/idmap.ldb.bak root@sdc2:/var/lib/samba/private/idmap.ldb
  • Auf sdc2:
systemctl restart samba-ad-dc
net cache flush

sysvol abgleichen

  • Gruppenrichtlinien nur auf einem DC bearbeiten, am besten auf dem PDC-Emulator sdc1. Von dort regelmäßig auf sdc2 kopieren.
  • Auf sdc1, mit ssh-Schlüssel zu sdc2:
rsync -XAavz --delete-after /var/lib/samba/sysvol/ root@sdc2:/var/lib/samba/sysvol/

Prüfen

samba-tool drs showrepl
samba-tool fsmo show
host -t SRV _ldap._tcp.samba.it201.int
host -t A samba.it201.int
samba-tool user list
  • host -t A samba.it201.int liefert jetzt zwei Adressen.
  • Gegenprobe: Auf sdc2 einen Benutzer anlegen, auf sdc1 suchen.
  • Clients: zweiten DNS-Server eintragen, im DHCP-Bereich und bei festen Adressen.

Ausfall testen

  • sdc1 ausschalten. Dann auf win11 und lx:
nltest /dsgetdc:samba.it201.int
kinit max
  • Anmeldungen müssen weiter funktionieren, nltest nennt jetzt sdc2.

Stolperfallen

  • provision auf sdc2: erzeugt eine zweite, fremde Domäne mit gleichem Namen. Nur join.
  • idmap nicht abgeglichen: Dateirechte in sysvol stimmen auf sdc2 nicht, sysvolcheck meldet Fehler.
  • GPOs an beiden DCs bearbeitet: rsync überschreibt die Änderungen eines DCs.
  • Clients kennen nur einen DNS-Server: Fällt dieser DC aus, finden sie auch den zweiten nicht.

Übungen

Grundübungen

  1. Bereiten Sie sdc2 vor und treten Sie der Domäne samba.it2XX.int als DC bei.
  2. Prüfen Sie die Replikation mit drs showrepl und einem Testbenutzer in beide Richtungen.
  3. Übernehmen Sie die idmap von sdc1.
  4. Gleichen Sie sysvol mit rsync ab und prüfen Sie mit sysvolcheck.
  5. Schalten Sie sdc1 aus und prüfen Sie, ob Anmeldungen weiter gehen.

Vertiefung

  1. Lassen Sie den sysvol-Abgleich alle 10 Minuten per systemd-Timer laufen.
  2. Übertragen Sie die Rolle PDC-Emulator auf sdc2 und zurück.
  3. Was zeigt samba-tool drs showrepl, während sdc1 aus ist?
  4. Entfernen Sie einen DC sauber: samba-tool domain demote auf dem DC selbst.

Fehlersuche

1. Ein auf sdc1 angelegter Benutzer erscheint nicht auf sdc2

Die Replikation läuft nicht. drs showrepl zeigt den Fehler, häufig DNS (sdc2 findet sdc1 nicht über seinen Namen) oder Zeit.

2. samba-tool ntacl sysvolcheck meldet auf sdc2 falsche Rechte

Die idmap.ldb wurde nicht von sdc1 übernommen. Die eingebauten Konten haben auf beiden DCs verschiedene IDs.

3. Nach dem Abschalten von sdc1 können sich Clients nicht mehr anmelden

Die Clients haben nur sdc1 als DNS-Server. Ohne DNS finden sie sdc2 nicht. Zweiten DNS-Server im DHCP und bei festen Adressen eintragen.

Vertiefung

Weiter