fb als openvpn server für mehrer windows clients

bugbugbug

Neuer User
Mitglied seit
4 Sep 2007
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
guten tag.
ich schlage mich seid einigen tagen mit dem problem rum, dass ich auf meiner 7050 nen openvpn server zum laufen bringen will, wo sich einige windowsclients verbinden können, so das diese im selben netz sind.
grund/ziel: ich möche eine alternative(autake) für mich und meine freunde zu hamachi finden via internet lan spiele spielen zu können und daten auszutauschen.
sagen wir eine testumgebung wie diese:
Code:
#PC1#    #PC2#   #PC3#
  :        :       :
#RO1#    #RO2#    #RO3#
  :        :       :
  :....(I-NET)....
Die PC1-3 sind windows maschienen RO(Router)1 ist die FB 7050, wo der vpn server läuft und RO2-3 sind irgendwelche Router.
Diese rechner sollen alle geichzeitig über den server in RO1 sich in ein VPN mittels openvpn einbinden, im gleichen netzwerk/subnetz so das alles boadcast usw. funktioniert.

könnt ihr mir weiterhelfen?
ich stehe momentan voll auf den schlauch.


schonmal vielen dank.


MFG BuG
 

MaxMuster

IPPF-Promi
Mitglied seit
1 Feb 2005
Beiträge
6,932
Punkte für Reaktionen
1
Punkte
36
Das sollte gehen, und du hast dabei zwei Möglichkeiten:
- Du machst alle anderen PCs virtuell zu Teilnehmern deines LANs, also PC2 und PC3 bekommen dann eine IP aus dem Netz bei PC1
- Du baust ein "separates" virtuelles LAN im Router auf, dann müsste sich auch PC1 einwählen, aber deine Kumpels könnten dann nicht sofort "dein ganzes Netz sehen" ;-)

Egal welchen Ansatz du wählst, du müsstest dafür den Modus "Brücke" (TAP) auswählen. Im ersten Fall würdest du die Brücke noch mit dem LAN verbinden, im zweiten Fall nicht.

Du musst dann noch "client-to-client" beim Server anwählen, damit die PCs sich auch untereinander "sehen" können. Machst du das über eine Nachladelösung (wie the-construct) oder per freetz?


Jörg
 

bugbugbug

Neuer User
Mitglied seit
4 Sep 2007
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
erstmal danke für deine teilnahme an meinem problem.

also, ich wollte die zweite möglichkeit schaffen, da die nicht unbedingt über meine öffentliche ip im netz rumhängen sollen;) wer weiß, was die da treiben^^

und ich will es mit nem pseudo image von the-construct realisieren, wobei allerdings nur die geschichte mit nem psk gemacht wird und diese methode ja nur einen client am server erlaubt. -also muss ich das irgendwie ja mit zertifikaten machen, oder?
 

MaxMuster

IPPF-Promi
Mitglied seit
1 Feb 2005
Beiträge
6,932
Punkte für Reaktionen
1
Punkte
36
Ja, wenn sich mehrere Clients gleichzeitig anmelden sollen, benötigst du Zertifikate, wie man die erstellt, steht z.B. hier im Wiki.

Wenn du die Dinge wie folgt per debug.cfg auf die Box bringst:
Code:
#Server-Certifikat:
/var/tmp/server.crt
# Server-Key
/var/tmp/server.key
# Zertifikat der CA
/var/tmp/ca.crt 	
# Diffie-Hellman Parameter
/var/tmp/dh1024.pem 
# oder bei 2048 bit  "dh2048.pem"
Könnte deine Config in etwa so lauten:

Code:
proto udp
dev tap
dev-node /var/tmp/tun
ca /var/tmp/ca.crt
cert /var/tmp/server.crt
key /var/tmp/server.key
dh /var/tmp/dh1024.pem
server 10.8.0.0 255.255.255.0
client-to-client
tun-mtu 1500
mssfix
verb 3
daemon
cipher BF-CBC
keepalive 10 120
Damit bekäme die Box die 10.8.0.1 und die PCs dann IPs ab 10.8.0.2.
Mögliche Config der Clients dazu:
Code:
remote deinserver.dyndns.org
proto udp
dev tap
tls-client
ns-cert-type server
ca "D:\\Eigene Dateien\\OpenVPN\\ca.crt"
cert "D:\\Eigene Dateien\\OpenVPN\\client.crt"
key "D:\\Eigene Dateien\\OpenVPN\\client.key"
tun-mtu 1500
mssfix
nobind
pull
verb 3
Jörg
 

CruX

Neuer User
Mitglied seit
1 Dez 2008
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Ich habe zurzeit genau das gleiche vor und habe es wie in diesem Tutorial super beschrieben verwirklicht. Das Problem ist jetzt allerdings dass sich die Clients wunderbar pingen können und sämtliche IP Aktivitäten, Windows Freigabe etc funktionieren, allerdings lassen sich Spiele wie Warcraft 3 oder Trackmania Nations Forever einfach nicht zu laufen bewegen. Das Problem liegt hier darin, dass sich Server und Client mit sog. Broadcasts finden, die, obwohl ich "tap" verwende, nicht korrekt übertragen werden.
Ich poste hier einfach mal meine configs in der Hoffnung dass mir jmd mit dem Problem helfen kann und dem Threadstarter vllt eines der größeren Probleme von vorne herein aus dem Weg schafft.
Server
Code:
# OpenVPN v2.0.5 config:
#
port 1194
proto udp
dev tap
mode server
tls-server
server 10.0.0.0 255.255.255.0
client-to-client
ca /var/tmp/vpn/ca.crt
cert /var/tmp/vpn/fritzbox.crt
key /var/tmp/vpn/fritzbox.key
dh /var/tmp/vpn/dh1024.pem
auth SHA1
cipher AES-256-CBC
ping 10
push "ping 10"
ping-restart 60
push "ping-restart 60"
Client
Code:
# OpenVPN v2.0.5 config:
#
port 1194
proto udp
dev tap
tls-client
ns-cert-type server
remote dyndnshostname 1194
ca ca.crt
cert cert.crt
key key.key
dev-node VPN
auth SHA1
cipher AES-256-CBC
pull
Grüße und Danke im Vorraus
CruX
 

Duplomonster

Neuer User
Mitglied seit
16 Okt 2008
Beiträge
120
Punkte für Reaktionen
0
Punkte
16
Hallo.
Ich denke mal, dass es daran liegt, dass nicht der ganze Netzwerkverkehr über den virtuellen Netzwerkadapter geroutet wird. Du müsstest vielleicht das Standardgateway ändern, damit sämtlicher Traffic übers VPN geht.
Im Client:
pull (haste ja schon)
Im Server:
push "route-gateway 10.0.0.1"
push "redirect-gateway def1" oder push "redirect-gateway def1 bypass-dhcp"

Damit sollte jeglicher Traffic übers VPN geroutet werden. Problem ist hierbei dann, dass die Clients während der Verbindung nicht mehr surfen könnten (sofern da nicht noch einige andere Einstellungen gemacht werden).
In meinem Netz bekommen alle Clients eine IP vom DSL-Router und aufgrund der Umleitung können sie über die WAN-IP des Routers surfen (überprüfbar bspw. mit wieistmeineip.de). Die Frage ist nur, ob du das willst. Und Zugriff auf das Netz des Router inkl. Freigaben haben die "Externen" dann auch (bei mir gewollt).
Wenn die Umleitung für den Traffic erfolgreich ist, kannst du bei den Windows-PCs mit "route print" unter Standard-Gateway das gepushte Gateway sehen (und nicht dasjenige, welches in dem Externen Netz vom DHCP vergeben wird).
Viel Erfolg beim ausprobieren. Weiß aber nicht, ob das dein Problem löst.
 

CruX

Neuer User
Mitglied seit
1 Dez 2008
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Danke für deine Antwort, allerdings kommt diese Möglichkeit leider nicht in Frage da ich meine INet-Verbindung nicht freigeben möchte(und das in dem Fall auch nicht nötig ist).
Wireshark zeigt an, dass die Broadcasts auch über den TAP Adapter laufen, allerdings scheint bei der Gegenstelle nichts mehr davon anzukommen.
Wenn ich Gegenstelle ein Spiel erstellen lasse, zeigt Wireshark ebenfalls keine einkommenden Broadcasts (das Spiel "finde" ich natürlich auch nicht).
Mit Hamachi funktioniert das ganze, die gesendeten Broadcasts sehen gleich/ähnlich aus, allerdings kommt in diesem Fall auch wieder etwas zurück(der Gegenüber "findet" mein Spiel).
Ich werde das ganze heute noch einmal testen, dieses mal versuche ich als Gegenstelle jemanden ohne Vista zu finden(ggf. ist Vista dran Schuld).

Vllt hat ja noch jmd eine Idee oder gar eine Lösung.

mfg CruX


Edit: Könnte es evtl daran liegen dass die Fritzbox OpenVPN 2.1 rc1 (rc15 ist aktuell) und die Clients OpenVPN 2.0.9 verwenden?
Edit2: Generell wäre es nicht schlecht man neue, funktionstüchtige Binaries für OpenVPN zu haben. Im Forum findet man meist nur sehr alte Versionen... Leider weiss ich selber nicht wie man die Source richtig kompiliert.
Edit3: Ich werde jetzt mal versuchen mir die OpenVPN 2.1rc13 binaries aus freetz zu extrahieren. Außerdem hab ich im Freetz trac(OpenVPN) was von
Um mit der Fritz Box ein echtes Bridging zu realisieren, ist es notwendig, den tap0-Adapter in die Liste der gebrückten Adapter der Fritz Box einzutragen. Dies geschieht wiederum in der ar7.cfg, die im oben beschriebenen Verfahren geändert werden muß. Unter dem Punkt "brinterfaces" → interfaces muß der tap0-Adapter ergänzt werden:
Also wieder:

cat /var/flash/ar7.cfg > /var/tmp/ar7.cfg
vi /var/tmp/ar7.cfg

Dann suchen nach /brinterfaces und den Eintrag "tap0" vor dem Semikolon einfügen.

Code:
brinterfaces {
                name = "lan";
                dhcp = no;
                ipaddr = 192.168.178.1;
                netmask = 255.255.255.0;
                dstipaddr = 0.0.0.0;
                interfaces = "eth0", "usbrndis", "tiwlan0", "wdsup0", 
                             "wdsdw0", "wdsdw1", "wdsdw2", "wdsdw3", "tap0";
                dhcpenabled = yes;
                dhcpstart = 192.168.178.20;
                dhcpend = 192.168.178.100;
gelesen, hat das etwas mit meinem Fall zu tun?!
Edit5: Mein Ziel ist es wohlgemerkt nicht zwei Netze zu verbinden oder zusätzliche Clients in ein bestehendes Netz einzubinden, ich will lediglich eine TAP-bridge mit eigenem IP/Subnet-Bereich für alle verbundenen Clients(Broadcasts etc sollten natürlich innerhalb dieses Netzes funktionieren).
Edit6: Ich starte mein VPN so:
Code:
mknod /var/tmp/tun c 10 200
/var/tmp/vpn/openvpn --cd /var/tmp/vpn –-daemon --config server.conf --dev-node /var/tmp/tun
Vllt liegt darin auch der Fehler
Edit7:Ich hab es mittlerweile geschafft, es funktioniert nun alles wie es soll, inkl Broadcasts.
Ich bin mir immernoch nicht sicher wo genau der Fehler lag, aber vermutlich war die installierte TAP Treiber Version zu alt o.Ä.(nachdem ich durch Zufall das Gerät neuinstallieren musste, hat alles perfekt funktioniert)
Bei Fragen zu dieser Art von VPN Lösung stehe ich gern zu Verfügung.
 
Zuletzt bearbeitet:
3CX

Statistik des Forums

Themen
235,935
Beiträge
2,068,030
Mitglieder
356,997
Neuestes Mitglied
Gotcha2112