avenga
Goto Top

Per VPN Client entferntes VPN Netz erreichen

Hallo,
folgendes Szenario: ich habe zwei Netzwerke permanent miteinander verbunden (Zuhause, Arbeit) per Wireguard IPv6 Tunnel (durch den Tunnel geht IPv4 & 6). Läuft seit Jahren wunderbar.
Wireguard läuft jeweils auf einem RPi / Linux VM.

Daneben habe ich natürlich noch diverse Clienten s.g. Streetwarrior eingerichtet, mit denen ich mich von außerhalb jederzeit auf beide Netzwerke einwählen kann. Klappt ebenfalls wunderbar.

Da ein Netzwerk von außen nur per IPv6 erreichbar ist und es in Hotels grundsätzlich kein v6 gibt, ist mir folgender Gedanke gekommen: ich wähle mich Zuhause ein und erreiche über den RPi das permanent verbundene andere Netzwerk.

Könnte mir einer verraten wo ich da eine passende Route eintragen muss?
Aktuell klappt es so nicht.

mein Streetwarrior sieht so aus:
[Interface]
PrivateKey = xxx
Address = 192.168.99.5/24, fd08::5/64
DNS = 192.168.168.5, fd00:xyz:yzx:xxx 

[Peer]
PublicKey = xxx
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = xyz:51820

der Server:
[Interface]
Address = 192.168.99.1/24, fd08::1/64
ListenPort = 51820
PrivateKey = xxx
MTU = 1412

PostUp = iptables -A FORWARD -i %i -j ACCEPT
PostUp = iptables -A FORWARD -o %i -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostUp = ip6tables -A FORWARD -i %i -j ACCEPT
PostUp = ip6tables -A FORWARD -o %i -j ACCEPT
PostUp = ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

PostDown = iptables -D FORWARD -i %i -j ACCEPT
PostDown = iptables -D FORWARD -o %i -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostDown = ip6tables -D FORWARD -i %i -j ACCEPT
PostDown = ip6tables -D FORWARD -o %i -j ACCEPT
PostDown = ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
...
...
...
[Peer]
PublicKey = xxx
AllowedIPs = 192.168.99.6/32, 192.168.74.0/24, fd08::6/128, fd00:bbbb::/32
Endpoint = xxx.dynv6.net:51821
PersistentKeepalive = 25

ich vermute hier muss noch eine Route eingefügt werden.
Bevor ich hier aber wild dran rum doktore, möchte ich lieber einen Experten Tipp.

Danke

Content-Key: 32898305354

Url: https://administrator.de/contentid/32898305354

Printed on: April 27, 2024 at 08:04 o'clock

Mitglied: 7907292512
7907292512 Sep 06, 2023 updated at 19:59:22 (UTC)
Goto Top
Du brauchst am Server keine Route, du musst nur am v6 Peer (am Client nicht am Server ) den Street worker imit seiner Source-IP in den Allowed IPs ergänzen, denn sonst kommt der durch das Cryptokey Routing nicht durch...
AllowedIPs = 192.168.99.1/32, 192.168.99.5/32,......
Im Netz des V6 Peers sollte das Default-GW natürlich das 192.168.99.0/24 Netz kennen wenn es nicht selbst die WG Verbindung aufbaut. Ist das nicht der Fall, dort eine statische Route für das 192.168.99.0/24er Netz auf den Wireguard-Client hinterlegen.

Immer daran denken das die Allowed IPs festlegen was durch den Tunnel darf 😉, also an immer an die Absender (SRC IP) denken.

Gruß sid
Member: Avenga
Avenga Sep 09, 2023 at 22:48:47 (UTC)
Goto Top
Hi, habe es ausprobiert, es klappt aber nicht.

Noch mal die vollständige Konfig:

Zuhause (IPv4) RPi:
[Interface]
Address = 192.168.99.1/24, fd08::1/64
ListenPort = 51820
PrivateKey = xxx
MTU = 1412

PostUp = iptables -A FORWARD -i %i -j ACCEPT
PostUp = iptables -A FORWARD -o %i -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostUp = ip6tables -A FORWARD -i %i -j ACCEPT
PostUp = ip6tables -A FORWARD -o %i -j ACCEPT
PostUp = ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

PostDown = iptables -D FORWARD -i %i -j ACCEPT
PostDown = iptables -D FORWARD -o %i -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostDown = ip6tables -D FORWARD -i %i -j ACCEPT
PostDown = ip6tables -D FORWARD -o %i -j ACCEPT
PostDown = ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = xxx=
AllowedIPs = 192.168.99.2/32, fd08::2/128
[Peer]
PublicKey = xxx=
AllowedIPs = 192.168.99.3/32, fd08::3/128
[Peer]
PublicKey = xxx=
AllowedIPs = 192.168.99.4/32, fd08::4/128
[Peer]
PublicKey = xxx=
AllowedIPs = 192.168.99.5/32, fd08::5/128
[Peer]
PublicKey = xxx=
AllowedIPs = 192.168.99.6/32, 192.168.74.0/24, fd08::6/128, fd00:bbbb::/32
Endpoint = IPv6:51821
PersistentKeepalive = 25

Arbeit (IPv6):
[Interface]
Address = 192.168.99.10/24, fd08::10/64
ListenPort = 51821
PrivateKey = yyy=
MTU = 1412

PostUp = iptables -A FORWARD -i %i -j ACCEPT
PostUp = iptables -A FORWARD -o %i -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostUp = ip6tables -A FORWARD -i %i -j ACCEPT
PostUp = ip6tables -A FORWARD -o %i -j ACCEPT
PostUp = ip6tables -t nat -A POSTROUTING -o ens3 -j MASQUERADE

PostDown = iptables -D FORWARD -i %i -j ACCEPT
PostDown = iptables -D FORWARD -o %i -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
PostDown = ip6tables -D FORWARD -i %i -j ACCEPT
PostDown = ip6tables -D FORWARD -o %i -j ACCEPT
PostDown = ip6tables -t nat -D POSTROUTING -o ens3 -j MASQUERADE

[Peer]
PublicKey = yyy=
AllowedIPs = 192.168.99.6/32, 192.168.168.0/24, fd08::6/128, fd00:aaaa::/32
[Peer]
PublicKey = yyy=
AllowedIPs = 192.168.99.11/32, fd08::11/128
[Peer]
PublicKey = yyy=
AllowedIPs = 192.168.99.12/32, fd08::12/128
[Peer]
PublicKey = yyy=
AllowedIPs = 192.168.99.13/32, fd08::13/128
[Peer]
PublicKey = yyy=
AllowedIPs = 192.168.99.14/32, fd08::14/128
[Peer]
PublicKey = yyy=
AllowedIPs = 192.168.99.15/32, fd08::15/128

Roadwarrior #1:
[Interface]
Address = 192.168.99.2/24, fd08::2/64
PrivateKey = xxx=
DNS = 192.168.168.5, fd00:aaaa::dea:xxx:yyy:zzz

[Peer]
PublicKey = xxx
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = IPv4:51820

Mit dem Roadwarrior #1 möchte ich über Zuhause auf das Netzwerk 192.168.74.x zugreifen.