# Mit WireGuard CG-NAT umgehen?



## canju (29. Oktober 2020)

Hallo liebe Forengemeinde,

ich hoffe ich hab den richtigen Bereich hier im Forum für mein Anliegen erwsicht. Da mir hier schon oft geholfen wurde versuche ich es jetzt einfach auch mal bzgl. meiner WIreGuard Frage 

*Ziel / Ausgangslage:*

Ich habe letztes Jahr einen Kleingarten gepachtet und möchte mich via WireGuard VPN von außen mit dem LAN dort verbinden. Ich möchte hier auf meine Überwachungskameras und meine Bewässerungssystem zugreifen, die jeweils über interne IP-Adressen erreichbar sind. An sich kein großes Problem, ABER im Garten habe ich einen o2 Free Unlimited Max LTE Tarif laufen der hinter einem Carrier Grade NAT sitzt.

Ich habe gelesen, dass man das CG-NAT über einen VPS umgehen kann, indem man beide clients mit dem VPS verbindet und anhand von iptable Einträgen dann ins Garten-LAN kommen kann. Daher habe ich mir eigens für diesen Zweck einen kleinen Vserver gemietet und dort WireGuard eingerichtet. Die Verbindung dort hin klappt schon mal einwandfrei, Setup war leichter als gedacht.

VPS = Server
client1 = Home-Lan
client2 = Garten-Lan

*Die Konfiguration:*

in `/etc/sysctl.conf`habe ich den Wert `net.ipv4.ip_forward=1` bereits aktiviert.

Die Serverkonfig `wg0.conf` sieht so aus:


```
[Interface]
Address = 192.168.200.1/24
ListenPort = 51820

PrivateKey = [hidden]
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i ->
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i>

# Client1
[Peer]
PublicKey = [hidden]
AllowedIPs = 192.168.200.2/32
```

Die client Config `client1.conf`sieht so aus:


```
[Interface]
PrivateKey = [hidden]
Address = 192.168.200.2
DNS = 1.1.1.1

[Peer]
PublicKey = [hidden]
Endpoint = [hidden]:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
```

Wie gesagt der Verbindungaufbau von client1 zum server funktioniert einwandfrei.

Jetzt geht es darum die Konfiguration für client2 anzulegen, welcher sich vom Garten (hinter FRITZ!Box 6820 LTE und CG-NAT) befindet mit dem Server zu verbinden. Was mir fehlt ist, welche iptable Einträge / Konfigurationen muss ich am Server / client hinzufügen, damit ich von Zu hause (client1) auf das LAN im Garten (client2) zugreifen kann?

Würde mich freuen wenn sich ein Profi findet, der mir helfen kann.

Vielleicht noch eine zusätzliche Verständnisfrage:

Wenn ich mich mit client1 auf den Server verbinde, zeigt mir das offizielle client Programm von WIreGuard einen anderen ListenPort an als, der Standardport den ich im Server gesetzt habe, wieso ist das so?





Beste Grüße,
Canju


----------



## Technipion (29. Oktober 2020)

Hallo Canju,
tatsächlich ein interessantes Problem was du da hast. Ich erinnere mich noch, dass ich selbst sowas 2014 realisieren wollte, also noch lange bevor ich WireGuard auf dem Schirm hatte. Ging damals aber total in die Hose 

Naja, zum Glück hat sich die Technik etwas weiterentwickelt. Deshalb zunächst hier die obligatorische Frage: Wie steht's mit IPv6? Die IPv6 Adresse sollte global sein. Dann könntest du mit klassischen Methoden wie SSH-Tunneln arbeiten...

Falls du trotzdem lieber das VPN basteln möchtest (was ich ja durchaus nachvollziehen kann), schau dir doch mal diesen Guide hier an:
https://stanislas.blog/2019/01/how-to-setup-vpn-server-wireguard-nat-ipv6/
Etwas weiter unten zeigt der nette Mensch, wie man den zweiten Peer anschließt und den gesamten Netzwerkverkehr auf diesem über den Server umleitet. Er bindet sogar ein Android-Smartphone in sein VPN ein (was ja schon zeigt, dass seine Konfiguration mit dem CGN klar kommt).

Ich drücke dir auf jeden Fall schonmal die Daumen! Ich weiß aus Erfahrung wie Nervenzerstäubend solches Netzwerkgefrickel sein kann 

Gruß Technipion


----------



## canju (29. Oktober 2020)

Hey Technipion,

danke dir für die schnelle Antwort. Ich bevorzuge eher eine VPN-Verbindung, anstelle eines SSH-Tunnels.

Ich werde mir den Guide nacher in Ruhe zu gemüte führen und dann WE hoffentlich alle clients richtig eingerichtet haben (ich drücke mir selbst die Daumen )



> wie Nervenzerstäubend solches Netzwerkgefrickel sein kann


ohja ... allein zu bemerken, dass man hinter nem CG-NAT sitzt und was man alles vor dieser Erkenntnisse probiert hat...

Grüße,
Canju


----------

