PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Server automatisch beenden, wenn kein Client mehr läuft?



campylobacter
11.02.2005, 20:44
Hallo,

Mein Server vergibt mit DHCP die IP-Adressen an die Clienten. Die laufen allerdings sehr unterschiedlich. Deshalb will ich, das der Server automatisch herunterfährt, wenn kein Client mehr vorhanden ist.

Im Grunde funktioniert es ja so: ping -c 3 192.168.0.50 || halt

Das natürlich als Cron-Job zB alle 10 Minuten. Allerdings sind die IP Adressen ja nicht fix vergeben. Deshalb meine Frage, wie ich eine Liste aller Clientrechner bekommen kann, bzw. eben keine Liste, weil kein Client online ist.

Gibt´s da Möglichkeiten?

Vielen Dank!
mfg campy

tr0nix
11.02.2005, 21:39
Hi Campy

Das macht im Prinzip keinen Sinn. Wenn du dann die Clients abschaltest und die IP Addresse releasest, ist ja dann kein DHCP Server da, um die IP wieder zu vergeben! Wenn du den Server nur für DHCP brauchst würde ich statische IP's verwenden.

Gruss
Joel

campylobacter
11.02.2005, 21:56
Es würde halt so gehen:

Server läuft -> vergibt IP Adressen an Client -> Client wird abgeschalten -> Server erkennt das, und schaltet auch ab -> Client wird wieder eingeschaltet -> Server wird gleichzeitig mit WOL geweckt, und kann dann auch wieder die IP Adresse vergeben.

qmasterrr
11.02.2005, 22:43
nur damit du deine IPs dynamisch vergeben kannst? Gib ihnen wenn möglich einfach eine feste ip.

Dann kannst du dir viel stromkosten spaaren

tr0nix
11.02.2005, 23:05
Jo find das auch n'bisserl Overhead ;). Nen DHCP-only Server. Wenn du Linux-only Workstations hast, sollte im _Prinzip_ ein Ping auf Broadcast deines Netzes ein Reply aller im gleichen Netz befindenden Workstations zurückgeben. Bin mir aber nicht mehr so sicher, aber glaubs bei Linux is das so.

Havoc][
12.02.2005, 09:16
Overhead? Also ich finde solche Grundsatzdiskusionen immer total für den A****. Jetzt mal ernsthaft Leute...! Ist doch egal obs Overhead ist oder nicht. Er hat eine Frage gestellt, die er gerne beantwortet haben möchte. Vielleicht gibt es einen Grund dafür, warum er das so vor hat. Ausserdem sind es ja nicht eure Stromkosten.

@campylobacter
Du kannst über den DHCP auch anhand der Mac adressen feste IP Adressen vergeben. Sodas der Rechner "Workstation1" immer die IP Adresse 192.168.0.23 oder so zugewiesen bekommt. Dann könntest du das theoretisch mit deinem Ping-gedönz machen. Es gibt sehr wahrscheinlich auch elegantere Lösungen, aber was besseres fällt mir jetzt nicht ein.

Havoc][

tr0nix
12.02.2005, 12:48
Havoc: Deshalb der Tipp von mir mit dem Broadcast Ping. Hat funktioniert - habs eben ausprobiert.
Wieso sollten wir aber nicht noch die Idee kommentieren wenn es wirklich nicht sehr sinnvoll ist so zu machen?

campylobacter
12.02.2005, 12:58
tr0nix: Wie hast du das gemacht? Bei mir geht da nichts:

[root@server ejabberd]# ping -b -c3 192.168.0.255
WARNING: pinging broadcast address
PING 192.168.0.255 (192.168.0.255) 56(84) bytes of data.

--- 192.168.0.255 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 1999ms


Das ganze funktioniert ohnehin nur, wenn ich den Server per WOL aufwecken kann, und der schneller startet als der Client, sonst bekommt der ja kein IP.
Sonst geht es wohl wirklich nur mit festen IP Adessen. Ob jetzt per DHCP oder fest eingetragen ist eigentlich nebensächlich.

campylobacter
12.02.2005, 15:01
In dem Beitrag ober mir, ist die Rede von "nmap". Das scheint auch zu sein, was ich suche.


[root@server wolfgang]# nmap -sP 192.168.0.2-100
Starting nmap 3.78 ( http://www.insecure.org/nmap/ ) at 2005-02-12 14:57 CET
Nmap run completed -- 99 IP addresses (0 hosts up) scanned in 2.031 seconds


Ich müßte "nur" ermitteln, ob 0 hosts up gefunden wird, dann kann der Server herunterfahren.
In etwa:
if found "0 hosts up" then halt

Gibts da ein Programm zum auslesen des nmap Ergebnisses?

mfg campy

Havoc][
12.02.2005, 18:31
Wieso sollten wir aber nicht noch die Idee kommentieren wenn es wirklich nicht sehr sinnvoll ist so zu machen?
Weil es immer irgendwelche Umstände gibt, die nicht unbedingt erwähnt wurden. z.B. Könnte es ja sein das er von seinem Ausbildungsbetrieb genau diese Aufgabe bekommen hat. Und wir könnten jetzt stunden lang darüber diskutieren ob das sinnvoll ist oder nicht. Fakt ist ersteinmal das er diese Aufgabe erledigen muss.
Darum ging es mir eigentlich nur. Hab eher dieses "ist eine scheiss idee" als "mach das doch so oder so" aus den Beiträgen gelesen. Und das fand ich schade. Nichts für ungut tr0nix.

Havoc][

qmasterrr
12.02.2005, 18:51
% nmap -sP 192.168.2.10-12 | grep "0 hosts up" && echo Blub

Aber auch dies ist keine tolle lösung, da die clients nicht unbedingt von nmap erkannt werden müssen.

campylobacter
12.02.2005, 21:56
Danke, das funktioniert sehr gut. nmap als User ausgeführt liefert keine Ergebnisse, aber als Root läuft es bis jetzt ganz gut.

mfg campy

ProJerem
01.04.2006, 19:22
Hallo,

Mein Server vergibt mit DHCP die IP-Adressen an die Clienten. Die laufen allerdings sehr unterschiedlich. Deshalb will ich, das der Server automatisch herunterfährt, wenn kein Client mehr vorhanden ist.

Im Grunde funktioniert es ja so: ping -c 3 192.168.0.50 || halt

Das natürlich als Cron-Job zB alle 10 Minuten. Allerdings sind die IP Adressen ja nicht fix vergeben. Deshalb meine Frage, wie ich eine Liste aller Clientrechner bekommen kann, bzw. eben keine Liste, weil kein Client online ist.

Gibt´s da Möglichkeiten?

Vielen Dank!
mfg campy


Hallo,
ich bin ziemlicher Neuling und die Idee interessiert mich.
Mir gelingt es aber unter Suse nicht einmal, einen Cron-Job zu erstellen,
weil ich mich zwar mit Windows AT-Jobs auskenne, aber die Syntax unter Linux mangelt mir.
Ich möchte meinen Internet-Server auch beenden, wenn z.B. 30 minuten lang kein Client mehr da ist,
diese Clients sind jedoch Windows XP-Rechner mit eigenen Firewalls, daher nicht unbedingt anpingbar.

Ggfs. würde es mir genügen, wenn ich einen zeitgesteuerten Cron-Job hinbekäme, der z.B. u 2 Uhr nachts den Rechner beendet.

Gruß
PJ

shellmaster
02.04.2006, 12:35
ich mach das ganze in dem die arp kernel tabellen ausgewertet werden. en script schaut nach ob arp noch ip adressen beinhaltet. falls nicht ist kein client mehr am netz und du fährst deinen server runter. bei bedarf kann ich dir des script schicken...