[gelöst] Freetz: OpenVPN Webinterface Fehler?

monty03

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

ich hab auf meiner 7270 OpenVPN mit Zertifikaten unter Verwendung des TUN Interfaces eingerichtet (routing). Beim ersten User funktioniert das auch perfekt, allerdings nicht mit weiteren Benutzern. Diese können sich zwar anmelden, können aber über ping keine Verbindung zum VPN-Server und zu den Geräten hinter dem OpenVPN-Server herstellen.

Ich habe den Verdacht, dass die Freetz-Web-Oberfläche hier eine falsche Konfiguration generiert. Ich muss nämlich eine remote ip (192.168.2.2) bei ifconfig eingeben, diese sollte es allerdings nicht geben, da die IP ja über ifconfig-pool gesetzt werden sollte.

Kann ich die Konfiguration irgendwie manuell umschreiben? (TAP will ich bewusst nicht verwenden)

Hier meine server config:
# OpenVPN 2.1 Config, Tue Sep 9 19:40:19 CEST 2008
proto udp
dev tun
ca /tmp/flash/ca.crt
cert /tmp/flash/box.crt
key /tmp/flash/box.key
dh /tmp/flash/dh.pem
tls-server
tls-auth /tmp/flash/static.key 0
port 1194
mode server
ifconfig-pool 192.168.2.3 192.168.2.5
ifconfig 192.168.2.1 192.168.2.2
push "route 192.168.1.0 255.255.255.0" # LAN hinter dem Server
tun-mtu 1500
mssfix
verb 3
daemon
cipher AES-128-CBC
comp-lzo
keepalive 10 120

Der erste Client, der sich anmeldet bekommt die IP 192.168.2.2, Gateway ist bei diesem dann auf 192.168.2.1, was soweit richtig ist und auch funktioniert. Der zweite Client erhält als IP aber 192.168.2.6 und Gateway ist 192.168.2.5 und das ist meiner Meinung nach der Fehler.

Ich wäre sehr dankbar für eure Hilfe.

Danke und viele Grüße
Monty

PS: Ich verwende den SVN-trunk von freetz.
 
Zuletzt bearbeitet:
Hi,

das ist so, wie es bei einem Pool funktionieren soll, wenn man openvpn.net "glauben darf" ;-). Jeder Client bekommt sein eigenes Subnetz mit der Maske /30 (255.255.255.252):

--ifconfig-pool start-IP end-IP [netmask]
Set aside a pool of subnets to be dynamically allocated to connecting clients, similar to a DHCP server. For tun-style tunnels, each client will be given a /30 subnet (for interoperability with Windows clients) [...].

Auch das Angeben per ifconfig und dann ein Pool wird so gemacht (z.B. bei "server <net> <mask>" zu lesen).

[...] if dev tun:
ifconfig 10.8.0.1 10.8.0.2
ifconfig-pool 10.8.0.4 10.8.0.251
route 10.8.0.0 255.255.255.0
[...]

Was hättest du denn gern wie anders?

Jörg
 
Zuletzt bearbeitet:
Danke für deine Antwort.

Ich möchte eigentlich nur, dass auch der zweite Client auf das Netz hinter dem VPN und den Rechner auf den der VPN-Server läuft zugreifen kann, was leider nicht funktioniert.

Hast du eine Idee woran das liegen könnte? Vielleicht leigt es daran, dass auch der zweite Client eine Subnetzmaske von 255.255.255.255 bekommt und nicht wie von dir erwähnt 255.255.255.252. Hier scheint was nicht zu stimmen.

Gruß
Monty
 
Hi,

das ist im Prinzip so, wie es sein sollte (falls es dich interessiert: hier wird das ganz gut beschrieben), aber dennoch scheint in der erzeugten Konfig noch was zu fehlen :oops:

Wenn du mal den Haken bei "Experteneinstellungen" setzt, und dann in der Zeile mit Zusatzparametern eingibst:

Code:
push "route 192.168.2.1"
# oder eventuell sogar
push "route 192.168.2.1"; push "route-gateway 192.168.2.1"

Damit wird dann der Befehl server <net> <mask> komplett nachgebildet, denn diesen Part hatte ich vergessen:
Code:
# openvpn.net Beispiel für [I]server 10.8.0.0 255.255.255.0[/I]
if client-to-client:
  push "route 10.8.0.0 255.255.255.0"
else
  push "route 10.8.0.1"

Jörg
 
Danke für deine Bemühungen.

Leider funktioniert das auch nicht. Es liegt wahrscheinlich daran, dass dieser if - else Bereich bei mir nicht erstellt wird. Hier die openvpn.conf die vom Webinterface generiert wird:

# OpenVPN 2.1 Config, Wed Sep 10 18:27:05 CEST 2008
proto udp
dev tun
ca /tmp/flash/ca.crt
cert /tmp/flash/box.crt
key /tmp/flash/box.key
dh /tmp/flash/dh.pem
tls-server
tls-auth /tmp/flash/static.key 0
port 1194
mode server
ifconfig-pool 192.168.2.4 192.168.2.251
ifconfig 192.168.2.1 192.168.2.2
push "route 192.168.1.0 255.255.255.0"
tun-mtu 1500
mssfix
verb 3
daemon
cipher AES-128-CBC
comp-lzo
keepalive 10 120
push "route 192.168.2.1"
push "route-gateway 192.168.2.1"

Was könnte ich noch tun?

Gruß
Monty
 
Hi,

das mit dem if-else-Part ist nur eine "Pseudo-Sptrache" für die Erklärung der Funktion auf openvpn.net, die Config ist so richtig.

Wenn das so nicht geht, dann poste doch bitte mal die Client-Config sowie "ipconfig" und "route print" einmal vor und einmal nach dem Verbinden.

Jörg
 
Hallo,

hier die Dateien:

client.conf:
Code:
client
dev tun
remote xxx.dyndns.org 1194
proto udp
ca /home/monty/Downloads/Netzwerk/openvpn/easy-rsa/2.0/keys/ca.crt
cert /home/monty/Downloads/Netzwerk/openvpn/easy-rsa/2.0/keys/dm7000.crt
key /home/monty/Downloads/Netzwerk/openvpn/easy-rsa/2.0/keys/dm7000.key
comp-lzo yes
cipher AES-128-CBC
tls-remote fritzbox
tls-auth /home/monty/Downloads/Netzwerk/openvpn/easy-rsa/2.0/keys/static.key 1

ifconfig nach dem Verbinden:
Code:
eth0      Link encap:Ethernet  Hardware Adresse 00:15:c5:b3:a6:db  
          inet Adresse:192.168.0.2  Bcast:192.168.0.255  Maske:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:73281 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64248 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:27923903 (26.6 MB)  TX bytes:8399892 (8.0 MB)
          Interrupt:22 

lo        Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:16436  Metrik:1
          RX packets:3731 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3731 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:190358 (185.8 KB)  TX bytes:190358 (185.8 KB)

tun0      Link encap:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet Adresse:192.168.2.6  P-z-P:192.168.2.5  Maske:255.255.255.255
          UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:100 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

vmnet8    Link encap:Ethernet  Hardware Adresse 00:50:56:c0:00:08  
          inet Adresse:192.168.229.1  Bcast:192.168.229.255  Maske:255.255.255.0
          inet6-Adresse: fe80::250:56ff:fec0:8/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:84 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

route nach dem Verbinden:
Code:
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
192.168.2.1     192.168.2.5     255.255.255.255 UGH   0      0        0 tun0
192.168.2.5     *               255.255.255.255 UH    0      0        0 tun0
192.168.229.0   *               255.255.255.0   U     0      0        0 vmnet8
192.168.1.0     192.168.2.5     255.255.255.0   UG    0      0        0 tun0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
default         e.home          0.0.0.0         UG    0      0        0 eth0

Das sieht soweit alles richtig aus. Ich kann aber keinen der Rechner im LAN noch den OpenSVN-Server auf 192.168.2.1 erreichen. Ich denke aber vielleicht müsste doch bei 192.168.2.5 die Subnetzmaske auf 255.255.255.252 sein?

Jedenfalls vielen Dank für deine Bemühungen.

Hier noch die Einträge bei getrennter Verbindung:
route
Code:
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
192.168.229.0   *               255.255.255.0   U     0      0        0 vmnet8
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
default         e.home          0.0.0.0         UG    0      0        0 eth0

ifconfig
Code:
eth0      Link encap:Ethernet  Hardware Adresse 00:15:c5:b3:a6:db  
          inet Adresse:192.168.0.2  Bcast:192.168.0.255  Maske:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:73533 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64324 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:27942842 (26.6 MB)  TX bytes:8407497 (8.0 MB)
          Interrupt:22 

lo        Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:16436  Metrik:1
          RX packets:3731 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3731 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:190358 (185.8 KB)  TX bytes:190358 (185.8 KB)

vmnet8    Link encap:Ethernet  Hardware Adresse 00:50:56:c0:00:08  
          inet Adresse:192.168.229.1  Bcast:192.168.229.255  Maske:255.255.255.0
          inet6-Adresse: fe80::250:56ff:fec0:8/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:90 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Gruß
Monty
 
Zuletzt bearbeitet:
Moin,

erste Bitte: packe so "lange" ausgaben bitte in [noparse]
Code:
 und
[/noparse] Tags, dann wird es deutlich übersichtlicher und der Beitrag nicht so lang.

Über "comp-lzo yes" beschwert sich openvpn nicht? Der Parameter heißt eigentlich nur "comp-lzo".
Der tls-remote name ist auch o.k.? Merkwürdig finde ich auch, dass der Client überhaupt funktioniert, obwohl du kein "pull" in der Config hast. Was ist denn das für einer Version?
Dann bleibt nur noch das Log von beiden Seiten beim Verbindungsaufbau. Postest du das bitte mal (erstmal sollte "verb 5" reichen).
Ein möglicher anderer Test wäre auch, openvpn auf der Box neu zu startten, und dann den "zweiten Client" zuerst zu nutzen. Der sollte dann ja die erste IP bekommen und alles müsste gehen...

Jörg
 
Danke für deine Hinweise. Ich hab den Beitrag angepasst. Ich bekomme beim Verbindungsaufbau keinerlei Fehlermeldung. Das Log kann ich erst am Montag hereinstellen, da ich erst dann wieder testen kann.

Viele Grüße
Monty
 
Hallo,

ich hab jetzt noch ifconfig-pool-linear hinzugefügt. Jetzt geht es auf einmal!
Ich kann zwar keine Windows-Clients mehr verwenden, aber ich habe ohnehin nur Linux-Clients.

Vielen Dank, Jörg, nochmals für deine Hilfe.

Gruß
Monty
 
Hi,

freut mich, wenn es geht. Könntest du dann bitte den Titel mit einem "[gelöst]" oder so versehen, dann wird es übersichtlicher (erster Beitrag -> ändern -> erweitert)?
Nur noch als Hinweis: Du kannst mit einem aktuellen Windoof-Client das gleiche auch mit "topology subnet" hinbekommen, dann akzeptiert der das auch. So wird es übrigens auch gemacht, wenn du die "erweiterten Clienteinstellungen" nutzt, bei denen du dann pro Client eine IP fest vorgeben kannst und auch auf der Client-Seite noch Netze nutzen kannst, die dann geroutet werden...

Jörg
 
Danke für den Hinweis. Das "gelöst" habe ich hinzugefügt.

Gruß
Monty
 
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.