So mal wieder ein kurzer Script was ich mir hab einfallen lassen um mir das Leben ein wenig zu erleichtern, vielleicht hilft es noch jemand anderem.
Folgende Aufgabenstellung:
Man hat ein NAS bzw. unRaid Server und möchte das die Familie darauf zugreifen kann um die neuesten Video’s von den Enkeln herunterzuladen. Die Lösung muss einfach und sicher sein. VPN kommt aufgrund der Komplexität nicht infrage und den unRaid einfach ins Netz zu hängen ist ein NoGo.
Die Lösung ist recht einfach. Ich habe eh einen Intel NUC 24/7 in Betrieb als TV Server etc. Richtet man nun nginx + Fancy Index + TLS + Basic Auth ein und mounted die Shares vom unRaid Read Only kann niemand den Inhalt des unRaid verändern und trotzdem bequem per Browser auf die Daten zugreifen.
Nun ist da nur noch ein Problem, wie bekommt man das NAS geweckt wenn jemand auf den NUC zugreift? Ich wollte eine Lösung ohne PHP oder ähnliches. Naheliegend war für mich dann die Logdatei von nginx überwachen zu lassen und wenn sich jemand erfolgreich anmeldet ein WOL Befehl zu senden. Ich lasse das nachfolgende Script seit ein paar Monaten in einer Screen Session laufen ohne Probleme. Ist zwar nicht schön aber funktioniert.
https://gist.github.com/bjoerns1983/4d5c7a8ded5cb9a2e1ffac18f38071a0
Wie Ihr seht muss etherwake installiert sein, des weiteren müsst Ihr MAC und IP sowie das Interface bei etherwake ändern.
Viel Spass