Datum: 28. Oktober 2025
System: Proxmox VE Gateway mit Hardware-Beschleunigung
Ziel: pfSense + TrueNAS Gateway mit QAT & SFP+ Passthrough
Dieses System wurde als kritischer Gateway-Server konfiguriert mit:
- pfSense VM: Firewall/Router mit SFP+ Passthrough für WAN/LAN
- TrueNAS VM: Storage-System mit virtueller Bridge-Anbindung
- Intel QAT: Hardware-Krypto-Beschleunigung für beide VMs
- Intel X553 SFP+: 4x 10GbE Ports mit VFIO Passthrough
- Status: ✅ Funktional
- SR-IOV: 16 Virtual Functions aktiviert
- Firmware: Geladen, 18 Krypto-Algorithmen verfügbar
- Acceleration Engines: 6 AEs erkannt
- IOMMU Gruppen: 34-49 (QAT VFs)
- Anzahl: 4x 10GbE Ports
- PCI IDs:
- 0b:00.0 (eno1) - IOMMU Gruppe 30
- 0b:00.1 (eno2) - IOMMU Gruppe 31
- 0c:00.0 (eno3) - IOMMU Gruppe 32
- 0c:00.1 (eno4) - IOMMU Gruppe 33
- Passthrough: ✅ VFIO konfiguriert für 8086:15c4
Datei: /etc/qat-sriov.sh
#!/bin/bash
# QAT SR-IOV Aktivierung für 16 Virtual Functions
echo 16 > /sys/bus/pci/devices/0000:01:00.0/sriov_numvfs
echo "QAT SR-IOV: 16 VFs aktiviert"Service: /etc/systemd/system/qat-sriov.service
- Status: ✅ Enabled (automatischer Start)
- Abhängigkeiten: multi-user.target
Datei: /etc/modprobe.d/vfio-pci.conf
# VFIO-PCI Konfiguration für SFP+ Passthrough
# Nur pfSense Port: 0c:00.1 (eno4)
# Host-Ports: 0b:00.0 (eno1), 0b:00.1 (eno2), 0c:00.0 (eno3) bleiben beim ixgbe Treiber
Blacklisting: /etc/modprobe.d/blacklist-ixgbe.conf
# Blacklist ixgbe für SFP+ Passthrough
blacklist ixgbe
Datei: /etc/modprobe.d/zfs-qat.conf
# ZFS QAT Hardware-Beschleunigung
options zfs zfs_qat_compress_disable=0
options zfs zfs_qat_encrypt_disable=0
options zfs zfs_qat_checksum_disable=0
SSH Konfiguration: /root/.ssh/config
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_github
IdentitiesOnly yes
System .gitignore: /.gitignore
- Umfassende Ausschlüsse für Sicherheit
- Schutz von /proc/, /sys/, private keys, logs
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ pfSense VM │ │ TrueNAS VM │ │ Proxmox Host │
│ │ │ │ │ │
│ NIC: eno4 │ │ Bridge: vmbr1 │ │ Mgmt: vmbr0 │
│ (0c:00.1 PT) │ │ (virtuell) │ │ (enp8s0) │
│ QAT VF: VPN │ │ QAT VF: Storage │ │ │
└─────────────────┘ └─────────────────┘ │ 10GbE verfügbar:│
│ • eno1 (0b:00.0)│
│ • eno2 (0b:00.1)│
│ • eno3 (0c:00.0)│
│ 1GbE verfügbar: │
│ • enp4s0-enp7s0 │
└─────────────────┘
- pfSense: Nur eno4 (0c:00.1) via Hardware-Passthrough für maximale Isolation
- Host: 3x 10GbE SFP+ + 4x 1GbE + Management verfügbar
- TrueNAS: Virtuelle Bridge für optimalen internen Traffic
- Gruppe 30: eno1 (0b:00.0) - Host verfügbar
- Gruppe 31: eno2 (0b:00.1) - Host verfügbar
- Gruppe 32: eno3 (0c:00.0) - Host verfügbar
- Gruppe 33: eno4 (0c:00.1) - pfSense Passthrough
- Gruppe 34-49: QAT Virtual Functions
- Vorteil: Optimale Ressourcen-Verteilung mit maximaler Host-Flexibilität
Script: /usr/local/bin/qat-status
- Zeigt aktive VFs, Firmware-Status, Module
- Crypto-Engine Übersicht
- /proc/crypto Integration
Script: /usr/local/bin/sfp-passthrough-status
- Hardware-Erkennung
- IOMMU-Gruppierung
- VFIO-Status
- VM-Zuordnungsplanung
Script: /usr/local/bin/pre-reboot-check
- Umfassende Statusprüfung vor Neustart
- QAT, SFP+, Git, Services
- Konfigurationsdatei-Validierung
Scripts:
/usr/local/bin/gateway-network-plan/usr/local/bin/vm-config-gateway
- Git Installation und Repository-Verknüpfung
- SSH Deploy Keys für GitHub
- System-weites Git Repository (/)
- Sicherheits-.gitignore implementiert
- QAT Hardware-Erkennung
- Firmware-Status validiert
- SR-IOV mit 16 VFs aktiviert
- Automatischer Start konfiguriert
- 18 Krypto-Algorithmen verfügbar
- 4x Intel X553 Ports identifiziert
- IOMMU-Gruppen analysiert (30-33)
- VFIO-PCI Konfiguration
- Ixgbe-Treiber Blacklisting
- Passthrough-Vorbereitung abgeschlossen
- ZFS QAT-Integration vorbereitet
- Monitoring-Scripts erstellt
- Service-Automatisierung
- Umfassende Dokumentation
- System-Neustart durchgeführt
- Persistenz aller Konfigurationen geprüft (10:42:36 CET)
- QAT SR-IOV nach Reboot validiert (16 VFs aktiv, Firmware und Crypto-Engines ok)
- VFIO-Module Aktivierung bestätigt (eno4 -> vfio-pci; eno1-3 -> ixgbe)
- pfSense VM mit SFP+ Passthrough
- NIC: eno4 (0c:00.1) - Hardware-isoliert
- QAT VF für VPN-Beschleunigung
- TrueNAS VM mit Bridge-Netzwerk
- Storage-Netzwerk über vmbr1
- QAT VF für Kompression/Verschlüsselung
- QAT Krypto-Performance messen
- SFP+ Durchsatz-Tests
- VPN-Beschleunigung validieren
- Storage-Kompression benchmarken
- Private Keys ausgeschlossen
- System-kritische Verzeichnisse geschützt
- Selective Commits für Konfigurationen
- IOMMU-basierte VM-Isolation
- Dedizierte VF-Zuordnung
- Saubere Treiber-Trennung
- Automatisierte Aktivierung
- Fehlerbehandlung in Scripts
- Monitoring für alle kritischen Services
- VPN IPsec: Bis zu 10x Performance-Steigerung
- Storage: Hardware-Kompression/Verschlüsselung
- SSL/TLS: Entlastung der CPU bei HTTPS
- Durchsatz: 10 Gbps pro Port
- Latenz: < 1ms für lokales Netzwerk
- Skalierung: 4 dedizierte Ports für Flexibilität
-
QAT VFs nicht verfügbar nach Reboot
- Solution:
systemctl status qat-sriov.service - Manual:
/etc/qat-sriov.sh
- Solution:
-
VFIO Module nicht geladen
- Check:
lsmod | grep vfio - Solution:
modprobe vfio-pci
- Check:
-
SFP+ Ports noch im ixgbe
- Check:
lspci -k | grep -A3 X553 - Solution: Reboot nach blacklist-ixgbe.conf
- Check:
# QAT Status
/usr/local/bin/qat-status
# SFP+ Status
/usr/local/bin/sfp-passthrough-status
# IOMMU Gruppen
find /sys/kernel/iommu_groups/ -type l | sort -V
# VFIO Status
lspci -k | grep -A3 -B1 vfio-pci- Dokumentation: Intel QuickAssist Technology Driver
- SR-IOV: PCIe Virtual Functions für VM-Passthrough
- ZFS Integration: Native QAT Support seit OpenZFS
- IOMMU: Input-Output Memory Management Unit
- PCIe Passthrough: Direkte Hardware-Zuordnung zu VMs
- VFIO: Virtual Function I/O Framework
- VM Management: KVM/QEMU basiert
- Netzwerk: Bridge-basierte Virtualisierung
- Storage: ZFS, LVM, verschiedene Backends
Status: ✅ Reboot-Test erfolgreich
Letzte Aktualisierung: 28. Oktober 2025, 10:42 CET
Konfiguration: Sicherheits-optimiert - pfSense nutzt eno4 (0c:00.1) via Passthrough; Host behält eno1-eno3
Nächster Schritt: VM-Erstellung (pfSense + TrueNAS) — bereit