WOL-Proxy mit pf?

cpuwh

New Member
Hallo allerseits,

ich möchte wake-on-lan Pakete (Broadcast), die von einem Dienst in Netz/VLAN x gesendet werden, an ein Netz/VLAN y weiterleiten. Hat jemand eine Idee, wie das mit pf-Bordmitteln machbar ist? Oder kennt jemand einen daemon, der sowas macht?
Danke vorab!

Grüße
Christoph
 
Es gibt keinen wolrelay (wie dhcrelay) - das ist auch relativ schwer, da es zig Implementierungen gibt.

Basteln kann man das ggfs mit tcpdump ix0 | grep magic && scapy ... ix1 (also eine seite ix0 detektiert
und auf der anderen seite ix1 generiert man ein neues paket).
Zustand vom scapy port (oder eigentlich libdnet / dnet) auf OpenBSD im Moment muss man sehen..

(es gab auch mal ein kleines CLI tool (in C) fuer libdnet.. find ich nur grad nicht)
 
Basteln kann man das ggfs mit tcpdump ix0 | grep magic && scapy ... ix1 (also eine seite ix0 detektiert
und auf der anderen seite ix1 generiert man ein neues paket).
Danke für den Hinweis - so ähnlich habe ich es jetzt gemacht:

Code:
tcpdump -lnXi vlan14 src 10.129.244.43 and broadcast and udp port 9 | sed -nE "s/^.*0020: ffff (..)(..) (..)(..) (..)(..).*$/\1:\2:\3:\4:\5:\6/" |
xargs -r0 /bin/ksh -c 'wol -p 9 -i 10.15.255.255 "$@"; wol -p 9 -i 10.30.1.255 "$@"; wol -p 9 -i 10.31.0.255 "$@"; wol -p 9 -i 10.32.0.255 "$@"' ''

Broadcast-Pakete an udp Port 9 werden mit "tcpdump -X" so aufbereitet, dass man mit "sed" die MAC-Adresse des Ziels herausfiltern kann. Diese wird dann an xargs übergeben, welches damit diverse wol-Aufrufe zum Aufwecken des PCs in verschiedene Netze startet, wo die Kiste stehen könnte. Getestet und funktionsfähig unter OpenBSD, wird aber mit FreeBSD ganz ähnlich funktionieren.
Das passende sed-Kommando habe ich hier geklaut, Anregungen für xargs hier.
 
Zurück
Oben