FreeBSD auf dem VPS: wo Sie es installieren können und wofür es sich lohnt
FreeBSD ist keine Linux-Distribution, sondern ein eigenständiges Betriebssystem mit eigenem Kernel, eigenem Basissystem und eigener Dokumentation. Geschätzt wird es für seine Geschlossenheit: Kernel, Werkzeuge und Bibliotheken entwickelt ein einziges Projekt und veröffentlicht sie als ein Release, während Software von Drittanbietern separat installiert wird und sich nicht mit dem System vermischt. Auf dem Server bedeutet das vorhersehbares Verhalten, integriertes ZFS, Isolation über Jails und den Paketfilter pf. Der Preis dafür ist die geringere Verbreitung: Fertige Anleitungen und Templates bei den Anbietern gibt es weniger als für Linux.
Wo sich FreeBSD überhaupt installieren lässt
Die wichtigste Einschränkung ist die Virtualisierung. In OpenVZ- und LXC-Containern laufen alle Kunden des Hosts auf einem gemeinsamen Linux-Kernel, FreeBSD lässt sich dort grundsätzlich nicht starten. Sie brauchen eine volle Virtualisierung: KVM, Xen, VMware oder Hyper-V. Dann gibt es zwei Möglichkeiten:
- FreeBSD-Template im Panel des Anbieters. Der schnellste Weg, prüfen Sie aber direkt nach der Installation die Version mit dem Befehl
freebsd-version: Templates hinken oft hinterher, und ein Zweig ohne Support erhält keine Sicherheitskorrekturen. - Installation vom offiziellen ISO. Laden Sie das Image im Panel hoch, öffnen Sie die VNC-Konsole und durchlaufen Sie den Installer bsdinstall. Das funktioniert bei Tarifen, die ein eigenes Image erlauben – eine Liste finden Sie auf der Seite VPS mit eigenem ISO.
Klären Sie vor der Bestellung, wie der Anbieter das Netzwerk bereitstellt. Wird die Adresse per DHCP vergeben, funktioniert alles von selbst. Müssen IPv4 und vor allem IPv6 manuell eingetragen werden, entnehmen Sie die Parameter dem Panel und setzen Sie sie noch über die Konsole in /etc/rc.conf, vor dem ersten Neustart. Netzwerkkarte und Festplatte erscheinen unter KVM meist als virtio-Geräte (vtnet0, vtbd0), die Treiber dafür gehören zum System.
Erledigen Sie direkt nach der Installation einige Dinge, die ein frisches System nicht mitbringt. Nehmen Sie Ihren Benutzer in die Gruppe wheel auf und installieren Sie sudo oder doas aus den Paketen; sperren Sie in /etc/ssh/sshd_config die Anmeldung als root und per Passwort. Aktivieren Sie die Zeitsynchronisation mit der Zeile ntpd_enable="YES" in /etc/rc.conf. Die Firewall pf ist standardmäßig ausgeschaltet: Schreiben Sie eine kurze /etc/pf.conf, die SSH und die benötigten Ports erlaubt, und aktivieren Sie sie, während die VNC-Konsole für den Fall fehlerhafter Regeln geöffnet bleibt. Systemmails mit den täglichen Sicherheitsberichten gehen lokal an root – leiten Sie sie in /etc/mail/aliases an Ihre eigene Adresse um und führen Sie newaliases aus, damit sie auch jemand liest.
ZFS oder UFS auf einem kleinen Server
Der Installer schlägt standardmäßig eine Partitionierung mit ZFS vor, und auf dem VPS ist das praktisch: Snapshots des Dateisystems entstehen sofort, lassen sich mit dem Befehl zfs send an einen anderen Server übertragen, und Boot-Umgebungen ermöglichen es, ein misslungenes Systemupdate per Neustart zurückzurollen. ZFS braucht allerdings viel Arbeitsspeicher: Der ARC-Cache belegt standardmäßig den Großteil davon. Begrenzen Sie ihn bei einem Tarif mit 1–2 GB über den Parameter vfs.zfs.arc_max in /boot/loader.conf, sonst bleibt den Anwendungen wenig übrig. Bei den kleinsten Tarifen mit 512 MB ist UFS die vernünftigere Wahl – es ist einfacher und braucht kaum Speicher. Für Speicher- und Backup-Server mit großer Festplatte ist ZFS dagegen das Hauptargument für FreeBSD.
Typische Aufgaben und was zu beachten ist
- Webserver und Datenbanken. nginx, PostgreSQL, MySQL und PHP werden aus Paketen mit
pkg installinstalliert. Die Konfigurationsdateien liegen in/usr/local/etc, nicht in/etc– eine häufige Verwechslung beim Umstieg von Linux. - Isolation von Diensten in Jails. Ein Jail ist ein leichtgewichtiger Container mit eigenem Dateisystem, eigenen Benutzern und eigener Adresse. Docker läuft unter FreeBSD nicht nativ, seine Rolle übernehmen Jails und Werkzeuge zu ihrer Verwaltung.
- Netzwerkknoten und Firewall. pf beherrscht Filterung, NAT und Bandbreitenbegrenzung in einer übersichtlichen Konfiguration. Auf FreeBSD basiert pfSense; wenn Sie einen fertigen Router mit Weboberfläche brauchen, sehen Sie sich VPS für pfSense an.
- Linux-Programme lassen sich teilweise über die Kompatibilitätsschicht linuxulator starten, für ernsthafte Last sollten Sie sich darauf aber nicht verlassen. Gibt es Ihre Software nur für Linux, nehmen Sie Debian.
Updates und Support
Das Basissystem wird getrennt von den Paketen aktualisiert. Sicherheitskorrekturen dafür spielt freebsd-update fetch install ein, den Wechsel auf ein neues Release erledigt freebsd-update upgrade -r mit der Versionsnummer. Pakete werden über pkg upgrade aktualisiert, und pkg audit -F zeigt bekannte Schwachstellen in der installierten Software. Jeder Zweig wird nur begrenzte Zeit unterstützt, ein Point-Release innerhalb eines Zweigs sogar nur wenige Monate nach Erscheinen des nächsten – gleichen Sie die Fristen daher auf der Website des Projekts ab und aktualisieren Sie rechtzeitig. Legen Sie vor dem Wechsel zwischen Zweigen einen ZFS-Snapshot oder einen Snapshot der Festplatte im Panel des Anbieters an: Geht etwas schief, dauert das Zurücksetzen nur Minuten.