[Problem] OpenVPN; Fritz!Box als Client

pink-panther

Neuer User
Mitglied seit
8 Feb 2008
Beiträge
56
Punkte für Reaktionen
0
Punkte
6
Hallo,

auf meiner Fritz!Box 7270 ist OpenVPN installiert. Nun möchte ich OpenVPN auf dieser Box als Client konfigurieren. Nachdem ich hier im Forum bereits nach Beiträgen zu diesem Thema gesucht habe, habe ich es geschafft die Config dementsprechend anzupassen.
Die Verbindung mit dem Server kommt erfolgreich zustande. Ich nutze den Bridging Modus.
In der Routingtabelle der Fritz!Box taucht nun auch das Netz der anderen Box auf (in diesem Fall 192.168.171.0/24 und natürlich 192.168.200.0/24) und ich kann die Rechner im anderen Netz von der Konsole erfolgreich anpingen. Der Client-Box wurde zu diesem Zweck die 192.168.200.101 zugewiesen.

Aber das Pingen funtioniert nur direkt von der Fritz!Box! Die Rechner, die hinter der Client-Box hängen können das andere Netz nicht anpingen. Es scheint als wenn die Box diese Pakete nicht weiterleitet.

Was mache ich hier falsch?

Vielen Dank vorab.
 
Zuletzt bearbeitet:
Im Zweifelsfall ist es ein Problem mit der Routing-Tabelle auf der Gegenseite, also am Server. Ic hgehe davon aus, dass Du die andere Seite zwar anpingen kannst, aber die Antwort nicht zurück kommt.
 
Ich kann von beiden Seiten pingen. Wenn ich mich per SSH auf dem Server einlogge kann ich auch die Client-Box anpingen, aber nicht das Netz dahinter. Die Client-Box hat die IP 192.168.200.101 zugewiesen bekommen. Diese IP kann ich vom Server anpingen, jedoch nicht die 192.168.176.1. Hier die Routingtabelle des Clients:

Code:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.180.1   *               255.255.255.255 UH    2      0        0 dsl
192.168.180.2   *               255.255.255.255 UH    2      0        0 dsl
192.168.179.0   *               255.255.255.0   U     0      0        0 guest
192.168.176.0   *               255.255.255.0   U     0      0        0 lan
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
default         *               0.0.0.0         U     2      0        0 dsl

Und hier die des Servers:

Code:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.180.1   *               255.255.255.255 UH    2      0        0 dsl
192.168.180.2   *               255.255.255.255 UH    2      0        0 dsl
79.205.127.171  *               255.255.255.255 UH    2      0        0 dsl
193.158.132.189 *               255.255.255.255 UH    4      0        0 dsl
217.6.167.160   *               255.255.255.224 U     4      0        0 dsl
87.140.255.0    *               255.255.255.128 U     4      0        0 dsl
192.168.179.0   *               255.255.255.0   U     0      0        0 guest
212.184.168.0   *               255.255.255.0   U     4      0        0 dsl
192.168.200.0   *               255.255.255.0   U     0      0        0 tap0
192.168.171.0   *               255.255.255.0   U     0      0        0 lan
193.158.34.0    *               255.255.254.0   U     4      0        0 dsl
91.63.224.0     *               255.255.224.0   U     4      0        0 dsl
87.141.128.0    *               255.255.128.0   U     4      0        0 dsl
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
default         *               0.0.0.0         U     2      0        0 dsl

Ich glaube fast, dass es daran liegt, dass dem Server keine Route zu 192.168.176.0/24 bekannt ist. Was muss ich tun, damit dieses Netz in die Routingtabelle aufgenommen wird?
 
Nein, klappt auch nicht. So habe ich es gemacht:

Code:
ping -I 192.168.200.1 192.168.176.1
 
Der Server hat diese IP (genau genommen das tap0 interface). Ich habe vom Server versucht den Client anzupingen.
Habe gerade statisch auf dem Server folgende Route hinzugefügt:

Code:
route add -net 192.168.176.0 netmask 255.255.255.0 dev tap0

Damit kann ich vom Server nun das Client-Netz anpingen. Aber erstens müsste der Server diese Route automatisch hinzufügen und zweitens kann ich vom Rechner im Netz des OpenVPN Client immer noch nicht das Servernetz anpingen.
 
Das eigentliche Netz ist 192.168.171.0/24 - der Server hat also die IP 192.168.171.1
 
OK, dann versuch mal ein Ping (... ohne die route aus Beitrag #7), mit Angabe der 192.168.171.1 als source-IP, vom Server.
 
Geht nicht. Ehrlich gesagt kann ich Dir auch gerade nicht folgen, was Du erreichen willst.

Code:
root@fritz:/var/mod/root# ping -I 192.168.171.1 192.168.176.1
PING 192.168.176.1 (192.168.176.1) from 192.168.171.1: 56 data bytes

--- 192.168.176.1 ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss
 
Ich kann von beiden Seiten pingen.
Dann würdest Du hier nicht schreiben.
Wenn ich mich per SSH auf dem Server einlogge kann ich auch die Client-Box anpingen, aber nicht das Netz dahinter. Die Client-Box hat die IP 192.168.200.101 zugewiesen bekommen. Diese IP kann ich vom Server anpingen, jedoch nicht die 192.168.176.1.
Das hat beides den gleichen Grund. Du kannst weder die 192.168.176.1 vom Server erreichen, noch irgend eine andere 192.168.176.x.

Dafür ist es wichtig, die Routing-Tabellen zu verstehen. Die Routing-Tabelle dient dazu, die Frage zu beantworten, wie die Adresse 192.168.176.1 erreicht werden kann. Schauen wir uns dazu die Tabelle des Servers an.
Code:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.180.1   *               255.255.255.255 UH    2      0        0 dsl
192.168.180.2   *               255.255.255.255 UH    2      0        0 dsl
79.205.127.171  *               255.255.255.255 UH    2      0        0 dsl
193.158.132.189 *               255.255.255.255 UH    4      0        0 dsl
217.6.167.160   *               255.255.255.224 U     4      0        0 dsl
87.140.255.0    *               255.255.255.128 U     4      0        0 dsl
192.168.179.0   *               255.255.255.0   U     0      0        0 guest
212.184.168.0   *               255.255.255.0   U     4      0        0 dsl
192.168.200.0   *               255.255.255.0   U     0      0        0 tap0
192.168.171.0   *               255.255.255.0   U     0      0        0 lan
193.158.34.0    *               255.255.254.0   U     4      0        0 dsl
91.63.224.0     *               255.255.224.0   U     4      0        0 dsl
87.141.128.0    *               255.255.128.0   U     4      0        0 dsl
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
default         *               0.0.0.0         U     2      0        0 dsl
Es ist kein Eintrag für 192.168.176.0/24 da, also wird default genommen. Default zeigt aber auf dsl, und von dort wird keine Antwort kommen.
Ich glaube fast, dass es daran liegt, dass dem Server keine Route zu 192.168.176.0/24 bekannt ist. Was muss ich tun, damit dieses Netz in die Routingtabelle aufgenommen wird?
Genau so ist es.
Code:
route add -net 192.168.176.0 netmask 255.255.255.0 gw 192.168.200.101
Die 192.168.200.101 ist die Adresse der Box, die der Server schon vorher anpingen kann.
 
Code:
route add -net 192.168.176.0 netmask 255.255.255.0 gw 192.168.200.101
Die 192.168.200.101 ist die Adresse der Box, die der Server schon vorher anpingen kann.

Das hatte ich ja auch schon manuell hinzugefügt - allerdings sah mein Kommando ein wenig anders aus. Damit ging dann auch der Ping vom Server in Richtung des Client-Netzes.
Die Frage ist halt, warum die Route nicht automatisch hinzugefügt wird und warum die Rechner hinter der jeweiligen Box nicht in das jeweilige andere Netz kommen.

Edit:
Hier mal meine Configs:

Client:

Code:
#  OpenVPN 2.1 Config, Sat Jan 28 22:31:38 CET 2012
proto tcp-client
dev tap0
#Helperline for rc.openvpn to add tap0 to lan bridge
ca /tmp/flash/openvpn/ca.crt
cert /tmp/flash/openvpn/box.crt
key /tmp/flash/openvpn/box.key
tls-client
ns-cert-type server
tls-auth /tmp/flash/openvpn/static.key 1
remote xxxx.no-ip.org 11194
nobind
pull
tun-mtu 1500
mssfix
verb 3
daemon
cipher AES-128-CBC
comp-lzo
float
keepalive 10 120
resolv-retry infinite
chroot /tmp/openvpn
user openvpn
group openvpn
persist-tun
persist-key

Server:

Code:
#  OpenVPN 2.1 Config, Sat Jan  1 01:01:08 CET 2000
proto tcp-server
dev tap0
ca /tmp/flash/openvpn/ca.crt
cert /tmp/flash/openvpn/box.crt
key /tmp/flash/openvpn/box.key
dh /tmp/flash/openvpn/dh.pem
tls-server
tls-auth /tmp/flash/openvpn/static.key 0
port 1194
push "dhcp-option DNS 192.168.200.1"
push "redirect-gateway"
mode server
ifconfig-pool 192.168.200.100 192.168.200.150
push "route 192.168.200.0 255.255.255.0"
route 192.168.200.0 255.255.255.0
ifconfig 192.168.200.1 255.255.255.0
push "route-gateway 192.168.200.1"
push "route 192.168.171.0 255.255.255.0"
max-clients 5
client-to-client
tun-mtu 1500
mssfix
verb 3
daemon
cipher AES-128-CBC
comp-lzo
float
keepalive 10 120
chroot /tmp/openvpn
user openvpn
group openvpn
persist-tun
persist-key
 
Zuletzt bearbeitet:
Das hatte ich ja auch schon manuell hinzugefügt - allerdings sah mein Kommando ein wenig anders aus. Damit ging dann auch der Ping vom Server in Richtung des Client-Netzes.
Das heißt was konkret?
Die Frage ist halt, warum die Route nicht automatisch hinzugefügt wird und warum die Rechner hinter der jeweiligen Box nicht in das jeweilige andere Netz kommen.
Woher sollte die Route automatisch kommen? Und was genau ist jetzt erreichbar und was nicht?
 
Das heißt was konkret??

Ich hatte folgendes Kommando verwendet
Code:
route add -net 192.168.176.0 netmask 255.255.255.0 dev tap0

Woher sollte die Route automatisch kommen? Und was genau ist jetzt erreichbar und was nicht?

Das Problem ist, dass die Rechner im Netz der Client-Box nicht in das Netz des Servers kommen. Ich kann bspw. auch nicht das Webfrontend von Freetz auf dem Server öffnen.

Wenn ich mich per SSH auf der Client-Box einlogge, dann kann ich, wie schon erwähnt, die jeweiligen Adressen anpingen.

Edit:

Mittlerweile geht es. Nach ein wenig googlen und der Suche im Forum habe ich herausgefunden, dass es eigentlich nur an der Route vom Server in Clientnetz liegen kann. Ich habe über die Fritz GUI eine statische Route zum Client-Netz gesetzt. Nun geht es. Anscheinend war es lediglich der "Rückweg", der nicht funktioniert hat als ich von Client auf den Server zugreifen wollte.
Warum es nicht ging nachdem ich die Route selbst mit "route add" hinzugefüht habe, ist mir allerdings nicht ganz klar.
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.