Samba Active Directory Server aufsetzen
Inhaltsverzeichnis
Auf dem Host Container samba4.test2.local einrichten
Als erstes wird die erzeugte Conf bearbeitet.
vim /var/lib/lxc/samba4.test2.local/config
Entfernen
lxc.network.type = empty
Hinzufügen
# Autostart des Containers ( 0 steht für kein Autostart) lxc.start.auto = 1 # Der OPSI-Container bekommt 10s verzögerung nützt nichts, das interene Netz baut sich fehlerhaft auf. # lxc-stop und lxc-start schaft Abhilfe. Nicht gut. lxc.start.delay = 5 # Optional lxc.start.order = 100 # Netzwerk # Erzeugt tun-device, dass in die Bridge lxcbr0 eingefügt wird (Internet) lxc.network.type=veth # Bridge, in der das Interface eingefügt wird lxc.network.link=lxc-in lxc.network.hwaddr = 00:FF:AA:00:21:01 lxc.network.ipv4 = 10.0.0.5/24 # Gateway des Containers lxc.network.ipv4.gateway = 10.0.0.1 lxc.network.flags=up # Name des TUN-Devices auf dem Host lxc.network.veth.pair=samba4-in # Erzeugt tun-device, dass in die Bridge lxc-out eingefügt wird (Intranet) lxc.network.type=veth # Bridge, in der das Interface eingefügt wird lxc.network.link=lxc-out lxc.network.hwaddr = 00:FF:AA:00:21:11 lxc.network.ipv4 = 10.8.190.5/24 lxc.network.flags=up # Name des TUN-Devices auf dem Host lxc.network.veth.pair=samba4-out # OpenVPN # Damit OpenVPN im Container genutzt werden kann. lxc.cgroup.devices.allow = c 10:200 rwm #Setzt den Hostnamen mittels <Container>/rootfs/etc/hosts lxc.utsname = samba4
Im Container samba4.test2.local einrichten
In einem Container, der mit lxc-create erzeugt wurde, ist viel weniger Software installiert als auf dem Host, der mit grml-debootstrab erzeugt wurde.
apt update apt -y install bash-completion vim less iputils-* dnsutils
- Zeitzone anpassen
dpkg-reconfigure tzdata
Die Zeit übernimmt der Container vom Host, die Zeitzone nicht.
- /etc/hosts
127.0.0.1 localhost 10.8.190.5 samba4.test2.local samba4
Testen mit
getent hosts $(hostname -f)
Ausgabe muss bei unserem Beispiel so aussehen
10.8.190.5 samba4.test2.local samba4
Samba4 AD DC installieren und einrichten
apt install samba krb5-config smbclient winbind
- Samba4 AD DC install
- Genutzt zur Ersteinrichtung des AD DCs, sehr knapp. Bitte in einem zweiten Tab öffnen
- # set realm: die Anleitung scheint den fqdn des Servers als REALM zu nutzen.
- REALM: test2.local
- # specify the hostname ... of Kerberos servers for your Kerberos realm:
- samba4.test2.local
- # specify the hostname ... Administrative server for your Kerberos realm:
- samba4.test2.local
- # rename or remove the default config file
root@smamba4:~# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak => Die Endung .bak ist ein MUSS für alte Leute :-)
- Erzeugen des REALMs. VORHER den Abschnitt auf server-world.info lesen!
root@smb:~# samba-tool domain provision --use-rfc2307 --interactive
- # restart system
root@samba4:~# reboot
Unsere Domäne test2.local steht mit den Fähigkeiten eines Windows Server 2008 R2 bereit.
Testweise binden wir einen Windows-Clienten in die Domäne ein.
Für den Beitritt benötigen wir einen berechtigten User und sein Passwort.
Beim domain provision haben wir ein Passowrt vergeben.
Der dazugehörige User heißt administrator.
Ab jetzt können wir uns mit Usern der Domäne am Clienten anmelden.
Bitte beachten: noch haben wir keine Roaming Profiles.
Ab jetzt steht auch ein DNS-Server zur Verfügung. Der OPSI-Server wird ihn auch nutzen.
systemctl
systemctl unmask samba-ad-dc systemctl enable samba-ad-dc systemctl start samba-ad-dc
Fehler Roaming Profile
- Es traten Fehler mit der Profilsyncronisierung auf.
- Neue Dateien wurde nicht mehr im Profil abgespeichert
journalctl -xn 100|grep -i oplock
- Oplock break failed for file schueler.V2/ntuser.ini
- Workaround
vim /etc/samba/smb.conf
veto oplock files = /NTUSER.DAT/
DNS-Records erzeugen
Forward-Lookup-Zone
- Der Name des OPSI-Servers muss im Netzwerk auflösbar sein.
samba-tool dns add localhost test2.local opsi A 10.8.190.1 -U administrator --password=XXXXXXXXXX
- Auch die Clients müssen auflösbar sein.
Dazu benutzen wir zwei sequence. Die erste von 41-99, die zweite von 100-240.
Der Grund ist, dass samba-tool keine IP mit z.B. 030 im letzten Block annimmt.
for i in {41..99};do samba-tool dns add localhost test2.local win0$i A 10.8.190.$i -U administrator --password=XXXXXXXXXXXXX ;done for i in {100..240};do samba-tool dns add localhost test2.local win0$i A 10.8.190.$i -U administrator --password=XXXXXXXXXXXXX ;done
Reverse-Lookup-Zone
Zone erzeugen.
samba-tool dns zonecreate localhost 190.8.10.in-addr.arpa. -U administrator --password=XXXXXXXXXXXX
Daten eintragen.
samba-tool dns add localhost 190.8.10.in-addr.arpa. 1 PTR opsi.test2.local -U administrator --password=XXXXXXXXX samba-tool dns add localhost 190.8.10.in-addr.arpa. 1 PTR samba4.test2.local -U administrator --password=XXXXXXXXX
- PTR-Records für die Clients, mit sequence wie oben
for i in {41..99};do samba-tool dns add localhost 190.8.10.in-addr.arpa $i PTR win0$i -U administrator --password=schu22=?alt;done
for i in {100..240};do samba-tool dns add localhost 190.8.10.in-addr.arpa $i PTR win$i -U administrator --password=schu22=?alt;done
openvpn
- Dazu muss das tun Device erzeugt werden
vim /etc/rc.local
mkdir /dev/net mknod /dev/net/tun c 10 200 chmod 0666 /dev/net/tun