FreeBSD + ReadOnly

LeoLinux

Well-Known Member
Hi,

ich habe mir einen kleinen FreeBSD Router gebastelt und würde das komplette ding jetzt gerne auf ReadOnly setzen, so dass ein Stromausfall keinen Schaden an den Daten anrichten kann. Ich habe mal gehört dass es im Bootmenü irgendetwas mit Security bla blub gäbe und man damit etwas machen könnte ...?!

Kann mir dazu vielleicht jemand mehr Tipps dazu geben?


Danke


MfG,

Leander
 
Also, ich mache es so:
Das System lebt ausschließlich auf /, aber eine Unterteilung in /usr und so weiter ist natürlich auch ohne weiteres möglich. Wichtig ist hier nur, dass wirklich Partitionen durch die fstab read-only gemountet werden.

In die /etc/rc.conf kommt dann:
Code:
varmfs="YES"
varsize="8192k"
populate_var="YES"
tmpmfs="YES"
tmpsize="8192k"

Dies legt zwei Ramdisks per mfs an, eine in /tmp und eine in /var. Beide sind 8mb groß, /var wird außerdem mit einer grundlegenden Dateisystemstruktur gefüllt. In 7.0 könnte man statt mfs auch tmpfs nehmen, aber dazu habe ich noch keine Erfahrungen.

Der Vorteil dieser Methode ist, dass sie schnell umgesetzt werden kann. Nachteilig ist, dass /var halt komplett im RAM liegt, was schnell Probleme mit der Größe geben kann, wenn das System mehr als soll als nur routen. Außerdem gehen die Einträge in /var - also auch Logdateien oder schlimmer die Paketdatenbank - beim Neustart oder Stromausfall verloren.

Was du im loader einstellen kannst, sind Securelevel, welche die machbaren Dinge eingrenzen. So zum Beispiel das Laden von Kernelmodulen oder das Aushängen von Dateisystemen. Das wird dich hier nicht weiterbringen. Es wäre auch möglich, mit ein wenig Voodoo im loader ein System zu bauen, welches komplett aus dem RAM läuft. Das wird in diskless(8) beschrieben.

EDIT: OK, das überschneidet sich nun mit d4mi4n :)
 
hmm .. es läuft halt ncoh ein Apache22 drauf .... und die Paketdatenbank sollte nach nem reset auch noch da sien ;-) ... aber für den rest der logs könnte ich mit cron ein Aufräumkomando einrichten ...


ich les mir jetzt mal eben ncoh den anderen Artikel durch.


MfG,

Leander
 
... also ich denke ich werde auf den d4mi4n vorgeschlagenen Artikel zurückgreifen müssen um das so umzusetzen wie ich mir das vorgestellt habe.

Ich stoße dabei nur ein folgendes Problem ... ich nutze FreeBSD 6.2 ... und da gibt es die Datei /etc/diskless gar nicht ... ?!


MfG,


Leander
 
Wie müsste meine fstab dann eigentlich aussehen, wenn ich so ein RAM FS habe??? oder bleiben die Einträge einfach so wie sie sind?!


Leander
 
Wenn du es wie von mir beschrieben machst, brauchst du die fstab nicht anpassen. Hier mountet das rc-Script für dich.
 
Schau dir mal TinyBSD an.

Ist auch in den Ports unter sysutil/tinybsd zu finden.

Mein kleiner Router läuft im Prinzip 'readonly' bis auf einen USB-Stick auf dem das root-Verzeichniss vom Webserver (www/lighttpd) und eine mysql-Datenbank gespeichert sind.

Die Paket-Liste ist unter /var/db/pkg/*. Kann per tar ö.ä. gesichert und wiederhergestellt werden.
 
Back
Top