eigener Updateserver

Started by thomas_hh, September 02, 2016, 11:17:09 PM

Previous topic - Next topic
Hallo zusammen,

wenn ich einen lokalen HTTP-Server für die Firmwareupdates benutzen möchte (hatte Franco mal so beschrieben), sucht sich der Updatedienst das richtige Interface über die Routingtabelle z.B. auf eine IP im LAN, oder nimmt er immer das WAN-Interface?

Die Zuordnung vom FQDN, den ich im Updater eintragen muss, auf die IP könnte ich ja im DNS-Forwarder vornehmen, oder?

Grüße und schönes Wochenende
Thomas

Hi Thomas,

Es ist noch etwas simpler. Schritt 1 ist das Kopieren der Update-Server, z.B.:

http://mirror.fra10.de.leaseweb.net/opnsense/

Eigentlich wird nur das "sets" und das "FreeBSD:10:amd64" bzw. "FreeBSD:10:i386" Verzeichnis benötigt.

Das kommt auf einen handelsüblichen HTTP Server im lokalen Netz.

Schritt 2 ist das Eintragen des lokalen Servers in der GUI, ob IP oder DNS ist egal, aber es muss auflösbar sein. Entsprechend der IP wird die Route ausgewählt, d.h. wenn die IP im LAN ist wird auch mit dem LAN kommuniziert. Ich habe ein Bild angehängt mit der Einstellung.


Grüße
Franco

September 03, 2016, 10:32:00 PM #2 Last Edit: September 04, 2016, 08:30:15 PM by thomas_hh
Hallo Franko,

ok, habe ich verstanden. Benötige ich eigentlich das komplette Verzeichnis "FreeBSD:10:amd64"
oder kann ich noch weiter abspecken?
Brauche ich darin mehr als "16.7" und die "MINT" (wegen der letzten 3 Versionen, wenn man mal zurück will) ?
Und darin die libressl, kann die auch weg?

Ich benötige nur die Daten für "OPNsense 17.6/ BSD64 / openssl". Wären das die Verzeichnisse von oben?

Grüße Thomas

und danke für die Antworten.
Ist ein tolles Projekt und ein tolles Forum!!


Update: Ich habe schon mal ein wenig unter Windows probiert. Ich wollte allerdings keinen "Großen" HTTP Server aufbauen und habe es mal mit "HFS HTTP-Fileserver" probiert. Leider kommt Windows nicht mit dem Doppelpunkt im Pfad klar. Gibt es da noch einen Trick?
Ich hatte auf eine "kleine Lösung" gehofft, auch weil ich mich mit HTTP-Servern nicht auskenne. Ich wollte damit nur ein oder zwei Maschinen updaten die eigentlich keinen Internetzugriff haben.


Hallo zusammen,
ich hatte zwar franco direkt angesprochen, es darf aber natürlich auch jemand anderes antworten ;)

Nein, im Ernst, ich komme da nicht weiter und wenn noch jemand einen Tipp hat, würde ich mich freuen.
Oder bin ich "unten durch" weil ich Windows benutze  :)

Gruß Thomas

Ich glaube, dass so etwas nur der Franco der ein anderer Entwickler wüsste...  ::)
Die Frage ist ja schon recht speziell und soooo groß ist die Verbreitung von OPNSense ja noch nicht.

PS: Benutze auch Windows  ;)

Mit Webservern ist das so, dass man eine Ressource abfragt und auf diese dann eine Antwort bekommt. Der Doppelpunkt wird vermutlich in der URL bleiben müssen, da der Client unter dieser URL abfragen wird. Das heißt aber noch lange nicht, dass der Webserver 1:1 so im Dateisystem suchen muss (wobei das häufig der Fall ist). Manche Webserver können URL rewriting und damit sollte es gehen - du musst die Verzeichnisse dann im Dateisystem ebenfalls umbenennen.

Hinweis: Suche mal nach alternativen Datenströmen und NTFS, das wird dir im Bezug auf die Bedeutung des Doppelpunkts als Sonderzeichen auf Windows helfen.


Beim Apache httpd und beim nginx bin ich mir ziemlich sicher, dass es geht.
https://httpd.apache.org/docs/current/mod/mod_rewrite.html
https://httpd.apache.org/docs/2.0/misc/rewriteguide.html
https://nginx.org/en/docs/http/ngx_http_rewrite_module.html

Ganz dreckig geht es auch mit lighttpd auf OPNsense, /usr/local/www ist ja über 127.0.0.1 zu erreichen. ;)

Da könnte man mittels wget die Verzeichnisse ziehen per Skript, vielleicht unter /usr/local/www/updates und dann einfach "https://127.0.0.1/updates" eintragen.

Wenn du kein *SSL benutzt brauchst du die Verzeichnisse natürlich nicht. Wenn du kein amd64/i386 hast gilt das gleiche. Der sets/ Ordner mischt alle Architekturen historisch bedingt, da kann man dann aber auch alles was *-amd64-* oder *-i386-* ist weglassen.