das von " anacronataff" beobachtete Problem sollte ja nur bei einer Segmentierung der Netze auftreten (und nur dann benötigt man „-i“ bei wakeonlan) , dürfte dann aber auch andere Router betreffen. Wenn man die Broadcastadresse verwendet, hat man auf jeden Fall bessere Chancen, dass das Paket durchkommt.
Mit der IP-Adressen funktioniert das nur dann zuverlässig, wenn im Router eine statische ARP-Tabelle für alle Rechner vorhanden ist. Das steht auch so in der Manpage.
Wakeonlan sollte also immer die Broadcastadresse verwenden, unabhängig von der Netzstruktur. Das „-u“ sollte also das Standardverhalten sein. Wenn überhaupt, dann sollte die IP-Adressen nur dann verwendet werden, wenn man es explizit angibt.
Die Funktion validip ist nicht sinnvoll für Broadcastadressen, da das letzte Oktett nicht 255 sein darf, laut Funktion. Generell sind alle 255er ausgeschlossen?
/usr/share/linuxmuster/linbo/helperfunctions.sh
# check valid ip
validip(){
(expr match "$1" '\(\([1-9]\|[1-9][0-9]\|1[0-9]\{2\}\|2[0-4][0-9]\|25[0-4]\)\.\([0-9]\|[1-9][0-9]\|1[0-9]\{2\}\|2[0-4][0-9]\|25[0-4]\)\.\([0-9]\|[1-9][0-9]\|1[0-9]\{2\}\|2[0-4][0-9]\|25[0-4]\)\.\([1-9]\|[1-9][0-9]\|1[0-9]\{2\}\|2[0-4][0-9]\|25[0-4]\)$\)') &> /dev/null || return 1
}
Die Funktion lebt von einigen Annahmen. Wenn man statt einem /24er-Netz ein /23er-Netz nutzt, dann sind .0 und .255 im letzten Oktett auch gültige IP-Adressen.