Files
root 3cd45f9f3f Doku: Horus Internet-Gateway (Handy + OPNsense LAN).
Road-Warrior-Setup mit UFW wg0→eth0 und pixel7-Config; OPNsense-LAN-Exit
über HORUS_GW + Outbound-SNAT 10.1.1.22 als verifizierter Breakpoint.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 18:17:49 +02:00

6.5 KiB

OPNsense — Internet optional über Horus (LAN-Gateway)

Stand: 2026-06-28
Status: Verifiziert — Gateway HORUS_GW (10.1.1.1 auf wg_horus) + Outbound SNAT auf 10.1.1.22 · Exit-IP 207.180.222.207
Agent: kein OPNsense-Zugang — Breakpoint war fehlendes SNAT, nicht das Gateway

Das ist nicht dasselbe wie beim Handy (pixel7): Dort trägt der Client selbst 0.0.0.0/0 in WireGuard.
Hinter OPNsense entscheidet der Router per Gateway/Firewall/NAT, welcher LAN-Traffic über wg_horus rausgeht.


Wann welches Modell?

Modell Wer Mechanismus Doc
Road Warrior Handy/Laptop mit WG-App Client-Config AllowedIPs = …, 0.0.0.0/0 ../../horus/wireguard-internet-gateway.md
LAN über OPNsense PCs hinter OPNsense OPNsense-Gateway + Firewall + Outbound-NAT auf wg_horus dieses Doc

Basis-Site-to-Site (Horus-Netze, LAN→Horus) bleibt: opnsense-step-a-nat.mdnicht entfernen.


Topologie (LAN-Internet via Horus)

LAN-PC (192.168.x)  →  OPNsense  →  wg_horus (SNAT 10.1.1.22)  →  Horus  →  eth0/NAT  →  Internet
Exit-IP im Internet: 207.180.222.207

Horus (bereits erledigt, 2026-06-28):

  • ip_forward=1
  • UFW route wg0 → eth0 (+ Rückweg)
  • MASQUERADE auf eth0 (alle Quellen inkl. 10.1.1.22)
  • Routing-Test: ip route get 8.8.8.8 from 10.1.1.22 iif wg0 → via eth0

Wichtig: Wenn du am OPNsense testest und es wieder deaktivierst, sieht Horus keinen Internet-Traffic von 10.1.1.22 — tcpdump bleibt leer. Das ist normal.


Empfohlen: nur bestimmte LAN-Hosts (Policy Gateway)

Nicht gleich 0.0.0.0/0 als Static Route fürs ganze OPNsense — das killt den normalen WAN-Weg über Fritzbox.

1. Gateway anlegen

System → Routing → Gateways → Single → Add

Feld Wert
Name HORUS_INET
Interface wg_horus (opt10)
Gateway 10.1.1.1 ← Horus-Tunnel-IP
Monitor optional aus, oder Monitor-IP 1.1.1.1 (nur wenn du weißt was du tust)
Default Gateway Nein

Häufiger Fehler: Gateway 192.168.178.1 (Fritzbox) oder 10.1.1.21falsch, Interface liegt am Tunnel.

2. Outbound NAT (Internet, nicht nur Horus-Netze) — Pflicht

Step A (opnsense-step-a-nat.md) NATet nur LAN → HORUS_WG (z. B. 10.1.1.0/24).

Ohne SNAT funktioniert es nicht, auch wenn Gateway-Monitoring auf 10.1.1.1 grün ist: Monitoring pingt nur OPNsense→Horus; LAN-Traffic hat sonst Quelle 192.168.x — Horus kennt den Rückweg nicht (Peer nur 10.1.1.22/32).

Für Internet brauchst du zusätzlich (Hybrid-Modus, Regel oben):

Feld Wert
Interface wg_horus
Source Alias z. B. HORUS_INET_CLIENTS (nur die PCs die Horus-Exit nutzen sollen)
Destination any
Translation Interface address10.1.1.22

Ohne diese Regel: Horus sieht ggf. 192.168.x als Quelle oder verwirft/ routet falsch.

3. Firewall LAN

Firewall → Rules → LAN (Regel über block/deny):

Feld Wert
Action Pass
Source HORUS_INET_CLIENTS
Destination any
Gateway HORUS_INET
Description Internet via Horus WG

Rest des LANs: kein Gateway → normaler WAN-Weg (Fritzbox).

4. WireGuard Peer „horus“ — Allowed IPs

Für Policy-Gateway reicht meist:

10.1.1.0/24, 10.1.2.0/24, 10.1.3.0/24, 10.1.4.0/24, 10.8.0.0/24

Kein 0.0.0.0/0 nötig, wenn du nur per Firewall-Gateway routest.

Disable routes kann an bleiben — Static Route 10.1.1.0/24 → 10.1.1.1 via wg_horus (Step A) bleibt.

5. DNS

Clients hinter OPNsense nutzen weiter OPNsense/Unbound — nicht automatisch Horus-DNS.
Wenn Browser „tot“, obwohl ping 8.8.8.8 geht: DNS/Filter auf OPNsense prüfen, nicht Horus-NAT.


Alternative (riskant): gesamtes OPNsense-Internet über Horus

Nur wenn bewusst gewollt (Surfshark/WAN entfällt als Default):

  • Peer Allowed IPs um 0.0.0.0/0 erweitern oder Default-Route via 10.1.1.1 auf wg_horus
  • Outbound NAT auf wg_horus für any
  • Konflikt mit mehreren WG-Instanzen (Surfshark, WGServer) — „Disable routes“ und Routing-Tabelle genau prüfen

Nicht empfohlen ohne klaren Plan — schnell kein Internet mehr über Fritzbox.


Tests (Reihenfolge)

# Wo Befehl Erwartung
1 OPNsense Diagnostics → Ping, Source wg_horus10.1.1.1 ok (~17 ms)
2 Horus ping 10.1.1.22 ok
3 LAN-Test-PC (mit Gateway-Regel) ping 8.8.8.8 ok
4 LAN-Test-PC curl -4 ifconfig.me 207.180.222.207
5 Horus (während Test) tcpdump -ni wg0 host 10.1.1.22 and not net 10.1.0.0/16 Traffic zu 8.8.8.8/443
6 Anderer LAN-PC (ohne Regel) curl ifconfig.me Fritzbox-WAN-IP, nicht Horus

Troubleshooting (OPNsense — Agent blind)

Symptom Erste Prüfung in OPNsense GUI
Gateway-Monitoring ok, LAN-Internet tot Outbound SNAT auf wg_horus10.1.1.22, Destination any fehlt (häufigster Fix)
Gar kein Traffic auf Horus Gateway 10.1.1.1, Interface wg_horus, Firewall-Regel mit Gateway gesetzt?
Handshake ok, LAN-Internet tot Outbound NAT any auf wg_horus, nicht nur HORUS_WG
Nur Horus-Netze ok Step A ok, Step Internet-NAT fehlt (s.o.)
Alles tot nach Experiment Static Route / Allowed IPs 0.0.0.0/0 wieder entfernen, Default Gateway WAN reaktivieren
Live View leer Traffic geht noch über WAN — Gateway-Regel greift nicht (Source/Order)

Firewall → Log Files → Live View während Test — einziger zuverlässiger Beweis ohne SSH.


Deaktivieren (Rollback)

  1. Firewall-Regel „Internet via Horus WG“ disable/delete
  2. Outbound-NAT-Regel wg_horusany disable/delete
  3. Gateway HORUS_INET optional löschen
  4. Nicht Step-A-Regeln (LAN→Horus-Netze) anfassen

Danach tcpdump auf Horus wieder leer — erwartet.


Referenzen

Doc Inhalt
opnsense-step-a-nat.md Site-to-Site + LAN→Horus-Netze
../../horus/wireguard-internet-gateway.md Handy/Road Warrior
../../issues/2026-06-28-opnsense-horus-wireguard-lan.md Gateway-Fehler .21/Fritzbox