[Gelöst] [FAQ] Wenn der Client den Opsi-Server nicht findet.

Antworten
Benutzeravatar
Thomas_H
Beiträge: 525
Registriert: 09 Jun 2010, 11:57
Wohnort: Havelland

[Gelöst] [FAQ] Wenn der Client den Opsi-Server nicht findet.

Beitrag von Thomas_H »

Hallo Gemeinde...

leider ging mein letzter Beitrag durch den Forenumzug verloren, also versuche ich mal zu rekonstruieren, was ich da zusammengeschrieben habe. Nachfolgendes beruht auf meinen eigenen Erfahrungen, auf Fehler die ich gemacht habe und wie ich sie beseitigen konnte und hoffe, dass dieser Beitrag von jenen ergänzt wird, die ebenfalls Probleme gelöst haben und sich die Arbeit mit der Beschreibung des "Wie?" machen. Da ich auch immer wieder im Forum von Linux-Neulingen lese, mögen die Fortgeschrittenen es nachsehen, wenn ich an wenigen Stellen fast eine "Schräubchenkunde" betreibe. Vielleicht entsteht dabei so eine FAQ oder Checkliste, was man alles falsch machen kann und wie man es behebt.
Falls ich hier was falsch beschrieben habe, bitte ich um Berichtigung, damit andere nicht die gleichen Fehler machen und ich den Fehler (der sich vielleicht noch nicht bemerkbar gemacht hat) ebenfalls beheben kann. Auch Anmerkungen und Verbesserungen sind gerne gesehen.


Problem:

Nach Installation von Opsi auf einem SuSE-System fand der Client-PC trotz installiertem Opsi-Client den Opsi-Server nicht. Schon bei der Anmeldung des Client-PCs bei der Installationdes Clientd bekam ich immer die Adresse 127.0.0.2 angezeigt, obwohl der Opsi-Server die Adresse 192.168.0.3 hat. Folge war, dass der Clientd auf dem Client-PC keine Installation durchführte und alle Demand-Anforderungen, die auf dem Opsi-Server ausgelöst wurden (für die Laien: Demand ist die Aufforderung für den Client-PC, die ausgewählte Software nun zu installieren, oder anders gesagt, den Installationsprozess von Ferne anzustoßen) ins Leere liefen.


Ursachen:

Zahlreiche Fehler können die Kommunikation verhindern. Fehlerhafte Einträge in den conf-files oder auch die Netzwerkkonfiguration des Servers/Clients können ausschlaggebend sein. Opsi ist was die Einrichtung des Servers angeht sehr pingelig und verlangt ein ordnungsgemäß eingerichtetes Netzwerk. Ordnungsgemäß bedeutet nicht nur, dass der Server einen Namen hat und eine IP-Adresse nebst Netzmaske, sondern vorallem auch die Angabe einer Domain in der Form

Code: Alles auswählen

servername.domain.local
also beispielsweise "opsiserver.heimnetz.local".
Allein das Fehlen der ordnungsgemäßen Domainangabe führte bei meinen ersten Gehversuchen mit Opsi zu Fehlern. "opsi-server@tux-net" ist eben etwas anderes als "opsi-server.tux-net.local" !!
Ein fehlerhafter Eintrag der IP-Adresse in der config.ini (/opt/pcbin/install/opsi-client-agent/files/opsi/cfg/config.ini, zu finden im Abschnitt [opsiclientd]) kann dazu führen, dass der Client-PC permanent ins Leere anfragt.
Ein Eintrag in der Datei /etc/hosts des Servers bzw. Clients, welche eventuell gesetzt wurden (das hatte ich beispielsweise falsch) können dazu führen, dass eine falsche IP-Adresse zurückgegeben wird, wenn eine DNS-Anfrage erfolgt.


Lösung:

Wie vom UIB-Support immer und immer wieder gefordert: zuerst nochmals das Handbuch lesen und Schritt für Schritt überprüfen, ob auch wirklich alle Schritte umgesetzt wurden. Den ganz Eiligen sei gesagt, dass die Opsi-Installation eben nicht "out of the box" funktioniert. Das ist auch nicht möglich, weil eine Menge Vorleistung durch die Einrichtung des Servers getan werden muss.
Wenn der Opsi-Server nach Handbuch installiert worden ist, auf jeden Fall überprüfen, ob der Servername auch mit Angabe der Domain erfolgt ist, wie oben beschrieben.

Mit dem Befehl

Code: Alles auswählen

hostname -f
kann man sich den kompletten Namen des Servers ausgeben lassen. Dieser muss zwingend die Form

Code: Alles auswählen

servername.domaene.local
aufweisen. Ist das nicht der Fall, dann muss der Hostname vervollständigt werden. Das ist zumeist über die Einstellungen des Netzwerkes sehr einfach möglich.

Ein ping zusammen mit dem ermittelten Hostnamen

Code: Alles auswählen

ping servername.domaene.local
sollte auch die korrekte und tatsächlich vergebene IP-Adresse des Opsi-Servers ausgeben. Stimmt die IP-Adresse nicht mit der tatsächlich vergebenen Adresse überein, ist nicht auszuschließen, dass ein alter Eintrag in der Datei /etc/hosts einen falschen Wert zurückliefert. (So geschehen nach einem Update des Opsi-Servers mit einem neuen Betriebssystem und der Vergabe einer neuen IP-Adresse. Während der Server nun die xxx.xxx.xxx.3 bekommen hatte, stand er in der /etc/hosts noch mit .12 drin)
In meiner /etc/hosts sind ausserdem zwei weitere Einträge drin, deren Sinn ich bei Einsatz eines DNS jedoch bezweifle :)

Code: Alles auswählen

192.168.0.3             opsi-server.tux-net.local      opsi-server
Schließlich und endlich die Überprüfung der Datei /opt/pcbin/install/opsi-client-agent/files/opsi/cfg/config.ini , hier insbesondere der Abschnitt [opsiclientd].
Dort findet man den Eintrag

Code: Alles auswählen

config_service.url = https://....:4447
dieser muss natürlich auf die korrekte IP-Adresse des Opsi-Servers verweisen.

Wenn nun auch vom Client-PC aus der Befehl

Code: Alles auswählen

ping servername.domaene.local
Auf den Opsi-Server verweist, sollte der Installation des Opsi-Clientd nichts im Wege stehen. Dazu habe ich in der /etc/samba/smb.conf eine Freigabe eingerichtet, die auf das Installationsverzeichnis des Opsi-Clientd verweist:

Code: Alles auswählen

[prelogin]
        comment = opsi install share
        browseable = yes
        printable = no
        path = /opt/pcbin/install/opsi-client-agent
        available = yes
        writeable = no
Schließlich und endlich die Befehle

Code: Alles auswählen

opsi-setup --init-current-config
opsi-setup --set-rights
rcopsiconfd restart
rcopsipxeconfd restart
ausführen und dann müßte eigentlich alles funktioniereren.

Gruß

Thomas_H
Kennst Du schon die WIKI für OPSI-Scripte? Fertige Installationsscripte bekommen und ablegen unter OPSI-Wiki
Aus dem Glashaus :) : UIB bietet auch Schulungen und Supportverträge für Opsi an.
Bild
Antworten