FritzBox als OpenVPN Client

Asterix3

Neuer User
Mitglied seit
28 Sep 2008
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Hallo Gemeinde,

suche jetzt schon seit längerem eine Lösung für mein Problem.
Habe eine FritzBox mit einem openVPN Client versorgt, die sich in mein Firmennetz einwählen soll.
Von der Box aus funktioniert alles soweit gut, sie wählt sich zertifikatsbasiert ein und ich kann von einer SSh Shell alle Rechner im Firmennetzwerk erreichen, allerdings können die Rechner im homelan hinter der Fritzbox nicht ins Firmennetzwerk pingen.
Macht die Box automatisch ein Routing? Mit welcher IP kommt sie im Firmennetzwerk an?

Firmennetzwerk: 172.16.0.0
Transfernetz openVPN: 10.10.10.0
Homelan: 192.168.178.0

Wo muss ich welches Routing eintragen bzw was wird in der Fritzbox unter IP Routing eingestellt?
Der VPN Server ist ein Suse system

Danke und Gruß

Stefan
 
Moin,

die Fritzbox (generell: der Client) erscheint gegenüber dem Server und auch dessen LAN mit seiner "VPN-IP", bei dir die IP aus dem 10.10.10.-er Netz. Von dort scheinst du ja das ServerLAN erreichen zu können, das Routing des Clients ist also o.k.
Damit du die "HomeLAN" IPs aus dem Servernetz erreichen kannst, ist aber auch der "Rückweg" wichtig, der scheinbar bei dir nicht klappt.
Zum einen muss das HomeLAN erstmal zum VPN-Server geroutet werden (entfällt, wenn der Server dort das Defaultgateway ist), zum anderen muss der Server das HomeLAN durch das VPN zum Client routen. Das muss in der OpenVPN-Konfig eingestellt werden, wenn du mehrere Clients nutzt, benötigst du zusätzlich noch das "client-config-dir" mit einem entsprechenden "iroute" Eintrag für das Netz...

Wie sehen denn deine Konfigs aus?

Jörg
 
Hallo Jörg,

der Rückweg funktioniert.
Habe testweise mal ne Kiste im Firmennetzwerk mit sniffer laufen. Ich sehe das ein ping von der Fritzbox dort ankommt und auch korrekt replied wird.
Wenn ich allerdings von einem Client hinter der Fritzbox nen ping versuche kommt dieser erst garnicht ins Firmennetz!
Sieht so aus als würde die Fritbox nicht ins tun routen sondern ins dsl.
Wo bringe ich der box bei welches netzwerk die wohin routet?

Gruß

Steff
 
Moin,

mit welcher IP war denn die FB sichtbar? Kannst du aus dem Firmennetz oder vom Server aus die LAN-IP der FB erreichen?

Du musst in der Client-Config das Routing ins Firmennetz haben ("route 172.16.0.0 255.255.0.0" [oder andere Maske])...
Analog in der Serverkonfig "route 192.168.178.0 255.255.255.0", wenn es nur diesen Client gibt. Ansonsten muss das ins "client-config-dir" mit dem route und dem iroute Befehl, sonst gibt es auf dem Server Fehler der Art MULTI: bad source address from client [192.168.178.xy] und die Pakete werden verworfen.

Jörg

PS: Muss da evtl auf dem Suse-Sytem noch was an der Firewall gedreht werden??
 
hmmm

also aus dem Firmennetz war die box unter ihrer Transfernetzip also 10.10.10.6 erreichbar.
Wo finde ich auf der Box die clientconfig? (Hatte bis jetzt nur das Webinterface!)
Wo finde ich das client-config-dir?

Steff
 
Also, das client-config-dir gibt es auf dem Server, das benötigst du, wenn du eine "Multi-Client-Umgebung" hast, bei der Netze hinter den Clients sind.

Wie kriegt denn der Client seine Config? Nutzt du das Freetz-Paket?

Jörg

Edit: Letztlich ist die Frage, ob das Routing in der GUI festgelegt wird ("entferntes Netz") oder ob der Client diese Infos per "pull" vom Server bekommt, der das "push"ed

Edit 2: Sofern du Freetz nutzt, findest du die aktuelle Konfig unter /mod/etc/openvpn.conf
 
Zuletzt bearbeitet:
Also Server ist wie schon gesagt ein suse
Client ist die Fritzbox die ganze konfig wird gepusht
Hier mal ein Auszug aus der debug.

Wed Oct 1 18:43:08 2008 RESOLVE: Cannot resolve host address: TUN:172.16.0.0: [HOST_NOT_FOUND] The specified host is unknown.
Wed Oct 1 18:43:08 2008 OpenVPN ROUTE: failed to parse/resolve route for host/network: TUN:172.16.0.0
Wed Oct 1 18:43:08 2008 TUN/TAP device tun0 opened
Wed Oct 1 18:43:08 2008 TUN/TAP TX queue length set to 100
Wed Oct 1 18:43:08 2008 /sbin/ifconfig tun0 10.10.10.6 pointopoint 10.10.10.5 mtu 1400
Wed Oct 1 18:43:10 2008 NOTE: unable to redirect default gateway -- Cannot read current default gateway from system
Wed Oct 1 18:43:10 2008 /sbin/route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.10.10.5
Wed Oct 1 18:43:11 2008 /sbin/route add -net 10.10.10.1 netmask 255.255.255.255 gw 10.10.10.5
Wed Oct 1 18:43:11 2008 Initialization Sequence Completed

was mich wundert ist die "cannot resolve host". Der Fehler kommt wenn ich im Webinterface unter "entferntes Netz" folgenden Eintrag mache:
TUN:172.16.0.0 255.255.0.0

aber die routen sind doch alle da, oder?

Hier mal noch die aktuelle Routing-Tabelle der Fritzbox
10.10.10.1 10.10.10.5 255.255.255.255 UGH 0 0 0 tun0
192.168.180.1 * 255.255.255.255 UH 2 0 0 dsl
10.10.10.5 * 255.255.255.255 UH 0 0 0 tun0
192.168.180.2 * 255.255.255.255 UH 2 0 0 dsl
192.168.178.0 * 255.255.255.0 U 0 0 0 lan
172.16.0.0 10.10.10.5 255.255.254.0 UG 0 0 0 tun0
169.254.0.0 * 255.255.0.0 U 0 0 0 lan
default * 0.0.0.0 U 2 0 0 dsl


Gruß

Stefan
 
Zuletzt bearbeitet:
In das entfernte Netz kommt nur das Netz selbst, also "172.16.0.0 255.255.0.0" (ohne das TUN davor)

Ansonsten bekommt die Box die Route über das pull/push, wie man sieht.

Hast du denn mal beim Server geschaut, ob da im Log evtl "MULTI: bad source address from client ..." Fehler auflaufen?!?

Ist es eine Multi-Client-Config auf dem Server? Kannst du vom Server die LAN-IP der Box erreichen?

Jörg
 
Im serverlog sind keine Fehler!
Ich kann vom server nur die 10.10.10.6 erreichen (tun interface der box) nicht aber die LAN IP 192.168.178.1
Liegt da der Fehler? Fehlt da noch ein Routing?
Firewall auf dem Server ist deaktiviert

Stefan
 
Ist denn in der Server-Config der "route 192.168.178.0 255.255.255.0" Befehl drin? Was sagt das Routing auf dem Server?

Jörg
 
Hier das routing vom Server, habe route 192... eingetragen.

10.10.10.2 * 255.255.255.255 UH 0 0 0 tun0
192.168.178.0 10.10.10.2 255.255.255.255 UGH 0 0 0 tun0
10.10.10.0 10.10.10.2 255.255.255.0 UG 0 0 0 tun0
172.16.0.0 * 255.255.254.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 172.16.0.1 0.0.0.0 UG 0 0 0 eth0
 
Hast du das von Hand eingetragen?
Wenn du (wie vorher angegeben) den FB-Client mit 10.10.10.6 hast, stimmt die Route zu 10.10.10.2 nicht, die Netzmaske sollte auch 255.255.255.0 sein...

Versuche doch mal händisch die Route auf die .6 zu ändern. Ansonsten wäre das genau das "klssische" Bild des schon beschriebeben Phänomens, eine Config für mehrere Clients, in der das Routing zu einem Client in der "Haupt-Config" und nicht im client-config-dir steht...


Jörg
 
Stimmt ist was dran!
Nur, was kommt jetzt ins ccd Verzeichnis? Habe hinter der Fritzbox mehrere Rechner. muss ich für jeden ein cert generieren?

Steff
 
Nein, so viele Certs brauchst du nicht, das geht "anders" ;-).

Entscheidend ist die Frage, ob sich mehr als ein Client anmelden will und noch hinter mindestens einem Client ein weiteres Netz ist, was mit dem Server oder dem Server-Netz kommunizieren will. Dann kommt ein "zweistufiges" Routing zum Tragen: Das "normale" Routing schickt alle diese Netze zum OpenVPN, dass dann wiederum dafür sorgen muss, dieses "interne Routing" zu erledigen, diese Netze "zum richtigen Client zu schicken".

Wenn diese Bedingungen zutreffen, geht das wie folgt:

Auf dem Server wird ein Verzeichnis angelegt, das ist dein "client-config-dir" (sagen wir mal "ccd"). Das taucht in der Server-Config auf als "client-config-dir /<dein_Pfad-zu>/ccd"
Für jeden Client wird dort eine Datei angelegt mit dem Namen, den der Client im Zertifikat hat (also z.B.: client01, client02 usw), deren Inhalt dann mindestens das Routing der beim Client vorhandenen Netze enthält, ich schlage immer vor, auch die IPs dort "festzulegen". Dann lautete die Datei /<dein_Pfad-zu>/ccd/client01:
Code:
# Client-Config-Datei für client01 
#
# IP's für den Tunnel und das Routing des VPN-Netzes
ifconfig-push 10.10.10.6 10.10.5
push "route 10.10.10.1 255.255.255.255"
push "route-gateway  10.10.10.1"
# Routing des "ServerLANs" bekanntmachen
push "route 172.16.0.0 255.255.0.0"
# Client-LAN routen
route 192.168.178.0 255.255.255.0
iroute 192.168.178.0 255.255.255.0

Mit dem "ifconfig-push" mit .6 und .5 bist du "Windowsclientkompatibel", weil da TUN-Interfaces immer eigene Adressbereiche mit der Maske 255.255.255.252 bekommen müssen, ansonsten könntest du (davon ausgehend dass der Server die .1 hat) auch echte Point-to-Point Adressen, wie ifconfig-push 10.10.10.6 10.10.1 nehmen...


Jörg
 
Sorry, aber kriegs einfach nicht hin!

Wäre es möglich, daß du mir eine client und server conf bastelst?

Hier mal meine openvpn.conf (Client auf der Fritzbox)

# OpenVPN 2.1 Config, Thu Oct 2 09:24:00 CEST 2008
proto tcp-client
dev tun
ca /tmp/flash/ca.crt
cert /tmp/flash/box.crt
key /tmp/flash/box.key
tls-client
ns-cert-type server
remote xxx.xxx.xxx.xxx 1194
nobind
pull
tun-mtu 1400
mssfix
verb 3
daemon
cipher BF-CBC
comp-lzo
keepalive 10 120
resolv-retry infinite

und hier die server.conf

dev tun
tun-mtu 1400
proto tcp
port 1194
tls-server
ca keys/ca.crt
cert keys/openvpn.crt
key keys/openvpn.key
dh keys/dh1024.pem
server 10.10.10.0 255.255.255.0
keepalive 10 60
status-version 1
status /var/log/openvpn/server.log 30
cipher BF-CBC
comp-lzo
float
client-config-dir ccd
max-clients 100
user nobody
group nogroup
persist-key
persist-tun
route "192.168.178.0 255.255.255.0"
verb 2
tls-verify /etc/openvpn/verify

im ccd Verzeichnis habe ich deine konfig entsprechend übernommen.

Hier noch die ccd/client01
# Client-Config-Datei für client01
#
# IP's für den Tunnel und das Routing des VPN-Netzes
ifconfig-push 10.10.10.6 10.10.10.5
push "route 10.10.10.1 255.255.255.255"
push "route-gateway 10.10.10.1"
# Routing des "ServerLANs" bekanntmachen
push "route 172.16.0.0 255.255.255.0"
# Client-LAN routen
route 192.168.178.0 255.255.255.0
iroute 192.168.178.0 255.255.255.0


Gruß

Steff
 
Zuletzt bearbeitet:
Moin,

eigentlich hast du jetzt das, was du benötigst, wo laufen denn Fehler auf???

Egal: Wenn ich die Openvpn-GUI das mal bauen lasse, kommt das dabei raus:
Code:
# Die Server-Config (cat /mod/etc/openvpn_temp.conf):
#  OpenVPN 2.1 Config, Sat Jan  8 00:15:19 CET 2000
proto tcp-server
dev tun
ca /tmp/flash/ca.crt
cert /tmp/flash/box.crt
key /tmp/flash/box.key
dh /tmp/flash/dh.pem
tls-server
port 1194
ifconfig 10.10.10.1 255.255.255.0
mode server
client-config-dir /var/tmp/clients_openvpn_temp
topology subnet
max-clients  100
push "route 172.16.0.0 255.255.255.0.0 10.10.10.1"
route 192.168.178.0 255.255.255.0 10.10.10.6
route 192.168.179.0 255.255.255.0 10.10.10.10
tun-mtu 1500
mssfix
verb 3
daemon
cipher BF-CBC
comp-lzo
keepalive 10 120
######################
# Und der Inhalt vom ccd, hier /var/tmp/clients_openvpn_temp
# erhalten durch: 
# for x in `ls /var/tmp/clients_openvpn_temp`; do
#  echo "# Inhalt von $x"
#  cat /var/tmp/clients_openvpn_temp/$x
# done
######################
# Inhalt von client01
ifconfig-push 10.10.10.6 255.255.255.0
push "topology subnet"
iroute 192.168.178.0 255.255.255.0
# Inhalt von client02
ifconfig-push 10.10.10.10 255.255.255.0
push "topology subnet"
iroute 192.168.179.0 255.255.255.0

Die Pfade musst du natürlich entsprechend anpassen und das sollte zu deinem Client passen...

Jörg
 

Anhänge

  • Config.jpg
    Config.jpg
    66.6 KB · Aufrufe: 57
Zuletzt bearbeitet:
So habs jetzt endlich. :)

Vielen Dank nochmals für eúre Hilfe! Echt ein super Forum!

Hier poste ich nochmals die server.conf:
# Die Server-Config (cat /mod/etc/openvpn_temp.conf):
# OpenVPN 2.1 Config, Sat Jan 8 00:15:19 CET 2000
proto tcp-server
dev tun
ca keys/ca.crt
cert keys/openvpn.crt
key keys/openvpn.key
dh keys/dh1024.pem
tls-server
port 11940
ifconfig 10.10.10.1 10.10.10.2
mode server
client-config-dir ccd
max-clients 100
push "route 172.16.0.0 255.255.255.0 10.10.10.2"
route 192.168.178.0 255.255.255.0
#route 192.168.179.0 255.255.255.0 10.10.10.10
log /var/log/openvpn/openvpn.log
tun-mtu 1400
mssfix
verb 3
daemon
cipher BF-CBC
comp-lzo
keepalive 10 120

client.conf
proto tcp-client
dev tun
ca /tmp/flash/ca.crt
cert /tmp/flash/box.crt
key /tmp/flash/box.key
tls-client
ns-cert-type server
remote xxx.xxx.xxx.xxx 1194
nobind
pull
tun-mtu 1400
mssfix
verb 3
daemon
cipher BF-CBC
comp-lzo
keepalive 10 120
resolv-retry infinite

Gruß

Steff
 
172.16.0.0 Netz

mensch das kenn ich doch irgendwo her aus STA?
 
Hallo, ich habe eine Fritzbox 7270 mit freetz und openvpn die als Server laufen soll und eine 7170 mit freetz und openvpn(Eltern) als client. Ich würde gerne die beiden Boxen über openvpn laufen lassen. Allerdings habe ich vor noch weitere Fritzboxen über openvpn laufen zu lassen! Ich möchte das man zwischen den beiden Netztwerken ohne Einschränkungen zugreifen kann. Ich lese jetzt seit einer Woche etliche Beiträge und hab schon etliche sachen ausprobiert, aber ich blick echt nicht mehr durch! Das bearbeiten mit vi funktioniert überhaupt nicht, ich weiß nicht wie ich es angehen soll. Es gibt soviel verschiedene Konstellationen und bei jeder die ich probiert habe bekomme ich irgendwo einen Fehler! Meistens im vi wenn ich die ar7.cfg bearbeiten will und sie dann abspeichern will. z.B Fehler: E32 Kein Dateiname!

Kann mir vielleicht jemand einen Rat geben wie ich da richtig anfangen soll?
Bin in Sachen Netzwerk ziemlich neu auf dem Gebiet! Möchte es aber trotzdem schaffen.

Ich hoffe es kann mir jemand eine Hilfestellung geben?!

Gruß Rainer:newbie:
 
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.