CG Nat und Wireguard - Routing

Hallo zusammen,
ich lese nun schon ein Weilchen Still mit und brauche nun selbst etwas Unterstützung.

Ich habe einen Internetanschluss der Deutschen Glasfaser, und damit CG NAT, also keine echte IPv4. Nun möchte ich aber trotzdem eine Verbindung von unterwegs per Wireguard nach Hause aufbauen, um dort diverse Services zu nutzen (Nas, Homeassistant,…).

Dazu habe ich einen 1€ VPS bei Ionos gemietet, der als Wireguard Bridge fungiert. Das ganze funktioniert auch schon, aber beim Routing habe ich noch Probleme.
Hier erstmal die bestehenden configs.
Mein Heimnetz läuft auf dem Subnetz 10.0.0.0/24 und für das Wireguard-Netz habe ich mir die 10.0.8.0/24 ausgesucht. Auf meinem Proxmox-Server läuft eine VM mit Debian 12, die die Verbindung zum VPS aufbaut.

VPS wg0.conf:

[Interface]
Address = 10.0.8.1/24
ListenPort = 51820
PrivateKey = xxx
MTU = 1450
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
Table = auto


# Handy Peer zum testen
[Peer]
PublicKey = xxx
PresharedKey = xxx
AllowedIPs = 10.0.8.5/32
PersistentKeepalive = 15


# Homeserver Peer (Proxmox VM) wg0.conf
[Peer]
PublicKey = xxx
PresharedKey = xxx
AllowedIPs = 10.0.8.2/32,10.0.8.2/32,10.0.0.0/24
PersistentKeepalive = 15

Handy Peer config:

[Interface]
Address = 10.0.8.5/32
PrivateKey = xxx
DNS = 1.1.1.1,8.8.8.8,8.8.4.4
MTU = 1450

[Peer]
PublicKey = xxx
PresharedKey = xxx
AllowedIPs = 10.0.0.0/24, 10.0.8.0/24
Endpoint = "Public IP and Port of VPS"
PersistentKeepalive = 15

Homeserver VM config:

[Interface]
Address = 10.0.8.2/32
PrivateKey = xxx
DNS = 1.1.1.1,8.8.8.8,8.8.4.4
MTU = 1450

[Peer]
PublicKey = xxx
PresharedKey = xxx
AllowedIPs = 10.0.8.0/24
Endpoint = "Public IP and Port of VPS"
PersistentKeepalive = 15

Zusätzlich habe ich in meiner FritzBox eine Statische Route für das Subnet 10.0.8.0/24 eingerichtet, die auf das Gateway 10.0.0.235 (Proxmox VM) verweist.

Das Ganze funktioniert auch soweit und ich kann aus meinem Heimnetz den VPS und das Handy erreichen. Vom Handy aus kann ich auch alle Server im Heimnetz erreichen. Nun soll aber auch sämlticher anderer Traffic (Internet Zugriffe) weitergeleitet werden.

Dazu habe ich im Handy AllowedIPs = 0.0.0.0/0 gesetzt. Allerdings habe ich dann keinen Internetzugriff mehr. Ich muss also dem VPS noch mitteilen, wo der traffic hin soll und daran scheitere ich. Setzte ich im VPS beim Homeserver-Peer ebenfalls AllowedIPs = 0.0.0.0/0 so wird zwar der gesamte traffic meines Handys über mein Heimnetz geroutet und Internetzugriff geht, dafür geht aber der SSH-Zugang über die öffentliche IP meines VPS nicht mehr (nur noch über den Wireguard tunnel).

Ich hoffe ich habe alles verständlich beschrieben, und es wäre super, wenn mir jemand weiterhelfen kann, wie ich das Problem löse.

LG Tom

Um sicher zu gehen, dass ich das richtig interpretiere:

Du möchtest dass sämtlicher Internetverkehr des Mobile-Devices AllowedIPs = 0.0.0.0/0 über den Ionos-Server geht, nicht aber über die Fritte? Über die Fritte soll nur das gehen, was in deren LAN ankommen soll?

Wenn dem so ist, dann (denke ich) musst du auf dem IONOS keine weitere Route setzen sondern ein Outbound-Mapping. Auf meiner pfsense geht das über Firewall → NAT → Outbound.

Mein Ziel war primär den Datenverkehr zumindest mal über das VPN zu Routen, ob der beim VPS oder erst in meinem Heimnetz ins Internet geht war erstmal zweitrangig. (Wireguard-Knoten in meinem Heimnetz ist übrigens nicht die Fritzbox selbst (zu alt) sondern eine Debian VM.)

Dank deinem Hinweis „Outbound Mapping“ habe ich nun die config im VPS so abgeändert:

[Interface]
Address = 10.0.8.1/24
ListenPort = 51820
PrivateKey = xxx
MTU = 1450
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens6 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens6 -j MASQUERADE
Table = auto

......

Damit funktioniert der Internetzugriff vom Handy über den VPS.
Was müsste ich anders machen, wenn ich sämtlichen Traffic nicht im VPS in die große weite Welt lassen möchte, sondern alles noch durch die Debian VM im Heimnetz routen möchte?

Denke nichts anderes als auf dem Debian (Ionos) VPS.
Das kursive (durchstreichen geht hier ja leider nicht) war natürlich quatsch. Da hast du ja eine Fritte am WAN. Das hatte ich einfach ausgeblendet. Mit Fritten kenne ich mich aber nicht so gut aus.

Aber warum willst du das machen? Der Debian VPS hat doch bestimmt die wesentlich schnellere Internetanbindung. Geht erst alles zur Fritte, bremst ja der Upload (z.B. 100Down-/40 Upload alles aus. Macht doch keinen Sinn.

Okay sehe gerade hast Glasfaser, dann ists natürlich schneller, aber immer noch nicht symetrisch. Aber dennoch bei Nutzung des Wireguard geht es doch darum, dass du z.B. nicht im öffentlichen WLAN unverschlüsslt die Bank-App aufmachen willst. Dafür ist es aber egal ob es nur bis zum VPS geht oder bis zur Fritte und da dann ins Internet.

Die MTU 1450 ist für tcp zu hoch. Sollte max. bei 1420 liegen.

Du hast vollkommen recht. Die Internetanbindung des VPS ist stärker, als mein Heimnetz, daher werde ich das Routing auch so lassen, wie es jetzt läuft. Es war eher eine Interessensfrage, wie ich das konfigurieren würde.

Deinen Artikel zur MTU werde ich mir auf jeden Fall noch ansehen und meine MTUs entsprechend anpassen. Die 1450 hab ich mir aber tatsächlich nicht selbst ausgedacht, sondern war Standard von der Wireguard Web UI, die ich zum konfigurieren genutzt habe.

Danke auf jeden Fall für deine schnelle Hilfe :wink: