Serversystem soll auf gestarteten Netzwerkrechner reagieren
Serversystem soll auf gestarteten Netzwerkrechner reagieren
Mein vereinfachter Netzaufbau sieht so aus: Server <-----LAN------> workstation
Ich möchte nun folgendes erreichen:
- Der Server läuft andauernd. Die Netzwerkkabel sind immer verbunden.
- Nach dem die workstation gestartet wird soll der Server das erkennen und nach gewisser Verzögerung ein Skript ausführen.
Wie oder über welche Tools erreiche ich mein Vorhaben?
Ich dachte zuerst an den ifup trigger. Aber das klappt bei meiner obigen Konfiguration nicht - oder?
Ich möchte nun folgendes erreichen:
- Der Server läuft andauernd. Die Netzwerkkabel sind immer verbunden.
- Nach dem die workstation gestartet wird soll der Server das erkennen und nach gewisser Verzögerung ein Skript ausführen.
Wie oder über welche Tools erreiche ich mein Vorhaben?
Ich dachte zuerst an den ifup trigger. Aber das klappt bei meiner obigen Konfiguration nicht - oder?
hi,
endlich mal eine vernünftige Aufgabe für den inetd. Bei Etch ist per Default
der openbsd-inetd installiert. Der braucht eine Zeile in der Datei /etc/inetd.conf:
"saft" ist ein irgendein Service-Name aus /etc/services auf einem freien Port.
Alternativ kann man sich einen neuen Namen ausdenken und in /etc/services
eintragen. "mesh" ist der User, unter dem das Script laufen soll und "test" ist
das Script. Das wird traditionell zweimal angegeben, einmal mit dem vollen
Pfad und einmal nur der Name.
Mit "/etc/openbsd-inetd start" (oder restart) wird der inetd gestartet. Jetzt kann
man das Script von der Workstation aus ausführen lassen:
Mit dem netcat-Befehl in "/etc/rc.local" der Workstation sollte die Sache klappen.
Wenn das Script Ausgaben produziert, werden die auf der Workstation von
netcat angezeigt.
endlich mal eine vernünftige Aufgabe für den inetd. Bei Etch ist per Default
der openbsd-inetd installiert. Der braucht eine Zeile in der Datei /etc/inetd.conf:
Code: Alles auswählen
saft stream tcp nowait mesh /tmp/test test
Alternativ kann man sich einen neuen Namen ausdenken und in /etc/services
eintragen. "mesh" ist der User, unter dem das Script laufen soll und "test" ist
das Script. Das wird traditionell zweimal angegeben, einmal mit dem vollen
Pfad und einmal nur der Name.
Mit "/etc/openbsd-inetd start" (oder restart) wird der inetd gestartet. Jetzt kann
man das Script von der Workstation aus ausführen lassen:
Code: Alles auswählen
netcat server.meine.domain saft
Wenn das Script Ausgaben produziert, werden die auf der Workstation von
netcat angezeigt.
Beware of programmers who carry screwdrivers.
gut daß du es gesagt hast: "Sicherheit". Praktisch die gleiche Funktion
wie mit netcat/inetd bekommt man mit ssh, ich hab's nur noch nicht
probiert. Auf dem Server muß nur der sshd laufen. Auf der Workstation
müsste man sowas ähnliches benutzen:
Das hat den Vorteil (oder Nachteil?), daß man auf dem Server ohne jede
Konfiguration jeden Befehl ausführen kann.
wie mit netcat/inetd bekommt man mit ssh, ich hab's nur noch nicht
probiert. Auf dem Server muß nur der sshd laufen. Auf der Workstation
müsste man sowas ähnliches benutzen:
Code: Alles auswählen
ssh -i identity_file user@server /tmp/test
Konfiguration jeden Befehl ausführen kann.
Beware of programmers who carry screwdrivers.
ssh läuft sowieso. Ich denke über ssh wird für mich eine noch bessere Lösung sein.cosmac hat geschrieben:Code: Alles auswählen
ssh -i identity_file user@server /tmp/test