OPNsense mit ZFS Filesystem

Für OPNsense ist ZFS als Root Filesystem durchaus von Vorteil, so kann man z.B. automatisiert regelmäßig Snopshots machen und dieses extern auf Veränderungen überprüfen. 

Es gibt eine Möglichkeit, das Firewall Plattform OPNsense mit ZFS als Root Filesystem zu installieren. Der OPNsense Installer unterstützt das nicht, daher muss man den Umweg über eine normale FreeBSD Installation gehen. Zunächst wird BSD als Minimal-Installation durchgeführt, es werden werden im Rahmen der Grundinstallation lediglich ein passendes ZFS Layout ausgewählt und ggf. ssh installiert. Da OPNsense derzeit auf FreeBSD 12.1 basiert, sollte auch diese Version für die ZFS Installation verwendet werden.

Ansonsten folgt man der Anleitung in https://github.com/opnsense/update#opnsense-bootstrap und kommt so zu einer OPNsense Installation mit ZFS als Root Filesystem.

Das opnsense-bootstrap Skript entfernt zunächst alle FreeBSD Pakete und installiert seine eigenen Pakete. Danach läuft ein normales OPNsense Update und im letzten Schritt bootet das System und man hat eine OPNsense Installation.

Das OPNsense Install Script überschreibt das in FreeBSD gesetzte Root Passwort durch das OPNsense Default Passwort, dieses daher unbedingt ändern.

Nacharbeiten

Hat man die Default ZFS Konfiguration bei der FreeBSD Installation gewählt, dann ist die für OPNsense auch weiterhin gültig, aber nicht unbedingt zweckmäßig.

Sinnvollerweise entfernt man die nicht mehr benötigten Volumes mit

for i in zroot/usr/home zroot/var/crash zroot/var/audit zroot/usr/src zroot/usr/ports zroot/var/tmp; do
  zfs destroy ${i}
done

OPNsense zeigt dann auch nur noch die verbliebenen Volumes an.

Snapshot

Vor Updates von OPNsense kann man jetzt sehr schön Snapshots machen

zfs snapshot -r zpool@full_snapshot

Falls das Update nicht das gewünschte Ergebnis bringt, dann hat man so eine schnelle Möglichkeit, den alten Zustand wiederherzustellen. Dennoch: Das ersetzt kein Backup, denn auch Snapshots können manchmal schief gehen. Die OPNsense Doku sagt nichts über ZFS, das dieses Filesystem offiziell von OPNsense nicht unterstützt wird. Daher sei die FreeBSD Doku zu ZFS empfohlen.