Forum: PC Hard- und Software Fritzbox VPN: IPs werden geändert


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Tilo (tilo_l)


Lesenswert?

Hallo

Ich habee folgendes Setup:
VPN-Server [öffentliche feste IP]
 Ubuntu mit wireguard
1
[Interface]
2
Address = 10.20.30.40/32
3
ListenPort = 51820
4
PrivateKey = PrivateServer
5
6
PostUp = route add -net 192.168.178.0/24 wg0; iptables -A FORWARD -i wg0 -j ACCEPT
7
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
8
9
[Peer]
10
PublicKey = PublicFritz
11
AllowedIps = 0.0.0.0/0

FritzBox [wechselnde IP]
Wireguard
1
[Interface]
2
Address = 10.20.30.41/32
3
PrivateKey = PrivateFritz
4
5
[Peer]
6
PublicKey = PublicServer
7
Endpoint = servername:51820
8
AllowedIps = 10.20.30.40/32
9
PersistentKeepalive = 25

Ich möchte vom VPN-Server aus die Client erreichen, die sich hinter der 
Fritzbox befinden. Prinzipiell funktioniert das auch. Wenn ich vom 
VPN-Server aus einen ping auf einen Client hinter der Fritzbox mache, 
z.B. ping 192.168.178.23, sehe ich auf dem Cleint mit wireshark, dass 
der ping ankommt. Quelladresse ist die 10.20.30.40. Ich sehe auch, dass 
der Client die Antwort an 10.23.30.40 schickt. Leider sehe ich auf dem 
VPN Server folgendes:
1
root@mail:~# ping 192.168.178.23
2
PING 192.168.178.23 (192.168.178.23) 56(84) bytes of data.
3
64 bytes from 10.20.30.41: icmp_seq=1 ttl=127 time=19.6 ms (DIFFERENT ADDRESS!)
4
64 bytes from 10.20.30.41: icmp_seq=2 ttl=127 time=10.8 ms (DIFFERENT ADDRESS!)
5
64 bytes from 10.20.30.41: icmp_seq=3 ttl=127 time=10.3 ms (DIFFERENT ADDRESS!)

Der output passt zu tcpdump -i wg0 icmp. Ich vermute, die Fritzbox 
schreib die Absendeadresse um. Weiß jemand, ob dem wirklich so ist bzw. 
wie ich das abstellen könnte?

Vielen Dank.

von Max I. (powermeter)


Lesenswert?

Tilo schrieb:
> Ubuntu mit wireguard[Interface]
> Address = 10.20.30.40/32

Address = 10.20.30.0/24

> FritzBox [wechselnde IP]
> Wireguard[Interface]
> Address = 10.20.30.41/32

Address = 10.20.30.0/24

> [Peer]
> AllowedIps = 10.20.30.40/32

Wirklich nur ein Client?

PS: Niemals NAT am Tunnelinterface!

: Bearbeitet durch User
von Tilo (tilo_l)


Lesenswert?

Danke für deine Antwort.

Nein, eigentlich nicht. Die Fritzbox soll auch kein Nat sondern Routing 
machen. Daher würde dort meiner Meinung nach:
AllowedIps = 10.20.30.40/32,192.168.178.0/24 hin gehören.
Das Problem ist nur, dass die Fritzbox das nicht akzeptiert und eine 
Fehlermeldung ausspuckt, dass es einen Adresskonflikt gibt.
Tatsächlich wäre am Tunnelende der Fritzbox nur eine Adresse erlaubt, 
die der Gegenstelle. Andere Teilnehmer gibt es im 10.20.30.40/24 Netz 
nicht.

> Address = 10.20.30.0/24
Warum hast du diese Adresse für beide Seiten vorgeschlagen? Ist das 
nicht die IP, die das Interface auf der jeweiligen Seite bekommt?

Vielen Dank.

von Max I. (powermeter)


Lesenswert?

Tilo schrieb:
> 10.20.30.40/24 Netz

Das ist kein Netz.

>> Address = 10.20.30.0/24
> Warum hast du diese Adresse für beide Seiten vorgeschlagen? Ist das
> nicht die IP, die das Interface auf der jeweiligen Seite bekommt?

Das ist ein Netz, weswegen kein Interface der Welt diese IP bekommen 
kann.

von Tilo (tilo_l)


Lesenswert?

Sorry, du hast recht 10.20.30.0/24 wäre für ein Netz richtig gewesen. Da 
habe ich mich verschrieben.

Ich verstehe deinen Vorschlag immer noch nicht. Wenn beide Enden des 
Tunnels keine IP bekommen, woher soll die Fritzbox wissen, wie geroutet 
werden soll? Wie erreiche ich den VPN Server aus dem 192.168.178.0/24 
Netz hinter der Fritzbox?

/Edit: Mit der von dir vorgeschlagenen Änderung gehen gar keine Daten 
mehr durch den Tunnel, nichteinmal mehr mit falschem IP Absender.

Vielen Dank.

: Bearbeitet durch User
von Chris K. (kathe)


Lesenswert?

Habe bisher das Wireguard bich nicht zum laufen bekommen auf ner 7590.
Da ich nicht 255.255.255.0 benutze gingen alle meine Versuche fehl,
DA IST WOHL NOCH MEHR BUGGY WENN DU NICHT DIE fRITZ DEFAULT benutzt

von Harald K. (kirnbichler)


Lesenswert?

Chris K. schrieb:
> Da ich nicht 255.255.255.0 benutze gingen alle meine Versuche fehl,

Da man weder beim ipsec-VPN noch beim Wireguard-VPN festlegen kann, 
welche IP-Adressen für Clients verwendet werden, könnten Deine Probleme 
auch dadurch entstehen.

Bei aktivem DHCP werden für VPN-Clients willkürlich IP-Adressen aus dem 
Adressraum oberhalb des DHCP-Adressraums vergeben. Ist aber kein DHCP 
aktiv, werden für VPN-Clients IP-Adressen aus der Mitte des gesamten 
Adressraums vergeben.

Hat man beispielsweise ein /16-Netz, so bekommen in diesem Falle 
VPN-Clients Adressen ab x.y.128.0 zugewiesen.

Diese Adressen werden --zumindest beim alten ipsec-VPN-- auch in der 
Netzwerkübersicht (Heimnetzwerk -> Netzwerk) angezeigt.

Und wenn diese Adressen im lokalen Netzwerk schon anderweitig genutzt 
werden ... dann gibt es "lustige" Nebeneffekte.

In welcher unendlichen Weisheit sich AVM für diesen Weg der 
Adressvergabe entschieden hat, und warum verfickt nochmal man nicht 
einfach den genutzten Adressraum oder sogar die individuellen Adressen 
einstellen kann, entzieht sich vollständig jedweder Logik.

Man kann versuchen, das Problem mit Gefrickel anzugehen.

Konfigurationsdatei herunterladen, im Texteditor aufmachen, nach 
IP-Adresse suchen, ändern, abspeichern, Prüfsumme aktualisieren und 
wieder hochladen.

Das Aktualisieren der Prüfsumme geht mit Online-Tools (wie kann man nur 
auf so eine beknackte Idee kommen?!) - aber wenigstens das hier kann man 
auch lokal verwenden:

https://www.mengelke.de/Projekte/FritzBox-JSTool

(Unterhalb der Eingabebox Rechtsklick auf "Offline-Version speichern")

: Bearbeitet durch User
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Tilo schrieb:

> Nein, eigentlich nicht. Die Fritzbox soll auch kein Nat sondern Routing
> machen.

Die WireGuard-Implementierung der Fritzbox ist stark kastriert. Die 
unterstützt ausschließlich das "Roadwarrior"-Szenario, sprich: einen 
einzelnen Rechner auf der Gegenseite. Und der bekommt eine einzelne 
Adresse nach Gusto der FB für das Tunnel-IF zugewiesen. Den (recht 
kruden) Mechanismus, nach dem das passiert, hat ja Harald K. bereits 
beschrieben.

Um mit einer FB und Wireguard das zu erreichen:

> Ich möchte vom VPN-Server aus die Client erreichen, die sich hinter der
> Fritzbox befinden.

Wenn es wirklich nur darum geht, vom VPN-Server selber aus irgendwas im 
LAN der FB zu erreichen: das sollte kein Problem sein. Das entspricht ja 
dem von der FB unterstützten "Roadwarrior"-Szenario.

Was du willst, ist aber scheinbar ein "Site2Site"-Szenario. Dass also 
auch Rechner irgendwo "jenseits" deines VPN-Servers aud Geräte im LAN 
der FB zugreifen können.

Das geht mit der WireGuard-Implementierung der Fritzbox nur mit dem 
NAT-Trick. D.h.: Auf deinem VPN-Server musst du das Tunnel-IF mit NAT 
ausstatten. Aus Sicht der FB gibt es dann nach wie vor nur einen 
einzelnen Peer.

Für echtes "Site2Site" mußt du das IPSEC-VPN der FB benutzen. Da ist 
dieses Szenario vorgesehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.