OPSI-Server aufsetzen
Zurück zu Server_aufsetzen
Inhaltsverzeichnis
- 1 Im Container opsi-1.test2.local einrichten
- 2 Packet Forwarding einschalten
- 3 MASQUERADE der Firewall einschalten
- 4 DHCP Server installieren und einrichten
- 5 /etc/default/isc-dhcp-server
- 6 /etc/dhcp/dhcpd.conf
- 7 vimd
- 8 uib.GmbH OPSI-Repo für deb-Pakete einbinden
- 9 OPSI-Abhängigkeiten installieren
- 10 Samba konfigurieren
- 11 OPSI installieren
- 12 DHCP
- 13 Einspielen der minimalen opsi-Produkte
- 14 TEST: Einbinden des Windows-Clienten in OPSI
- 15 TEST: Softwareinstallation mit OPSI
- 16 Scripte
Im Container opsi-1.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 wget cpio gnupg2
- 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.1 opsi-1.test2.local samba4
Testen mit
getent hosts $(hostname -f)
Ausgabe muss bei unserem Beispiel so aussehen
10.8.190.1 opsi-1.test2.local opsi-1
Packet Forwarding einschalten
vim /etc/sysctl.conf
Die folgende Zeile suchen und einkommentieren (# vor der Zeile entfernen)
net.ipv4.ip_forward=1
MASQUERADE der Firewall einschalten
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Dauerhaft abspeichern und nach jedem Hoststart laden
apt install iptables-persistent
Änderungen an der Firewall speichern mit
iptables-save > /etc/iptables/rules.v4
DHCP Server installieren und einrichten
apt -y install isc-dhcp-server
/etc/default/isc-dhcp-server
In /etc/default/isc-dhcp-server das etsprechende Netzwerkinterface eintragen, auf dem der DHCP-Server auf Anfragen lauschen soll.
vim /etc/default/isc-dhcp-server
In die Zeile
INTERFACES=""
das entsprechende Interface eintragen.
WICHTIG: Nur ein Interface darf rein, da die nc-opsi Tools darauf zurückgreifen!
INTERFACE="eth1"
/etc/dhcp/dhcpd.conf
Einträge für das Netzwerksegment 10.8.190.0/24.
dhcpd.conf leeren
echo > /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
ddns-update-style none; # Ist der offizielle DHCP-Server für alles in 10.8.190.0/24 authoritative; # DNS-Domain-Name in der /etc/resolv.conf des Clienten # Das ist nicht die Windows Domain option domain-name "test2.local"; # Nameserver ist samba4.test.local option domain-name-servers 10.8.190.5; default-lease-time 600; max-lease-time 7200; log-facility local7; subnet 10.8.190.0 netmask 255.255.255.0 { # Der Range für nicht unten aufgeführte Computer per default abgeschaltet. # range 10.8.190.230 10.8.190.245; option routers 10.8.190.1; option broadcast-address 10.8.190.255; default-lease-time 600; max-lease-time 7200; } # Bei dieser Config werden die IPs über den nameserver aufgelöst. # Die Namensauflösung und configuration geschieht auf samba4.test2.local, siehe oben. host win01 { hardware ethernet 00:00:00:00:00:00; fixed-address win01.test2.local; } host win02 { hardware ethernet 00:00:00:00:00:00; fixed-address win02.test2.local; } host win03 { hardware ethernet 00:00:00:00:00:00; fixed-address win03.test2.local; } host win04 { hardware ethernet 00:00:00:00:00:00; fixed-address win04.test2.local; }
root@samba4:~# systemctl restart isc-dhcp-server.service
vimd
- vimd ist ein alias in der bashrc
vim ~/.bashrc
alias vimd='vim /etc/dhcp/dhcpd.conf'
uib.GmbH OPSI-Repo für deb-Pakete einbinden
vim /etc/apt/sources.list.d/opsi.list
deb http://download.opensuse.org/repositories/home:/uibmz:/opsi:/opsi40/Debian_8.0 ./
Key importieren
wget -O - http://download.opensuse.org/repositories/home:/uibmz:/opsi:/opsi40/Debian_8.0/Release.key | apt-key add -
OPSI-Abhängigkeiten installieren
apt-get install -y wget lsof host python-mechanize p7zip-full cabextract openbsd-inetd samba samba-common smbclient cifs-utils
Samba konfigurieren
vim /etc/samba/smb.conf
interfaces = 127.0.0.0/8 eth1 #=> oder dem System entsprechendes bind interfaces only = yes
Optional die Workgroup umbenennen.
workgroup = OPSI
Testlauf
adduser opsi-user smbpasswd -a opsi-user
vim /etc/samba/smb.con
[test] comment = test path = /local/all browseable = yes read only = no
Wir starten unseren Windows Testclienten und melden uns mit einem Domänenuser an.
Im Explorer geben wir \\opsi-1\test ein.
Die Frage nach dem Login beantworten wir mit:
opsi-1\opsi-user <password> des opsi-users
Jetzt sollte der Inhalt des Verzeichnisses zu sehen sein.
Wir haben als Mitglied einer Domäne uns erfolgreich in das Share einer Workgroup eingeloggt, die nicht Teil der Domäne ist.
OPSI installieren
apt update apt dist-upgrade apt -y install opsi-atftpd
Bei der Installation von opsi-depotserver wird ein SSL-Zertifikat erstellt.
Dazu stellt der Installer die entsprechenden Fragen.
Folgende Fragen werden noch gestellt:
- Soll der Installer die smb.conf bearbeiten?: yes
- Soll der Installer die dhcpd.conf bearbeiten?: yes
- Soll der Installer das File sudoers bearbeiten?: yes
apt -y install opsi-depotserver apt -y install opsi-configed
Das bootimage hat Probleme die opsi_depot-Freigabe per mount.cifs zu mounten. (siehe opsi-getting-started-stable-de.pdf Seite 14)
systemctl disable winbind
Wir benutzen die OPSI default-config. Deshalb brauchen wir nichts ändern.
opsi-setup --init-current-config opsi-setup --set-rights systemctl restart opsiconfd.service systemctl restart opsipxeconfd.service
Damit es ganz sicher funktioniert. Eigentlich wurde die Datei schon vom Installer ergänzt.
opsi-setup --auto-configure-samba
Alles neu starten
systemctl restart smbd nmbd
Setzt ein für den User pcpatch ein OPSI-Password, ein Systempassword und ein Samba-Password.
"Die PCs melden sich zwecks Installation von Softwarepaketen als dieser User an und haben dann Zugriff auf die Installationsdateien auf den hierfür vorgesehenen Shares. (Quelle: opsi-getting-started-stable-de.pdf Seite 28-29)"
Das Passwort wird nur einmal abgefragt. Ein menschlicher User wird es niemals brauchen.
opsi-admin -d task setPcpatchPassword
Ein Adminuser für OPSI (Quelle: opsi-getting-started-stable-de.pdf Seite 30)
useradd -m -s /bin/bash adminuser passwd adminuser smbpasswd -a adminuser usermod -aG opsiadmin adminuser usermod -aG pcpatch adminuser
Der adminuser ist unser User, mit dem wir von dem Windows-Maschinen auf die OPSI-Shares zugreifen, per opsi-client-agent neue PCs händisch in OPSI aufnehmen.
DHCP
OPSI stellt Bootimages bereit. Damit sie erreichbar sind, muss die dhcpd.config gändert werden.
Wurde schon mal wärend der Installation abgefragt, aber nicht gemacht.
opsi-setup --auto-configure-dhcpd
Es wird next-server und filename eingefügt. Aber auch sonst wird in der config rumgewütet.
Für die nc-opsi Scripte ist es unerlässlich, das die "host ....... "Einträge auf einer Linie stehen.
Einspielen der minimalen opsi-Produkte
(Quelle: opsi-getting-started-stable-de.pdf Seite 33)
opsi-product-updater -i -vv
Jetzt werden OPSI-Packete vom Server der uib.GmbH herunter geladen. Das kann einige Zeit dauern.
TEST: Einbinden des Windows-Clienten in OPSI
- Starten des Windows-Clienten, einloggen als Domain-User mit Admin-Rechten.
- Explorer aufrufen und \\opsi-1\ eingeben.
- Das Share opsi_depot öffnen.
- Den Anmeldedialog beantworten:
- Benutzername: opsi-1\adminuser
- Kennwort: <Passwort> adminuser
- Im Share in das Verzeichniss opsi-client-agent wechseln
- service_setup.cmd aufrufen
- Sollte das scheitern, auf dem OPSI-Server folgende Befehle ausführen.
root@opsi-1:~#cd /var/lib/opsi/depot/opsi-client-agent root@opsi-1:/var/lib/opsi/depot/opsi-client-agent# chmod 750 service_setup.cmd
- service_setup.cmd im Share aufrufen
- Passwortabfrage durch service_setup.cmd
- Benutzer: adminuser
- Kennwort: <Passwort> adminuser
Danach wird der opsi-client-agent installiert.
TEST: Softwareinstallation mit OPSI
Z.B. das Paket
http://download.uib.de/opsi4.0/products/contribute/full-package/7zip_9.22-1.opsi
für Tests herunter laden und per
opsi-package-manager -i 7zip_9.22-1.opsi
in OPSI installieren.
Das Paket für den Windows-Clienten zur Installation vorsehen und Windows-Clienten neu starten.
Das OPSI-Paket wird installiert.
Scripte
Es gibt ein paar Scripte für die Commandozeile.
Sie sind sehr grobschlächtig, machen aber ihren Job.
wget https://opsi.netz.coop/scripte/opsi-scripte-1.0.tar --no-check-certificate
Bedienung: Im Script die gewünschten Pakete getrennt mit Leerzeichen eintragen. Beispiel.
pkgs="7zip autologon"
add_software <hostname> setup_host <hostname>
Diese Scripte benötigen keine weitere Konfiguration.
reboot_host <hostname> shutdown_host <hostname>
readd_host <ignorieren, ist Müll>