# OPNsense Administration: Web-GUI, SSH & Shell Deep Dive
TL;DR / Management Summary OPNsense bietet drei primäre Management-Ebenen. Die Web-GUI ist ideal für 90% der täglichen Arbeit (Regeln, Monitoring). Die Textkonsole (VGA/Seriell) ist der Rettungsweg bei falscher Netzwerkkonfiguration. Die SSH-Shell ermöglicht Senior Admins tiefe Analysen mit Standard-Unix-Tools (
tcpdump,top,log files). Ein Senior Admin beherrscht alle drei und sichert den Zugriff durch Zertifikate und Key-based Auth ab.
# 1. Einführung & Schnittstellen
Die Qual der Wahl.
# 1. Web-GUI (HTTPS)
- Standard-Port: 443 (Empfehlung: Ändern auf z.B. 8443).
- Vorteil: Visuelle Übersicht, Wizards, Live-Graphen.
- Sicherheit: Unbedingt Zwei-Faktor-Authentifizierung (MFA) aktivieren.
# 2. Konsole (Direktzugriff)
- Zugriff: Via Monitor/Tastatur oder Proxmox-NoVNC.
- Funktion: Bietet ein 13-Punkte Menü für Notfall-Aufgaben (Reset Root PW, IP-Wechsel).
# 3. SSH (Secure Shell)
- Standard-Port: 22.
- Funktion: Voller Shell-Zugriff auf das FreeBSD-System.
# 2. SSH Setup & Hardening
Sicherer Fernzugriff.
Deaktivieren Sie Passwörter für SSH sofort nach dem Setup.
# Key-based Auth einrichten
- Hinterlegen Sie Ihren Public-Key unter
System -> Access -> Users -> [Ihr Admin] -> Authorized Keys. - In
System -> Settings -> Administration:- Secure Shell Server: Aktivieren.
- Permit Root Login: Deaktivieren (Nutzen Sie einen User mit
sudoodersu). - Password Authentication: Deaktivieren.
# 3. Deep Dive: Konsolen-Menü (Sconfig für BSD)
Die Lebensversicherung.
Wenn die Web-GUI nach einer Fehlkonfiguration weg ist, hilft nur die Konsole.
# Die wichtigsten Optionen
- Option 1: Assign Interfaces (NIC-Zuweisung).
- Option 2: Set Interface IP Address (Statische IP setzen, DHCP für WAN aktivieren).
- Option 3: Reset Web-GUI Password.
- Option 8: Shell (Die echte FreeBSD Bash).
- Option 11: Reload all services.
# 4. Day-2 Operations: Shell-Power für Profis
Diagnose auf Kernel-Ebene.
Wenn Sie via SSH eingeloggt sind, nutzen Sie diese Tools für tiefe Analysen:
# Echtzeit-Logs (Tail)
# Firewall-Drops live mitverfolgen
tail -f /var/log/filter/latest.log
# Netzwerk-Pakete (tcpdump)
# Zeigt alle Pakete auf dem WAN-Interface vtnet0
tcpdump -i vtnet0 -n
# Systemlast (top)
# CPU-Last der einzelnen OPNsense-Dienste prüfen
top -SH
# 5. Troubleshooting & “War Stories”
Wenn der Browser ‘Timeout’ sagt.
# Top 3 Fehlerbilder
-
Symptom: Web-GUI lädt nur zur Hälfte oder zeigt CSS-Fehler.
- Ursache: Browser-Cache oder korruptes PHP-Session-File.
- Lösung:
rm /var/lib/php/sessions/*via Shell.
-
Symptom: SSH-Login dauert 30 Sekunden.
- Ursache: DNS-Reverse-Lookup-Timeout (die Firewall versucht, Ihre Admin-IP aufzulösen).
- Lösung: In den SSH-Settings
UseDNS nosetzen.
-
Symptom: Tastatur-Layout in der Proxmox-Konsole ist falsch.
- Lösung: In OPNsense unter
System -> Settings -> Generaldas Keyboard-Layout auf “German” umstellen.
- Lösung: In OPNsense unter
# “War Story”: Die “Read-Only” Firewall
Ein Admin konnte via Web-GUI keine Änderungen mehr speichern. Jeder Versuch endete in einem “Internal Server Error”.
Die Entdeckung via Shell: Die SSD des Mini-PCs war defekt und das Dateisystem wurde vom Kernel in den Read-Only Modus geschaltet, um Datenverlust zu vermeiden. Da die Web-GUI keine Datenbank-Schreibrechte mehr hatte, stürzte sie ab.
Lehre: Die Shell zeigt Kernel-Meldungen (dmesg), die in der Web-GUI oft untergehen. Nutzen Sie die Shell zur Hardware-Diagnose!
# 6. Monitoring & Auditing
Wer macht was in der Shell?
Aktivieren Sie das Shell-Logging. Jeder Befehl, der via SSH eingegeben wird, sollte an einen zentralen Log-Server (Artikel 584) gesendet werden, um unbefugte Manipulationen nachvollziehen zu können.
# 7. Fazit & Empfehlung
Nutzen Sie die Web-GUI für den Alltag, aber beherrschen Sie die Shell für den Notfall.
- Empfehlung: Nutzen Sie den Windows Terminal (Artikel 470) mit SSH-Keys für schnellen Zugriff.
- Strategie: Deaktivieren Sie die Web-GUI am WAN-Port permanent. Es gibt keinen Grund, die Administration der Außenwelt preiszugeben.
# Anhang: Cheatsheet
| Tool | Befehl | Zweck |
|---|---|---|
| Firewall Reset | pfctl -F all |
Alle Regeln leeren (Notfall!) |
| Dienst neustarten | pluginctl -s <name> restart |
z.B. unbound |
| Version prüfen | opnsense-version |
Build-Info |
| Hardware Info | pciconf -lv |
PCI-Geräte listen |