WF-Group | / Ops Center

Infrastruktur Management & Knowledge Base

🚀 Auto-Deployer v3.4

Erstellt vollautomatisch LXC Container (inkl. SSH Keys, Updates, Curl, Docker) oder VMs.

📦 LXC Container
💻 Virtual Machine
🔍 Check Proxmox
Schema: 100 - 109
Start at boot
🐳 Install Docker & Keyctl

🌍 Domains & Branding

  • wf-tech.de: Public Services (Email, Web).
  • wf-group.dev: Internal Services (Ops, PatchMon).
  • wf-lab.de: Playground.

🔑 NGINX Automation (LXC 101)

./wf-deploy service.wf-group.dev 192.168.55.1xx 80

(Führt add-host und enable-ssl nacheinander aus)

🖥️ Server Flotte

IDHostnameIP (.55.x)Funktion
Hostpve.wf-group.dev.254Proxmox Host (Internal Bridge)
100OPNsense.1Firewall & Gateway
101NGINX.101Reverse Proxy (Port 80/443)
104Knowledge-Hub.104Ops-Center & Dashboard
106PatchMon.106Update-Monitoring
110WinServer.110Windows Server VM

🔥 Ports freigeben (NAT)

Damit Services von außen erreichbar sind.

1. Firewall -> NAT -> Port Forward

  • Interface: WAN
  • Proto: TCP
  • Dest. Port: 80 (HTTP) oder 443 (HTTPS)
  • Target IP: 192.168.55.101 (IMMER NGINX!)
  • Target Port: 80 / 443
  • Filter Rule Association: Pass (Wichtig!)

Info: Wir leiten ALLES an NGINX. NGINX entscheidet dann anhand der Domain, wohin es geht.

🛡️ WireGuard VPN

Neuen User anlegen

  1. VPN -> WireGuard -> Peer Generator
  2. Name: Name-Geraet
  3. Endpoint: 65.21.225.231:51820
  4. Allowed IPs: 192.168.55.0/24, 192.168.56.0/24
  5. DNS: 192.168.55.1 (Wichtig für Split-DNS!)
  6. "Store and generate" -> Config speichern.

Wichtig: Danach unter Instances den neuen Peer anhaken und Apply drücken!

🧠 Split-DNS (Hairpinning Fix)

Damit interne Domains auch im VPN funktionieren.

Services -> Unbound DNS -> Overrides Host: ops | Domain: wf-group.dev | IP: 192.168.55.101

Dies zwingt Clients im LAN/VPN, direkt den NGINX (.101) anzusprechen statt die WAN-IP (.231).

🐳 Docker Daily Drivers

# Alle laufenden Container sehen docker ps # Live-Logs verfolgen (STRG+C zum Beenden) docker logs -f container_name # In den Container springen (Shell) docker exec -it container_name /bin/bash # (oder /bin/sh) # Stack neu starten (im Ordner mit docker-compose.yml) docker compose restart # Änderungen anwenden (z.B. neue Config) docker compose up -d

🧹 Docker Disk Cleaner (Lebensretter)

Wenn die Festplatte voll läuft, liegt es meist an alten Images und Cache.

# Löscht alles, was nicht läuft (Images, Cache, Netzwerke) docker system prune -a

Vorsicht: Löscht gestoppte Container. Aber macht massiv Platz frei.

🚑 Speicherplatz Analyse

Platte voll? Hiermit findest du den Übeltäter sofort.

# Interaktiver Disk-Scanner (Navigation mit Pfeiltasten) apt install ncdu -y && ncdu /

Rot markierte Ordner = Platzfresser.

📈 System Load

# Task Manager (CPU/RAM) htop # Wer belegt Port 80? ss -tulpen | grep :80

🧠 Shell Superpowers

  • STRG + R: Rückwärtssuche in der History. Tippe einfach einen Teil eines alten Befehls. Gold wert!
  • !!: Führt den letzten Befehl nochmal aus (z.B. sudo !! wenn man sudo vergessen hat).
  • tail -f /var/log/syslog: System-Logs live mitlesen.

SSH Tunnel (Notfall-Zugriff)

Wenn VPN tot ist, tunneln wir uns über den Host:

ssh -L 8443:192.168.55.1:443 root@138.201.122.240

Dann Browser: https://localhost:8443 -> OPNsense Login.